Patent Description:
In conventional print services, printing has been performed by a user directly transmitting a print job from a client terminal such as a personal computer (PC) to a printing apparatus. Meanwhile, in recent years, there have been proposed cloud print services using cloud services provided on the Internet.

Now, a processing sequence of the conventionally known cloud printing will be described with reference to <FIG>. A printing apparatus <NUM> supports a cloud print function and a Web user interface (UI) function for operating the printing apparatus <NUM>. A client terminal <NUM> supports a cloud print client function and a Web UI client for operating the above-described Web UI. Further, a cloud print service <NUM> is the cloud print service on the Internet.

First, a user transmits a cloud print service registration request <NUM> to the printing apparatus <NUM> via the Web UI using the Web UI client on the client terminal <NUM>. Upon receiving the request <NUM>, the printing apparatus <NUM> transmits a cloud print service registration request <NUM> to the cloud print service <NUM>. Upon receiving the request <NUM>, the cloud print service <NUM> transmits a cloud print service registration request response <NUM> containing a registration Uniform Resource Locater (URL) <NUM> for registration with the cloud print service to the printing apparatus <NUM>. Upon receiving the response <NUM>, the printing apparatus <NUM> transmits a registration URL display screen information <NUM> containing the cloud print service registration URL to the client terminal <NUM> via the Web UI.

Upon receiving the screen information <NUM>, the client terminal <NUM> displays the registration URL on the Web UI client. The user operates the Web UI client on the client terminal <NUM> and accesses the displayed registration URL. Accordingly, the client terminal <NUM> transmits a cloud print service registration approval request <NUM> containing a cloud account <NUM> to the cloud print service <NUM>. Upon receiving the registration approval request <NUM>, the cloud print service <NUM> transmits a cloud print service registration approval response <NUM> to the client terminal <NUM>. The cloud account <NUM> indicates a user authorized to use the cloud print service <NUM>, and the user registers a user account with the cloud print service <NUM> in advance.

The printing apparatus <NUM> transmits a cloud print service registration check request <NUM> to the cloud print service <NUM>. Upon receiving the above-described registration check request <NUM>, the cloud print service <NUM> transmits a cloud print service registration check response <NUM> containing a cloud printer identification (ID) <NUM> to the printing apparatus <NUM>. At this stage, the printing apparatus <NUM> is in a state of being registered with the cloud print service <NUM>, and is in a state of being able to use the cloud print service.

The client terminal <NUM> transmits a print request <NUM> containing the cloud printer ID <NUM>, print data <NUM>, and the cloud account <NUM> to the cloud print service <NUM>.

The printing apparatus <NUM> transmits a print job request <NUM> to the cloud print service <NUM>.

The cloud print service <NUM> transmits a print job response <NUM> containing the print data <NUM> and the cloud account <NUM> to the printing apparatus <NUM>. The printing apparatus <NUM> prints the received print data <NUM>.

The printing apparatus <NUM> transmits the print job request <NUM> in the sequence illustrated in <FIG> when the printing apparatus <NUM> detects that a print job directed to the printing apparatus <NUM> is transmitted to the cloud print service <NUM>. The method for the detection is performed specifically by the printing apparatus <NUM> receiving an event notification from the cloud print service <NUM>.

<FIG> illustrates a processing sequence of the event notification. The printing apparatus <NUM> transmits an event acquisition request <NUM> containing the cloud printer ID <NUM> and the cloud account <NUM> to the cloud print service <NUM>. Upon receiving the event acquisition request <NUM>, the cloud print service <NUM> maintains connection. Then, when an event occurs, the cloud print service <NUM> transmits an event response <NUM> containing an event type <NUM> as a response to the event acquisition request <NUM>. The cloud print service <NUM> continues maintaining the connection even after transmitting the event response <NUM>. The cloud print service <NUM> transmits an event response to the printing apparatus <NUM> as need arises when an event occurs.

Information about the event that has occurred is set in the event type <NUM>. Examples thereof include a job reception event indicating that a print job directed to the printing apparatus <NUM> is received, and a job cancel event of canceling a job already received by the printing apparatus <NUM>. Description about the conventionally known cloud printing has been described above.

Further, conventionally, there has been proposed a system for upgrading the version of software of the printing apparatus supporting the cloud print service. <CIT> discloses that whether a printing apparatus supports the cloud print service is determined, and software such as firmware is downloaded from a software distribution server set up in advance and is installed in the printing apparatus if the printing apparatus does not support the cloud print service.

However, the version of the software of the printing apparatus may be upgraded from various perspectives such as a measure against security vulnerability, and application thereof to the printing apparatus in operation may be recommended in some cases. In this regard, <CIT> determines whether to update the software based on whether the present software supports the cloud print service, and therefore leaves room for improvement with respect to the determination criteria thereof.

Document <CIT> discloses a technique for performing software version update at a printing apparatus using a remote download server and an application server.

According to a first aspect of the present invention, there is provided a printing apparatus as specified in claims <NUM> to <NUM>. According to a second aspect of the present invention, there is provided a control method for a printing apparatus as specified in claim <NUM>.

The dependent claims define particular embodiments.

In the following description, embodiments for implementing the present invention will be described with reference to the drawings. However, the embodiments that will be described below are not intended to limit the present invention defined in the claims, and further, not all combinations of features that will be described in the embodiments are necessarily essential to the solution of the present invention. Each of the embodiments of the present invention described below can be implemented solely or as a combination of a plurality of the embodiments or features thereof where necessary or where the combination of elements or features from individual embodiments in a single embodiment is beneficial.

Further, the following embodiments are directed to providing a mechanism to, with respect to software of a printing apparatus supporting a cloud print service, perform an appropriate software update in accordance with an administrator's instruction from a cloud print management server on the printing apparatus.

First, <FIG> is a block diagram illustrating a hardware configuration of a printing apparatus <NUM> according to an embodiment of the present invention. A control unit <NUM> including a central processing unit (CPU) <NUM> controls operation of the entire printing apparatus <NUM>. The CPU <NUM> reads a control program stored in a read only memory (ROM) <NUM> and performs various kinds of control such as communication control. A random access memory (RAM) <NUM> is a main memory and is used as a temporary storage area such as a work area of the CPU <NUM>. A hard disk drive (HDD) <NUM> stores data, various kinds of programs, or various kinds of information tables therein. The programs stored in the printing apparatus <NUM>, read into the memory, and executed by the CPU <NUM> include programs for implementing processing illustrated in sequences and flowcharts that will be described below.

A printer interface (I/F) <NUM> serves as an interface that outputs an image signal to a printer <NUM> (a printer engine). Further, a scanner I/F <NUM> serves as an interface that inputs a read image signal from a scanner <NUM> (a scanner engine). The CPU <NUM> processes the image signal input from the scanner I/F <NUM> and outputs the image signal to the printer I/F <NUM> as a recording image signal. An operation panel I/F <NUM> connects an operation panel <NUM> and the control unit <NUM> to each other. The operation panel <NUM> is equipped with a liquid crystal display unit having a touch panel function, a keyboard, and the like. A network I/F <NUM> transmits information to an external terminal such as a client terminal <NUM> or a cloud print service <NUM>, or receives various kinds of information from the external apparatus. Each block in the control unit <NUM> is connected via a system bus <NUM>.

<FIG> is a block diagram illustrating an example of a hardware configuration of a server apparatus in which the cloud print service <NUM> according to the present embodiment is executed. The cloud print service <NUM> may be a type of service provided as a virtual server using part of hardware resources provided by a plurality of server apparatuses including a data center and the like. Further, a software management server (SW management server) <NUM> also has the hardware configuration illustrated in <FIG>.

A control unit <NUM> including a CPU <NUM> controls operation of the entire cloud print service <NUM>. The CPU <NUM> reads a control program stored in a ROM <NUM> and performs various kinds of control such as communication control. A RAM <NUM> is a main memory and is used as a temporary storage area such as a work area of the CPU <NUM>. An HDD <NUM> stores data, various kinds of programs, or various kinds of information tables therein. The programs stored in the server apparatus as the cloud print service <NUM> or the SW management server <NUM>, read into the memory, and executed by the CPU <NUM> include programs for implementing the processing illustrated in the sequences that will be described below. A network I/F <NUM> transmits information to an external terminal such as the client terminal <NUM> or the printing apparatus <NUM>, or receives various kinds of information from the external apparatuses.

Each block in the control unit <NUM> is connected via a system bus <NUM>.

<FIG> illustrates a software configuration of the printing apparatus <NUM>. The CPU <NUM> included in the printing apparatus <NUM> executes the control program, by which each functional unit illustrated in <FIG> is implemented.

An operation control unit <NUM> controls the operation panel <NUM>. The operation control unit <NUM> displays an operation menu on the operation panel <NUM> and waits for an input of an instruction from a user, notifies another functional unit of the content of the received instruction, and displays an instruction result on the operation panel <NUM>.

A cloud service registration control unit <NUM> analyzes a cloud print service registration request <NUM> received from the client terminal <NUM>, and transmits a cloud print service registration request <NUM> to the cloud print service <NUM>. By the operation, the cloud service registration control unit <NUM> controls cloud print service registration processing.

A cloud print control unit <NUM> controls processing for transferring print data <NUM> received from the cloud print service <NUM> together with a print instruction to an image processing unit <NUM>.

An event control unit <NUM> controls processing for transmitting an event and receiving an event between the printing apparatus <NUM> and the cloud print service <NUM>. A device information control unit <NUM> controls processing for managing device information of the printing apparatus <NUM> and notifying the cloud print service <NUM> of the device information.

A storage unit <NUM> stores specified data in the ROM <NUM> or the HDD <NUM> or reads stored data therefrom according to an instruction from another functional unit. Examples of the data managed by the storage unit <NUM> include user management information of the printing apparatus <NUM>.

The image processing unit <NUM> performs processing for rendering a print job into image data for printing. A print processing unit <NUM> performs processing for transmitting the image data rendered by the image processing unit <NUM> to the printer <NUM> via the printer I/F <NUM> as an image signal, and printing it.

A user account control unit <NUM> manages user account information stored in the storage unit <NUM>.

A software (SW) update processing unit <NUM> controls processing for updating software such as firmware and an application of the printing apparatus <NUM>.

<FIG> illustrates a software configuration of a cloud server on which the cloud print service <NUM> is executed. The CPU <NUM> included in the cloud server executes the control program, by which each functional unit illustrated in <FIG> is implemented.

A Web UI control unit <NUM> controls processing for carrying out Web Communication via the network I/F <NUM> and providing a UI on a browser or the like executed on a computer of the user. A Web UI content generation unit <NUM> controls processing for generating a Web UI content to be transmitted by the Web UI control unit <NUM>.

A cloud service registration control unit <NUM> performs processing for receiving the cloud print service registration request <NUM> from the printing apparatus <NUM> and registering the printing apparatus <NUM> with the cloud print service <NUM>. A cloud print control unit <NUM> controls processing for receiving a print request <NUM> from the client terminal <NUM> and transmitting the print data <NUM> contained in the print request <NUM> to the printing apparatus <NUM>. An event control unit <NUM> performs processing for receiving an event acquisition request <NUM> from the printing apparatus <NUM> and transmitting an event response <NUM> or <NUM> depending on whether an event has occurred.

A device management unit <NUM> controls processing for managing a plurality of printing apparatuses <NUM> registered with the cloud print service <NUM>. More specifically, the device management unit <NUM> stores and manages information such as an SW version of each printing apparatus.

A storage unit <NUM> stores specified data in the ROM <NUM> or the HDD <NUM> or reads stored data therefrom according to an instruction from another functional unit. Examples of the data managed by the storage unit <NUM> include the print data <NUM>, event information, and information about the registered printing apparatus <NUM>.

An SW version management unit <NUM> manages whether a newer SW version than the SW version in operation is released based on the information about the printing apparatus <NUM> stored in the storage unit <NUM>. The Web UI content generation unit <NUM> controls whether to display an SW update button based on version information managed by the SW version management unit <NUM>. A user information control unit <NUM> performs control of managing a user and authorization thereof, and determining whether information about the user instructing the cloud print service <NUM> to update the SW, which is transmitted from the printing apparatus <NUM>, is a user authorized to update the SW.

<FIG> illustrates an example of a network configuration according to the present embodiment.

The network configuration illustrated in <FIG> includes a local area network (LAN) <NUM>. The printing apparatus <NUM> communicates with a SW management server <NUM> via the LAN <NUM>. The SW management server <NUM> is a management server that manages information about the firmware and the application of the printing apparatus <NUM>.

The managed information about the firmware includes information about various kinds of firmware, such as a measure against security vulnerability, a performance improvement of network functionality, and an addition of a function, besides firmware for supporting, for example, a version upgrade of the cloud print service <NUM>. The network configuration illustrated in <FIG> includes an Internet <NUM>.

The cloud print service <NUM> is a print system for providing, for example, a print service implemented on one or more servers present on a network such as the Internet <NUM>. The LAN <NUM> and the Internet <NUM> are connected via a firewall <NUM>. The present embodiment may be configured in such a manner that the SW management server <NUM> is disposed on the Internet <NUM>. Alternatively, the present embodiment may be configured in such a manner that the SW management server <NUM> and the cloud print service <NUM> are provided on the same server.

<FIG> is a sequence diagram from a startup of the printing apparatus <NUM> until an update of the software according to the present embodiment.

The printing apparatus <NUM> transmits a device information notification <NUM> to the cloud print service <NUM> when being started up (for example, when being powered on or returns from a sleep). The above-described device information notification <NUM> contains all pieces of device information of the printing apparatus <NUM>. The above-described device information contains the name and the version information of the software installed in the printing apparatus <NUM>.

The printing apparatus <NUM> transmits a latest SW check request <NUM> to the SW management server <NUM>. The SW management server <NUM> transmits a latest SW check response <NUM> to the printing apparatus <NUM> as a response to the above-described request <NUM>.

The printing apparatus <NUM> receives the latest SW check response <NUM>, and transmits latest SW information acquired from the response to the cloud print service <NUM> as a device information notification <NUM>. The latest SW information contains information such as the name and the version of the SW applicable to the printing apparatus <NUM>.

The cloud print service <NUM> reflects the received latest SW information in a display on a management screen provided by the cloud print service <NUM>. In the present embodiment, an SW update operation <NUM> on the above-described management screen by the user is received thereon.

The printing apparatus <NUM> transmits an event request <NUM> to the cloud print service <NUM>. The event request <NUM> may be regularly issued or may be issued at predetermined frequency during a predetermined period after the device information notification <NUM>. The cloud print service <NUM> transmits an event response <NUM> to the printing apparatus <NUM> as a response to the event request <NUM>. In a case where the user instructs the cloud print service <NUM> to update the SW by the above-described SW update operation <NUM>, the event response <NUM> contains an SW update event based on the operation.

The printing apparatus <NUM> checks the content of the above-described received event response <NUM>, and transmits an SW update information request <NUM> to the cloud print service <NUM> if detecting the SW update event. The cloud print service <NUM> transmits an SW update information response <NUM> to the printing apparatus <NUM> as a response to the request <NUM>. The SW update information response <NUM> contains the name and the version of the SW to update.

The printing apparatus <NUM> receives the SW update information response <NUM>, and transmits an SW acquisition request <NUM> to the SW management server <NUM> based on SW update information contained in the response <NUM>. The SW management server <NUM> transmits an SW acquisition response <NUM> to the printing apparatus <NUM> as a response thereto. The SW acquisition response <NUM> contains an SW identified with the name and the version specified by the printing apparatus <NUM> in the SW acquisition request <NUM>.

The printing apparatus <NUM> transmits a device information notification <NUM> to the cloud print service <NUM>. The device information notification <NUM> contains a device status, and "Updating" (update ongoing) is set in the device status.

The printing apparatus <NUM> performs an update (<NUM>) of the software of the printing apparatus <NUM> with the software received via the SW acquisition response <NUM>. The update processing is accompanied by a restart <NUM> of the printing apparatus <NUM>. As a result of the restart <NUM>, the printing apparatus <NUM> operates using the updated software. After the restart <NUM>, the printing apparatus <NUM> transmits a device information notification <NUM> to the cloud print service <NUM>. The device information notification <NUM> contains the device status, and "Ready" is set in the device status. The status "Ready" here serves as information indicating that the software update processing is completed and the printing apparatus <NUM> returns to a normal state.

In the following description, the present embodiment will be described citing Internet Printing Protocol (IPP) defined in Request for Comments (RFC) <NUM> and Printer Working Group (PWG) <NUM> as an example of a communication protocol between the printing apparatus <NUM> and the cloud print service <NUM>. The printing apparatus <NUM> and the SW management server <NUM> communicate with each other using, for example, Hypertext Transfer Protocol (HTTP).

<FIG> illustrates software information transmitted from the printing apparatus <NUM> according to the present embodiment. The software information described here is information transmitted in the device information notification <NUM>.

In IPP, the device information notification is carried out using an operation Update-Output-Device-Attributes. Examples of IPP attributes transmitted using Update-Output-Device-Attributes include printer-firmware-name <NUM>, which indicates the software name, and printer-firmware-version <NUM>, which indicates the software version. In the present embodiment, values Main Controller and <NUM> are set in these IPP attributes, respectively. A plurality of software applications may be present. In this case, a plurality of values is set in each of the printer-firmware-name <NUM> and the printer-firmware-version <NUM>.

<FIG> illustrates latest software information <NUM> transmitted from the printing apparatus <NUM> according to the present embodiment. The latest software information <NUM> described here is the information transmitted via the device information notification <NUM>.

One of the IPP attributes transmitted using Update-Output-Device-Attributes is printer-firmware-latest-version <NUM>, which indicates the latest software version. In the present embodiment, the latest software information <NUM> indicates that the version of Main Controller currently running on the printing apparatus <NUM> is <NUM>, and the latest version of Main Controller is <NUM>.

<FIG> illustrates a management screen of the cloud print service <NUM> according to the present embodiment. The above-described SW update operation <NUM> illustrated in <FIG> is received on one screen of the management screen provided by the cloud print service <NUM>.

The management screen is displayed by the user accessing the cloud print service <NUM> via the browser or the like. The information displayed here is information generated by the information transmitted from the printing apparatus <NUM> using Update-Output-Device-Attributes and the information managed by the cloud print service <NUM> merging together.

A management screen <NUM> is displayed on the cloud print service <NUM> when the software of the printing apparatus <NUM> is software of the latest version. The printer name is displayed in <NUM>. The printer ID for uniquely identifying the printing apparatus <NUM> registered with the cloud print service <NUM> is displayed in <NUM>. The model name of the printing apparatus <NUM> is displayed in <NUM>. The status of the printing apparatus <NUM> is displayed in <NUM>. The status of the printing apparatus <NUM>, Ready, indicates that the printing apparatus <NUM> is in a state ready for printing. The date and time of registration of the printing apparatus <NUM> with the cloud print service <NUM> is displayed in <NUM>. The software name of the printing apparatus <NUM> is displayed in <NUM>. The software version of the printing apparatus <NUM> is displayed in <NUM>. The latest version of the software indicated in the software name <NUM> is displayed in <NUM>.

A management screen <NUM> is also displayed on the cloud print service <NUM> similarly to the management screen <NUM>, but is a management screen when a newer version of the software than that of the software of the printing apparatus <NUM> is available. The software version of the printing apparatus <NUM> displayed in a software version <NUM> is <NUM>.

On the other hand, the latest software version displayed in a latest version <NUM> is <NUM>.

When a newer version of the software than that of the software of the printing apparatus <NUM> is available, an Update Firmware button <NUM> is displayed. By the user issuing an instruction by operating the button <NUM>, the SW update operation <NUM> illustrated in <FIG> is implemented, and the update of the software of the printing apparatus <NUM> is performed.

<FIG> illustrates a screen when the software is updated on the management screen of the cloud print service <NUM> according to the present embodiment.

When the Update Firmware button <NUM> is pressed on the management screen <NUM> illustrated in <FIG>, the printing apparatus <NUM> starts the software update processing, and transmits the device information notification <NUM> to the cloud print service <NUM>. Upon receiving the device information notification <NUM>, the cloud print service <NUM> displays a management screen <NUM> on the management screen. The status of the printer is set to Updating in a status <NUM>, indicating that the printing apparatus <NUM> is currently in a software updating state.

Upon completing the update of the software of the printer, the printing apparatus <NUM> transmits the device information notification <NUM> to the cloud print service <NUM>. Upon receiving the device information notification <NUM>, the cloud print service <NUM> displays a management screen <NUM> on the management screen. The status of the printer is changed to Ready in a status <NUM>, indicating that the printing apparatus <NUM> is in the state ready for printing. Further, the version of the printer is changed to <NUM> as in a software version <NUM>, indicating that the software is updated to the latest version.

<FIG> is a flowchart illustrating processing when the printing apparatus <NUM> checks for the latest software.

In step S1101, the SW update processing unit <NUM> of the printing apparatus <NUM> transmits the latest SW check request <NUM> to the SW management server <NUM>. In step S1102, the SW update processing unit <NUM> of the printing apparatus <NUM> receives the latest SW check response <NUM> from the SW management server <NUM>. In step S1103, the SW update processing unit <NUM> of the printing apparatus <NUM> acquires the latest software information contained in the above-described response <NUM>. The latest software information contains various kinds of information, such as identification information such as the name of the software, the type of the software, and the version information of the software.

In step S1104, the SW update processing unit <NUM> of the printing apparatus <NUM> determines whether the software version contained in the latest software information is newer than the software version of the printing apparatus <NUM>. If the software version contained in the latest software information is not newer than the software version of the printing apparatus <NUM> (NO in step S1104), in step S1105, the printing apparatus <NUM> waits for a predetermined time. After that, the processing is repeated from step S1101 again. If the software version contained in the latest software information is newer than the software version of the printing apparatus <NUM> (YES in step S1104), in step S1106, the device information control unit <NUM> of the printing apparatus <NUM> transmits the latest software information described with reference to <FIG> to the cloud print service <NUM> using Update-Output-Device-Attributes, which is an operation of IPP.

Then, in step S <NUM>, the printing apparatus <NUM> waits for the predetermined time. After that, the processing is repeated from step S1101 again.

<FIG> is a flowchart illustrating processing when the printing apparatus <NUM> performs event processing. The printing apparatus <NUM> implements event reception from the cloud print service <NUM> by maintaining the communication connection as described with reference to <FIG>.

In step S1201, the event control unit <NUM> of the printing apparatus <NUM> transmits a Get-Notifications request, which is an operation of IPP, to the cloud print service <NUM>. The event control unit <NUM> of the printing apparatus <NUM> maintains the connection used at the time of the above-described transmission. In step S1202, the event control unit <NUM> waits for an event of receiving a Get-Notifications response.

In step S1203, the event control unit <NUM> of the printing apparatus <NUM> receives the Get-Notifications response when the reception event occurs. In step S1204, the event control unit <NUM> of the printing apparatus <NUM> determines the type of the received event.

If the event type is job reception (JOB RECEPTION in step S1204), in step S1205, the cloud print control unit <NUM> of the printing apparatus <NUM> performs job reception processing. When receiving a job from the cloud print service <NUM>, the printing apparatus <NUM> performs print processing based on the content of the job.

If the event type is job cancel (JOB CANCEL in step S1204), in step S1206, the cloud print control unit <NUM> of the printing apparatus <NUM> performs job cancel processing.

If the event type is an SW update (SW UPDATE in step S1204), in step S1207, the SW update processing unit <NUM> of the printing apparatus <NUM> performs the software update processing. The processing will be described in detail with reference to <FIG>.

The event reception may be implemented by a method that conducts polling for an event instead of the method that maintains the communication connection.

<FIG> is a flowchart illustrating details of the software update processing by the printing apparatus <NUM>. The software update processing that will be described here is an elaboration of the processing in step S1207 in the flowchart illustrated in <FIG>.

In step S1301, the SW update processing unit <NUM> of the printing apparatus <NUM> transmits an Acknowledge-Update-Firmware request, which is an operation of IPP, to the cloud print service <NUM>, and requests detailed information for the SW update. In step S1302, the SW update processing unit <NUM> of the printing apparatus <NUM> receives SW update information that will be described with reference to <FIG> from the cloud print service <NUM> as a response to the Acknowledge-Update-Firmware request.

In step S1303, the SW update processing unit <NUM> of the printing apparatus <NUM> transmits the SW acquisition request <NUM> to the SW management server <NUM>. At this time, the SW update processing unit <NUM> requests the software by specifying the identification information (the name or the like) and the version information of the software based on the SW update information acquired in step S1302. In step S1304, the SW update processing unit <NUM> of the printing apparatus <NUM> receives the software specified in step S1303 from the SW management server <NUM>.

In step S1305, the device information control unit <NUM> of the printing apparatus <NUM> transmits an Update-Output-Device-Attributes request, which is an operation of IPP, to the cloud print service <NUM>. The Update-Output-Device-Attributes request contains the device status as the IPP attribute, and the value thereof is set to "Updating".

In step S1306, the SW update processing unit <NUM> of the printing apparatus <NUM> updates the software of the printing apparatus <NUM> with the software acquired in step S1304. When the update is completed, in step S1307, the SW update processing unit <NUM> of the printing apparatus <NUM> restarts the printing apparatus <NUM>. After the restart is completed, in step S1308, the device information control unit <NUM> of the printing apparatus <NUM> transmits an Update-Output-Device-Attributes request to the cloud print service <NUM>. The Update-Output-Device-Attributes request contains the device status as the IPP attribute, and the value thereof is set to "Ready".

Now, user authentication can be conducted by two methods.

In step S1301, the SW update processing unit <NUM> of the printing apparatus <NUM> transmits the Acknowledge-Update-Firmware request while adding requesting-user-uri thereto as user information. Then, the cloud print service <NUM> determines whether the user information that the cloud print service <NUM> is notified of is about a user authorized to update the SW in the cloud print service <NUM>. At this time, if the user is authorized to update the SW, the cloud print service <NUM> returns an Acknowledge-Update-Firmware response as described above. If the user is not authorized to update the SW, the cloud print service <NUM> returns a client-error-not-authorized as an error response to the above-described request.

In step S1302, the cloud print service <NUM> transmits the Acknowledge-Update-Firmware response while adding update-operating-user-uri thereto as the user information. Then, the printing apparatus <NUM> determines whether the user information that the printing apparatus <NUM> is notified of is about a user authorized to update the SW in the printing apparatus <NUM>. At this time, if the user is authorized to update the SW, in step S <NUM>, the printing apparatus <NUM> continues the SW update processing. If the user is not authorized to update the SW, the printing apparatus <NUM> cancels the SW update processing and ends the processing.

<FIG> is a flowchart illustrating processing when the management screen is displayed on the cloud print service <NUM>. The management screen refers to the management screen described with reference to <FIG>, <FIG>.

In step S1401, the cloud print service <NUM> acquires the information about the specified printing apparatus from printer information managed by the cloud print service <NUM>. In step S1402, the cloud print service <NUM> compares the versions of the software of the specified printing apparatus and the latest software. In step S1403, if the latest software is newer than the software of the printing apparatus as a result of the comparison between the versions of the software of the specified printing apparatus and the latest software in step S1403 (YES in step S1403), the cloud print service <NUM> performs the processing in step S1404. If not (NO in step S1403), in step S1406, the cloud print service <NUM> displays the printer information on the management screen.

In step S1404, the cloud print service <NUM> determines whether the status of the specified printing apparatus is "Updating". If the status of the printing apparatus is "Updating" (YES in step S1404), in step S1406, the cloud print service <NUM> displays the printer information on the management screen. If the status of the printing apparatus is not "Updating" (NO in step S1404), in step S1405, the cloud print service <NUM> displays the printer information on the management screen and also displays a software update button at the same time.

<FIG> illustrates the SW update information transmitted from the cloud print service <NUM> to the printing apparatus <NUM>. The present information is the information transmitted from the cloud print service <NUM> to the printing apparatus <NUM> as the response to the Acknowledge-Update-Firmware request described with reference to <FIG>.

An item <NUM> indicates the time at which the software is to be updated. The item <NUM> set to "Now" means that the software is to be updated immediately. The software can also be updated at a freely-selected time by setting the date and time. An item <NUM> indicates the name of the software to update. An item <NUM> indicates the version to which the software is to be updated.

One embodiment of the present invention can also include an apparatus or a system having a configuration that is a combination of configurations according to the above-described embodiments as appropriate, and a method therefor.

Herein, one embodiment of the present invention is an apparatus or a system serving as an entity that executes at least one software application (program) capable of implementing a function of the above-described embodiments. Further, one embodiment of the present invention is a method for realizing the above-described embodiments executed on the apparatus or the system. The program is supplied to the system or the apparatus via a network or various kinds of storage media, and the program is read into at least one memory and is executed by at least one computer (a CPU, a micro processing unit (MPU), or the like) of the system or the apparatus. In other words, one embodiment of the present invention includes the program, or the various kinds of computer-readable storage media storing the program. Further, one embodiment of the present invention can also be realized by a circuit (for example, an application specific integrated circuit (ASIC)) capable of implementing a function of the above-described embodiments.

Claim 1:
A printing apparatus (<NUM>) configured to communicate with a print system (<NUM>) configured to provide a cloud print service via a network (<NUM>, <NUM>), the printing apparatus (<NUM>) comprising:
first acquisition means (<NUM>, <NUM>) for acquiring latest software information about the name and the version information of the software installed in the printing apparatus from a management server (<NUM>) configured to manage software of the printing apparatus (<NUM>);
notification means (<NUM>, <NUM>) for transmitting the acquired information about the software as a device information notification (<NUM>) to the print system (<NUM>);
request means (<NUM>) for issuing an event request (<NUM>) to the print system (<NUM>);
second acquisition means (<NUM>, <NUM>) for acquiring from the print system the name and the version of the software to update on the printing apparatus (<NUM>, <NUM>) in a case where a response received from the event request indicates a software update event corresponding to a user instructing the cloud print service to update said software installed in the printing apparatus;
print control means (<NUM>) for performing job processing in a case where the response received from the event request is a job processing event (<NUM>); and
update means (<NUM>, <NUM>) for requesting the software to update from the management server (<NUM>) based on the information acquired by the second acquisition means.