US9894149B2 - Image processing apparatus, controlling method of image processing apparatus, and storage medium - Google Patents

Image processing apparatus, controlling method of image processing apparatus, and storage medium Download PDF

Info

Publication number
US9894149B2
US9894149B2 US15/205,106 US201615205106A US9894149B2 US 9894149 B2 US9894149 B2 US 9894149B2 US 201615205106 A US201615205106 A US 201615205106A US 9894149 B2 US9894149 B2 US 9894149B2
Authority
US
United States
Prior art keywords
application
state
update
processing apparatus
image processing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
US15/205,106
Other versions
US20170017438A1 (en
Inventor
Masanori Tsuboi
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Assigned to CANON KABUSHIKI KAISHA reassignment CANON KABUSHIKI KAISHA ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: TSUBOI, MASANORI
Publication of US20170017438A1 publication Critical patent/US20170017438A1/en
Application granted granted Critical
Publication of US9894149B2 publication Critical patent/US9894149B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/606Protecting data by securing the transmission between two devices or processes
    • G06F21/608Secure printing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00962Input arrangements for operating instructions or parameters, e.g. updating internal software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2101Auditing as a secondary aspect

Definitions

  • the present invention relates to an image processing apparatus, a controlling method of the image processing apparatus, and a storage medium.
  • an image processing apparatus that is an example of information processing apparatuses placed in an office
  • a system in which an application for enhancing function (hereinafter, referred to as “application”) is installed and the function of the image processing apparatus can dynamically be enhanced
  • applications an application for enhancing function
  • Examples of this type of system include MEAP (registered trademark) of Canon Inc. and the like.
  • Japanese Patent Application Laid-Open No. 2004-234591 discloses a method in which an application list that is requested to be obtained is transmitted from a terminal device to an application distribution server, an application to be updated is specified on the application distribution server side based on the information, and it is distributed.
  • the application cannot be updated if the application list that is requested to be obtained is not transmitted from the terminal device to the application server due to the conditions of security policy and the like, or if the application list cannot be transmitted. That is, updating the application is impossible if the information necessary for the update cannot be transmitted from the terminal device side.
  • the present invention provides an image processing apparatus that can update an application even if information necessary for an update cannot be transmitted to a server from an image processing apparatus side.
  • An image processing apparatus of the present invention comprises: an acquisition unit that is configured to acquire information of an installed application if reservation information acquired from a server is reservation information of a distributed application; a first download unit that is configured to download the distributed application if the installed application matches the distributed application; a first update unit that is configured to update the installed application by using the distributed application that has been downloaded by the first download unit; a second download unit that is configured to download firmware if the acquired reservation information is reservation information of the firmware; and a second update unit that is configured to execute an update using the firmware that has been downloaded by the download unit, wherein, if a state of the installed application before an update using the distributed application is a stop state, the first update unit does not set the state of the application to a start state, in order to make a state of the application after an update using the distributed application a stop state, and wherein, if a state of the installed application before an update using the distributed application is a start state, the first update unit sets the state of the application after an update using the distributed application to a start state
  • the present invention it is possible to provide an image processing apparatus that can update an application even if information necessary for an update cannot be transmitted to a server from an image processing apparatus side. Therefore, it is possible to reliably execute the update of the application without transmitting application information that has been installed in the image processing apparatus to a content management server.
  • FIG. 1 is a diagram illustrating a configuration of a network system.
  • FIG. 2 is a diagram illustrating a hardware configuration of an image processing apparatus.
  • FIG. 3 is a diagram illustrating a hardware configuration of a content management server.
  • FIG. 4 is a diagram illustrating a hardware configuration of the content distribution server.
  • FIG. 5 is a diagram illustrating a hardware configuration of a monitoring server.
  • FIG. 6 is a diagram illustrating a software configuration of the image processing apparatus.
  • FIG. 7 is a diagram illustrating a software configuration of the content management server.
  • FIG. 8 is a diagram illustrating a software configuration of the content distribution server.
  • FIG. 9 is a diagram illustrating a software configuration of the monitoring server.
  • FIG. 10 is a flowchart illustrating a process from reservation to update.
  • FIG. 11 is a flowchart of a process that performs an update of the application.
  • FIG. 12 is a table illustrating a combination pattern of a state of license and a state of application.
  • FIG. 13 is a flowchart illustrating an update process according to a second embodiment.
  • FIG. 14 is a flowchart illustrating an update process according to a second embodiment.
  • FIG. 1 illustrates a configuration of a network system including an information processing apparatus (image processing apparatus) according to the present embodiment.
  • the system includes an image processing apparatus 101 , a content management server 102 , a content distribution server 103 , and a monitoring server 104 , which can communicate each other via a network 105 .
  • the image processing apparatus 101 is an example of information processing apparatuses in which an update apparatus operates.
  • the image processing apparatus 101 according to the present embodiment combines functions of a printer, a scanner, a copy machine, a facsimile, and the like, as one apparatus. Additionally, the image processing apparatus 101 has a unique individual number assigned to the image processing apparatus.
  • the content management server 102 distributes firmware or applications to the image processing apparatus 101 . Additionally, it holds, for example, the individual number, type, and version information of the image processing apparatus 101 , and performs their management. Further, it accepts a distribution reservation from the monitoring server 104 to the image processing apparatus 101 , which will be described below.
  • the application to be distributed itself is saved in the content distribution server 103 , and accordingly its URL is held.
  • the content distribution server 103 distributes the firmware to the image processing apparatus 101 , and holds the application to be distributed to the image processing apparatus 101 .
  • the monitoring server 104 collects and accumulates the information when an error occurs in the image processing apparatus 101 or when toner is out. Additionally, it performs the distribution reservations for the firmware and the application to the image processing apparatus 101 , with respect to the content management server 102 .
  • FIG. 2 illustrates a hardware configuration of the image processing apparatus 101 .
  • a CPU Central Processing Unit
  • a ROM Read Only Memory
  • a RAM Random Access Memory
  • the CPU 201 loads a program stored in the ROM 202 to the RAM 203 and executes the program.
  • This RAM 203 is configured by FRAM (registered trademark) and SRAM that can hold the content that has been stored even after turning off the power, and DRAM in which the stored content is deleted after turning off the power.
  • a HDD (Hard Disk Drive) 204 is a unit that stores various programs.
  • the CPU 201 loads a program that has been stored in the HDD 204 to the RAM 203 and executes it. Additionally, it is also possible to save the data of the RAM 203 in the HDD 204 .
  • An operation unit 205 is a unit for operating the image processing apparatus 101 .
  • a display unit 206 is a unit for displaying a UI of the image processing apparatus 101 .
  • a printing unit 207 is a unit that can print various image data including a raster image on a recording medium and transmit it to an external device.
  • a scanner unit 208 is a unit that reads a document placed on a scanning table and generates image data.
  • a network unit 209 is a unit for connecting to the content management server 102 , the content distribution server 103 , and the monitoring server 104 . Each unit of the image processing apparatus 101 described above can transmit and receive data via a bus 210 .
  • FIG. 3 is a diagram illustrating a hardware configuration of the content management server 102 . Because a CPU 301 through a display unit 306 and a bus 308 are similar to the CPU 201 through the display unit 206 , and the bus 210 shown in FIG. 2 , the description thereof will be omitted.
  • a network unit 307 is a unit for connecting to the image processing apparatus 101 , the content distribution server 103 , and the monitoring server 104 .
  • FIG. 4 illustrates a hardware configuration of the content distribution server 103 . Because a CPU 401 through a display unit 406 and a bus 408 are similar to the CPU 301 through the display unit 306 , and the bus 308 shown in FIG. 3 , the description thereof will be omitted.
  • a network unit 407 is a unit for connecting to the image processing apparatus 101 , the content management server 102 , and the monitoring server 104 .
  • FIG. 5 illustrates a hardware configuration of the monitoring server 104 . Because a CPU 501 through a display unit 506 and a bus 508 are similar to the CPU 301 through the display unit 306 , and the bus 308 as shown in FIG. 3 , the description thereof will be omitted.
  • a network unit (acquisition unit) 507 is a unit for connecting to the image processing apparatus 101 , the content management server 102 , and the content distribution server 103 .
  • FIG. 6 illustrates a software configuration of the image processing apparatus 101 .
  • Programs that realize each configuration unit according to the present embodiment are stored on the HDD 204 . Subsequently, those programs are loaded into the RAM 203 , executed by the CPU 201 , and each component is consequently realized.
  • a screen control unit 601 performs control of the menu display displayed on the display unit 206 .
  • An information processing unit 602 performs temporary saving of information, calculation, and the like.
  • a DB processing unit 603 refers to DB information that is held in the image processing apparatus 101 and registers it.
  • An application management unit 604 manages, for example, the identifier, version, and the start and stop of the installed application.
  • a license management unit 605 manages license information such as the expiration period of the application, a decryption key for the application, and the like.
  • a reservation information acquisition unit 606 acquires the reservation information set in the content management server 102 .
  • An update condition confirmation unit 607 determines whether or not the update of the application is required.
  • An error notification unit (notification unit) 608 notifies the content management server 102 about error notifications.
  • An application download unit (first download unit) 609 downloads the application.
  • An application installation unit (first update unit) 610 installs (updates) the application.
  • a firmware download unit (second download unit) 611 downloads the firmware.
  • a firmware update unit (second update unit) 612 updates the firmware. Note that, in the present embodiment, although the download and update of the application and the firmware are performed by individual configurations, the download and update of the application and firmware may by executed by one download unit and one upload unit.
  • FIG. 7 illustrates a software configuration of the content management server 102 .
  • Programs that realize each configuration unit according to the present embodiment are stored in the HDD 304 . Subsequently, those programs are loaded into the RAM 303 , executed by the CPU 301 , and consequently each configuration unit is realized.
  • a screen control unit 701 controls the menu display that performs distribution reservation of the firmware and the application.
  • An information processing unit 702 performs the temporary saving of information, calculation, and the like.
  • a DB processing unit 703 refers to the DB information held in the content management server 102 and registers it.
  • An application management unit 704 has a function that registers the application, and manages application information such as the identifier, the version, and the like of the application. Additionally, it manages the URL of the content distribution server 103 that holds the application body.
  • the firmware management unit 705 has a function that registers the firmware, manages firmware information including the identifier, the version and the like of the firmware, and manages the URL of the content distribution server 103 that stores the firmware body.
  • FIG. 8 illustrates a software configuration of the content distribution server 103 .
  • Programs that realize each configuration unit according to the present embodiment are stored in the HDD 404 . Subsequently, those programs are loaded into the RAM 403 , executed by the CPU 401 , and consequently each configuration unit is realized.
  • a screen control unit 801 controls the management screen display.
  • An information processing unit 802 performs the temporary saving of information, calculation, and the like.
  • a DB processing unit 803 refers to the DB information that is held in the content distribution server 103 and registers it.
  • An application registration unit 804 registers the application body.
  • a firmware registration unit 805 registers the firmware body.
  • An application distribution unit 806 distributes the application to the image processing apparatus 101 .
  • a firmware distribution unit 807 distributes the firmware to the image processing apparatus 101 .
  • FIG. 9 illustrates a software configuration of the monitoring server 104 .
  • Programs that realize each configuration unit according to the present embodiment are stored in the HDD 504 . Subsequently, those programs are loaded into the RAM 503 , executed by the CPU 501 , and consequently each configuration unit is realized.
  • a screen control unit 901 controls the display of the management screen.
  • An information processing unit 902 performs, for example, the temporary saving of information and calculations.
  • a DB processing unit 903 refers to the DB information held in the monitoring server 104 and registers it.
  • An image processing apparatus monitoring unit 904 receives and monitors, for example, the occurrence of errors in the image processing apparatus 101 .
  • a distribution reservation unit 905 accesses the content management server 102 , registers the reservation information in a distribution reservation management unit 706 , and holds the presence or absence of the reservation.
  • FIG. 10 is a flowchart illustrating a series of process in which the image processing apparatus 101 acquires the reservation information that has been registered in the content management server 102 via the monitoring server 104 , and updates the application.
  • a service person makes the UI screen of the monitoring server 104 shift to the screen of the content management server 102 , and performs registration of the update distribution reservation of the application.
  • the distribution reservation unit 905 of the monitoring server 104 holds the information “reservation information is present in the content management server 102 ”.
  • the reservation information acquisition unit 606 of the image processing apparatus 101 confirms whether or not the monitoring server 104 holds the information “reservation information is present” by polling at regular time intervals.
  • step S 1003 the reservation information acquisition unit 606 acquires the information of “reservation information is present”. Subsequently, in step S 1004 , the reservation information acquisition unit 606 acquires the reservation information.
  • the reservation information of the application includes, for example, information about the application name, the application ID, and the version.
  • the update condition confirmation unit 607 determines the availability of an update based on the application ID, the version, and the like of the application that has been installed in the image processing apparatus 101 .
  • step S 1006 the error notification unit 608 notifies the content management server 102 about an error notification.
  • step S 1007 the application download unit 609 requests a URL for acquiring the application of the content management server 102 .
  • step S 1008 the application download unit 609 acquires the application from the content distribution server 103 based on the URL that has been acquired in step S 1007 .
  • step S 1009 the application installation unit 610 acquires the decryption key and license information of the application that has been installed in the image processing apparatus 101 .
  • step S 1010 the application installation unit 610 decrypts the application based on the decryption key and the license information that were acquired in step S 1009 , and receives the license information. As described above, the process from the reservation of a distributed application to the update ends.
  • FIG. 11 is a flowchart illustrating a specific process of step S 1004 through step S 1010 in FIG. 10 that is performed by the image processing apparatus 101 .
  • the reservation information acquisition unit 606 acquires the reservation information from the content management server 102 .
  • the reservation information acquisition unit 606 determines whether or not the reservation information that was acquired in step S 1101 is the reservation information about the distributed application to be distributed.
  • step S 1103 the update condition confirmation unit 607 acquires the application information that has been installed in the image processing apparatus 101 , that is, the application ID, version, start-up state (start (running) or stop) from the application management unit 604 .
  • step S 1104 the update condition confirmation unit 607 determines whether or not the application that matches the application ID of the distributed application included in the reservation information that has been received from the content management server 102 is present in the installed application.
  • step S 1105 the update condition confirmation unit 607 determines whether or not the version of the reservation application (distributed application) is later than the version of the installed application. If the version of the reservation application is determined to be later than that of the installed application (YES), the process proceeds to step S 1106 . Subsequently, in step S 1106 , the update condition confirmation unit 607 determines whether or not the license of the application that has been installed in the license management unit 605 is valid. If the license is determined to be valid (YES), the process proceeds to step S 1107 . Then, in step S 1107 , the application download unit 609 acquires a URL for acquiring the application from the content management server 102 and downloads the application from the content distribution server 103 based on the URL.
  • step S 1108 the application installation unit 610 acquires the decryption key and license information of the installed application from the license management unit 605 .
  • step S 1109 the application installation unit 610 installs the application that was downloaded after decryption by the decryption key acquired in step S 1108 , receives the license information, and updates the installed application.
  • step S 1110 the application installation unit 610 determines whether or not a state of the installed application before updating is in a start state based on the information that has been acquired in step S 1102 . That is, it is determined whether or not the operation (of the application) starts, for example, the installed application before updating (before installation of the downloaded application) is running.
  • step S 1111 the application installation unit 610 makes the application in the start state, and ends the process.
  • the state of application is determined not to be in the start state (NO), that is, it is in a stop state, the application installation unit 610 maintains the stop state and ends the process.
  • step S 1104 If no application to be matched is present (NO) in step S 1104 , if the version of the reservation information application is earlier in step S 1105 (NO), or if the license is not valid in step S 1106 (NO), the process proceeds to step S 1113 . Subsequently, in step S 1113 , the error notification unit 608 notifies the content management server 102 about an error notification, and ends the process.
  • step S 1102 If, in step S 1102 , the reservation information is determined not to be about the application, that is, if the reservation information is determined to be about the firmware (NO), the process proceeds to step S 1114 . Subsequently, in step S 1114 , the firmware download unit 611 downloads the firmware from the content distribution server 103 . Next, in step S 1115 , the firmware update unit 612 decrypts the firmware. Next, in step S 1116 , it updates the firmware and ends the process.
  • the above process enables reliably executing an import update without transmitting the application information that has been installed in the image processing apparatus 101 to the content management server 102 . Therefore, according to the present embodiment, even if the information that is necessary for an update cannot be transmitted from the image processing apparatus to the server, it is possible to provide an image processing apparatus that can update the application.
  • step S 1106 of FIG. 11 notification about an error was provided or the application was downloaded depending on “valid” or “expired” of the license of the application that has been installed in the license management unit 605 .
  • the state of license is other than “valid” in a state in which the application is installed in the image processing apparatus 101 . Accordingly, in the present embodiment, a description will be given of a case in which the state of license is other than “valid”.
  • FIG. 12 is a diagram illustrating a combination of a state of a license held in the license management unit 605 and a state of an application held in the application management unit 604 .
  • four patterns, “valid”, “expired”, “not installed (with license information)”, “not installed (without license information)” are used as the state of a license in the present embodiment, the present invention is not limited thereby, and other states of a license may be used.
  • the term “valid” indicates a state in which the license has already been installed, and the application can be used (can start). Additionally, the term “expired” indicates a state in which the expiration period of the license has been exceeded and the application cannot be used (cannot start). Moreover, the term “not installed (with license information)” indicates a state in which the license in a “valid” or “expired” state is created in a file and the license is made in a suspended state, and the application is disabled (cannot start). Then, when the license in a “valid” state is created in a file, it is possible to eliminate the consumption of the expiration period from the time.
  • not installed (without license information) indicates a state in which the license in “valid” or “expired” state is created in a file and then deleted. Note that because the license information cannot be extracted if the license was delated, taking over the license information is impossible.
  • a column 1201 indicates the state of license.
  • a column 1202 indicates the state of application.
  • a row 1203 indicates that the state of license is “valid”, and the state of application is “start”.
  • a row 1204 indicates that the state of license is “valid”, and the state of application is “stop”.
  • a row 1205 indicates that the state of license is “expired”, and the state of application is “stop”.
  • a row 1206 indicates that the state of license is “not installed (with license information)”, and the state of application is “stop”.
  • a row 1207 indicates the state of license is “not installed (without license information)”, and the state of application is “stop”.
  • cases in which the state of license is other than “valid” are row 1205 , row 1206 , and row 1207 .
  • the row 1203 and the row 1204 which are the cases of “valid” in the state of license in step S 1106 of FIG. 11 , are targets for updates.
  • row 1203 and row 1204 which are “valid” in the state of license
  • the case of row 1205 which is “expired” in the state of license
  • the case of row 1206 which is “not installed (with license information)
  • not installed (with license information) is a state in which the license in a state of “valid” or “expired” is created in a file and the license is made in a suspended state, and the application is disabled (cannot start). Accordingly, when the application in this state of license is updated, the state of license is created in a file from “valid” after updating and then returned to “not installed (with license information)” so as not to cause the expiration period to elapse.
  • FIGS. 13 and 14 are flowcharts illustrating the process from step S 1004 through step S 1010 of FIG. 10 performed in the image processing apparatus 101 .
  • FIG. 11 of the first embodiment although only the application in the state of license “valid” is a target for updates, in FIG. 13 of the present embodiment, the application in the state of license “expired” or “not installed (with license information)” is also a target for updates.
  • step S 1301 the reservation information acquisition unit 606 acquires the reservation information from the content management server 102 .
  • step S 1302 the reservation information acquisition unit 606 determines whether or not the reservation information is about the application. If the reservation information is determined to be about the application (YES), the process proceeds to step S 1303 . Subsequently, in step S 1303 , the update condition confirmation unit 607 acquires the application ID, version, start-up state (start or stop) of the application that has been installed in the image processing apparatus 101 from the application management unit 604 .
  • step S 1304 the update condition confirmation unit 607 determines whether or not the application that matches the application ID included in the reservation information that was received from the content management server 102 is present in the installed applications. If it is determined that the application that matches the application ID (YES) is present, the process proceeds to step S 1305 , and the update condition confirmation unit 607 determines whether or not the version of the reservation application is later than that of the installed application.
  • step S 1306 the update condition confirmation unit 607 determines whether or not the state of license of the application that has been installed in the license management unit 605 is in a not installed state, in other words, it is in a state of the 1206 or row 1207 . If the state of license is a not installed state (YES), the process proceeds to step S 1307 , and if the state of license is not a not installed state (NO), the process proceeds to step S 1309 .
  • step S 1307 the update condition confirmation unit 607 determines whether or not the license information of the application that has been installed in the license management unit 605 remains in the history, in other words, whether or not the state of license is the state of the 1206 . If the license remains in the history (YES), the process proceeds to step S 1308 , and a flag is set on.
  • step S 1309 the application download unit 609 acquires the URL of the download site from the content management server 102 , and downloads the application from the content distribution server 103 .
  • step S 1310 the application installation unit 610 acquires the decryption key and license information of the application that has been installed.
  • step S 1311 the application installation unit 610 decrypts the application by the decryption key that was acquired in step S 1310 , installs it, and receives the license information.
  • step S 1312 the application installation unit 610 determines whether or not the flag is on.
  • the application installation unit 610 creates a file of the license and stops the consumption of the expiration period. In other words, it makes the license of row 1206 be in a non-installed state (with license information).
  • step S 1315 the application installation unit 610 determines whether or not a pre-update state is in a start condition based on the information that was acquired in step S 1302 .
  • step S 1316 the application installation unit 610 makes the state of application be in the start state, and ends the process.
  • the flag is not on in step S 1312 (NO)
  • the pre-update state is not the start state in step S 1315 (NO)
  • the process ends as-is.
  • step S 1304 determines whether no application to be matched is present in step S 1304 (NO)
  • step S 1314 the error notification unit 608 notifies the content management server 102 about an error, and the process ends.
  • step S 1302 if the reservation information is not about the application (NO), that is, if it is about the firmware, the process proceeds to step S 1317 , and the firmware download unit 611 downloads the firmware from the content distribution server 103 .
  • step S 1318 the firmware update unit 612 decrypts the firmware, and in step S 1319 , it updates the firmware, and process ends.
  • the above process enables reliably executing an important update even if the application in which the license has expired or is in an invalid state is present in the applications that have been installed in the image processing apparatus 101 . Therefore, according to the present embodiment, it is possible to provide an image processing apparatus that can update the application even if the information required for update cannot be transmitted to the server from the image processing apparatus.
  • 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 (eg, 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 (eg, 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).
  • computer executable instructions eg, one or more programs
  • a storage medium which may also be referred to more fully as a ‘non-transi
  • the computer may comprise one or more processors (eg, 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.

Abstract

An image processing apparatus is provided that includes an acquisition unit configured to acquire information about an installed application if reservation information acquired from a server is reservation information about a distributed application; a first download unit configured to download the distributed application if the installed application matches the distributed application; a first update unit configured to update the installed application by using the distributed application; a second download unit configured to download firmware if the acquired reservation information is reservation information about the firmware; and a second update unit configured to execute an update using the firmware. If a state of the installed application is a stop state, the first update unit does not set the state of the application to a start state. If the state of the installed application is the start state, the first update unit sets the state of the application to the start state.

Description

BACKGROUND OF THE INVENTION
Field of the Invention
The present invention relates to an image processing apparatus, a controlling method of the image processing apparatus, and a storage medium.
Description of the Related Art
In recent years, in an image processing apparatus that is an example of information processing apparatuses placed in an office, a system in which an application for enhancing function (hereinafter, referred to as “application”) is installed and the function of the image processing apparatus can dynamically be enhanced has been widely used. Examples of this type of system include MEAP (registered trademark) of Canon Inc. and the like.
There are cases in which, after releasing an application in the market, modifications including corresponding to vulnerabilities or bug fixing are added to the application, and the application is released again to the market as an updated version. There is a case in which a reliable update is requested for a version of the application in which an important modification is included. As a method of updating the application through the network, Japanese Patent Application Laid-Open No. 2004-234591 is disclosed. Japanese Patent Application Laid-Open No. 2004-234591 discloses a method in which an application list that is requested to be obtained is transmitted from a terminal device to an application distribution server, an application to be updated is specified on the application distribution server side based on the information, and it is distributed.
However, in Japanese Patent Application Laid-Open 2004-234591, the application cannot be updated if the application list that is requested to be obtained is not transmitted from the terminal device to the application server due to the conditions of security policy and the like, or if the application list cannot be transmitted. That is, updating the application is impossible if the information necessary for the update cannot be transmitted from the terminal device side.
SUMMARY OF THE INVENTION
The present invention provides an image processing apparatus that can update an application even if information necessary for an update cannot be transmitted to a server from an image processing apparatus side.
An image processing apparatus of the present invention comprises: an acquisition unit that is configured to acquire information of an installed application if reservation information acquired from a server is reservation information of a distributed application; a first download unit that is configured to download the distributed application if the installed application matches the distributed application; a first update unit that is configured to update the installed application by using the distributed application that has been downloaded by the first download unit; a second download unit that is configured to download firmware if the acquired reservation information is reservation information of the firmware; and a second update unit that is configured to execute an update using the firmware that has been downloaded by the download unit, wherein, if a state of the installed application before an update using the distributed application is a stop state, the first update unit does not set the state of the application to a start state, in order to make a state of the application after an update using the distributed application a stop state, and wherein, if a state of the installed application before an update using the distributed application is a start state, the first update unit sets the state of the application after an update using the distributed application to a start state.
According to the present invention, it is possible to provide an image processing apparatus that can update an application even if information necessary for an update cannot be transmitted to a server from an image processing apparatus side. Therefore, it is possible to reliably execute the update of the application without transmitting application information that has been installed in the image processing apparatus to a content management server.
Further features of the present invention will become apparent from the following description of exemplary embodiments (with reference to the attached drawings).
BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is a diagram illustrating a configuration of a network system.
FIG. 2 is a diagram illustrating a hardware configuration of an image processing apparatus.
FIG. 3 is a diagram illustrating a hardware configuration of a content management server.
FIG. 4 is a diagram illustrating a hardware configuration of the content distribution server.
FIG. 5 is a diagram illustrating a hardware configuration of a monitoring server.
FIG. 6 is a diagram illustrating a software configuration of the image processing apparatus.
FIG. 7 is a diagram illustrating a software configuration of the content management server.
FIG. 8 is a diagram illustrating a software configuration of the content distribution server.
FIG. 9 is a diagram illustrating a software configuration of the monitoring server.
FIG. 10 is a flowchart illustrating a process from reservation to update.
FIG. 11 is a flowchart of a process that performs an update of the application.
FIG. 12 is a table illustrating a combination pattern of a state of license and a state of application.
FIG. 13 is a flowchart illustrating an update process according to a second embodiment.
FIG. 14 is a flowchart illustrating an update process according to a second embodiment.
DESCRIPTION OF THE EMBODIMENTS
Hereinafter, the best mode for carrying out the present invention will be described with reference to the drawings and the like.
First Embodiment
FIG. 1 illustrates a configuration of a network system including an information processing apparatus (image processing apparatus) according to the present embodiment. The system includes an image processing apparatus 101, a content management server 102, a content distribution server 103, and a monitoring server 104, which can communicate each other via a network 105. The image processing apparatus 101 is an example of information processing apparatuses in which an update apparatus operates. The image processing apparatus 101 according to the present embodiment combines functions of a printer, a scanner, a copy machine, a facsimile, and the like, as one apparatus. Additionally, the image processing apparatus 101 has a unique individual number assigned to the image processing apparatus.
The content management server 102 distributes firmware or applications to the image processing apparatus 101. Additionally, it holds, for example, the individual number, type, and version information of the image processing apparatus 101, and performs their management. Further, it accepts a distribution reservation from the monitoring server 104 to the image processing apparatus 101, which will be described below. The application to be distributed itself is saved in the content distribution server 103, and accordingly its URL is held. The content distribution server 103 distributes the firmware to the image processing apparatus 101, and holds the application to be distributed to the image processing apparatus 101. The monitoring server 104 collects and accumulates the information when an error occurs in the image processing apparatus 101 or when toner is out. Additionally, it performs the distribution reservations for the firmware and the application to the image processing apparatus 101, with respect to the content management server 102.
FIG. 2 illustrates a hardware configuration of the image processing apparatus 101. A CPU (Central Processing Unit) 201 is a unit that executes various programs and realizes various functions. A ROM (Read Only Memory) 202 is a unit that stores various programs. A RAM (Random Access Memory) 203 is a system working memory for operating the CPU 201 and is a memory for temporarily storing various data. The CPU 201 loads a program stored in the ROM 202 to the RAM 203 and executes the program. This RAM 203 is configured by FRAM (registered trademark) and SRAM that can hold the content that has been stored even after turning off the power, and DRAM in which the stored content is deleted after turning off the power.
A HDD (Hard Disk Drive) 204 is a unit that stores various programs. The CPU 201 loads a program that has been stored in the HDD 204 to the RAM 203 and executes it. Additionally, it is also possible to save the data of the RAM 203 in the HDD 204. An operation unit 205 is a unit for operating the image processing apparatus 101. A display unit 206 is a unit for displaying a UI of the image processing apparatus 101.
A printing unit 207 is a unit that can print various image data including a raster image on a recording medium and transmit it to an external device. A scanner unit 208 is a unit that reads a document placed on a scanning table and generates image data. A network unit 209 is a unit for connecting to the content management server 102, the content distribution server 103, and the monitoring server 104. Each unit of the image processing apparatus 101 described above can transmit and receive data via a bus 210.
FIG. 3 is a diagram illustrating a hardware configuration of the content management server 102. Because a CPU 301 through a display unit 306 and a bus 308 are similar to the CPU 201 through the display unit 206, and the bus 210 shown in FIG. 2, the description thereof will be omitted. A network unit 307 is a unit for connecting to the image processing apparatus 101, the content distribution server 103, and the monitoring server 104.
FIG. 4 illustrates a hardware configuration of the content distribution server 103. Because a CPU 401 through a display unit 406 and a bus 408 are similar to the CPU 301 through the display unit 306, and the bus 308 shown in FIG. 3, the description thereof will be omitted. A network unit 407 is a unit for connecting to the image processing apparatus 101, the content management server 102, and the monitoring server 104.
FIG. 5 illustrates a hardware configuration of the monitoring server 104. Because a CPU 501 through a display unit 506 and a bus 508 are similar to the CPU 301 through the display unit 306, and the bus 308 as shown in FIG. 3, the description thereof will be omitted. A network unit (acquisition unit) 507 is a unit for connecting to the image processing apparatus 101, the content management server 102, and the content distribution server 103.
FIG. 6 illustrates a software configuration of the image processing apparatus 101. Programs that realize each configuration unit according to the present embodiment are stored on the HDD 204. Subsequently, those programs are loaded into the RAM 203, executed by the CPU 201, and each component is consequently realized.
A screen control unit 601 performs control of the menu display displayed on the display unit 206. An information processing unit 602 performs temporary saving of information, calculation, and the like. A DB processing unit 603 refers to DB information that is held in the image processing apparatus 101 and registers it. An application management unit 604 manages, for example, the identifier, version, and the start and stop of the installed application. A license management unit 605 manages license information such as the expiration period of the application, a decryption key for the application, and the like. A reservation information acquisition unit 606 acquires the reservation information set in the content management server 102. An update condition confirmation unit 607 determines whether or not the update of the application is required. An error notification unit (notification unit) 608 notifies the content management server 102 about error notifications.
An application download unit (first download unit) 609 downloads the application. An application installation unit (first update unit) 610 installs (updates) the application. A firmware download unit (second download unit) 611 downloads the firmware. A firmware update unit (second update unit) 612 updates the firmware. Note that, in the present embodiment, although the download and update of the application and the firmware are performed by individual configurations, the download and update of the application and firmware may by executed by one download unit and one upload unit.
FIG. 7 illustrates a software configuration of the content management server 102. Programs that realize each configuration unit according to the present embodiment are stored in the HDD 304. Subsequently, those programs are loaded into the RAM 303, executed by the CPU 301, and consequently each configuration unit is realized.
A screen control unit 701 controls the menu display that performs distribution reservation of the firmware and the application. An information processing unit 702 performs the temporary saving of information, calculation, and the like. A DB processing unit 703 refers to the DB information held in the content management server 102 and registers it. An application management unit 704 has a function that registers the application, and manages application information such as the identifier, the version, and the like of the application. Additionally, it manages the URL of the content distribution server 103 that holds the application body. The firmware management unit 705 has a function that registers the firmware, manages firmware information including the identifier, the version and the like of the firmware, and manages the URL of the content distribution server 103 that stores the firmware body.
FIG. 8 illustrates a software configuration of the content distribution server 103. Programs that realize each configuration unit according to the present embodiment are stored in the HDD 404. Subsequently, those programs are loaded into the RAM 403, executed by the CPU 401, and consequently each configuration unit is realized.
A screen control unit 801 controls the management screen display. An information processing unit 802 performs the temporary saving of information, calculation, and the like. A DB processing unit 803 refers to the DB information that is held in the content distribution server 103 and registers it. An application registration unit 804 registers the application body. A firmware registration unit 805 registers the firmware body. An application distribution unit 806 distributes the application to the image processing apparatus 101. A firmware distribution unit 807 distributes the firmware to the image processing apparatus 101.
FIG. 9 illustrates a software configuration of the monitoring server 104. Programs that realize each configuration unit according to the present embodiment are stored in the HDD 504. Subsequently, those programs are loaded into the RAM 503, executed by the CPU 501, and consequently each configuration unit is realized.
A screen control unit 901 controls the display of the management screen. An information processing unit 902 performs, for example, the temporary saving of information and calculations. A DB processing unit 903 refers to the DB information held in the monitoring server 104 and registers it. An image processing apparatus monitoring unit 904 receives and monitors, for example, the occurrence of errors in the image processing apparatus 101. A distribution reservation unit 905 accesses the content management server 102, registers the reservation information in a distribution reservation management unit 706, and holds the presence or absence of the reservation.
FIG. 10 is a flowchart illustrating a series of process in which the image processing apparatus 101 acquires the reservation information that has been registered in the content management server 102 via the monitoring server 104, and updates the application. First, in step S1000, a service person makes the UI screen of the monitoring server 104 shift to the screen of the content management server 102, and performs registration of the update distribution reservation of the application. Next, in step S1001, the distribution reservation unit 905 of the monitoring server 104 holds the information “reservation information is present in the content management server 102”. In step S1002, the reservation information acquisition unit 606 of the image processing apparatus 101 confirms whether or not the monitoring server 104 holds the information “reservation information is present” by polling at regular time intervals.
Here, if there is the information “reservation information is present”, in step S1003, the reservation information acquisition unit 606 acquires the information of “reservation information is present”. Subsequently, in step S1004, the reservation information acquisition unit 606 acquires the reservation information. Note that, in the present embodiment, there are two types of reservation information, the reservation information of the application and the reservation information of the firmware, where the reservation information of the application includes, for example, information about the application name, the application ID, and the version. Next, in step S1005, the update condition confirmation unit 607 determines the availability of an update based on the application ID, the version, and the like of the application that has been installed in the image processing apparatus 101.
Subsequently, if it is determined that the update is unavailable and unnecessary, in step S1006, the error notification unit 608 notifies the content management server 102 about an error notification. In contrast, if it is determined that the update is available, in step S1007, the application download unit 609 requests a URL for acquiring the application of the content management server 102. Subsequently, in step S1008, the application download unit 609 acquires the application from the content distribution server 103 based on the URL that has been acquired in step S1007. Next, in step S1009, the application installation unit 610 acquires the decryption key and license information of the application that has been installed in the image processing apparatus 101. Subsequently, in step S1010, the application installation unit 610 decrypts the application based on the decryption key and the license information that were acquired in step S1009, and receives the license information. As described above, the process from the reservation of a distributed application to the update ends.
FIG. 11 is a flowchart illustrating a specific process of step S1004 through step S1010 in FIG. 10 that is performed by the image processing apparatus 101. First, in step S1101, the reservation information acquisition unit 606 acquires the reservation information from the content management server 102. Next, in step S1102, the reservation information acquisition unit 606 determines whether or not the reservation information that was acquired in step S1101 is the reservation information about the distributed application to be distributed.
If the reservation information is determined to be about the distributed application (YES), the process proceeds to step S1103. Subsequently, in step S1103, the update condition confirmation unit 607 acquires the application information that has been installed in the image processing apparatus 101, that is, the application ID, version, start-up state (start (running) or stop) from the application management unit 604. Next, in step S1104, the update condition confirmation unit 607 determines whether or not the application that matches the application ID of the distributed application included in the reservation information that has been received from the content management server 102 is present in the installed application.
If it is determined that an application that matches the application ID is present (YES), the process proceeds to step S1105, and the update condition confirmation unit 607 determines whether or not the version of the reservation application (distributed application) is later than the version of the installed application. If the version of the reservation application is determined to be later than that of the installed application (YES), the process proceeds to step S1106. Subsequently, in step S1106, the update condition confirmation unit 607 determines whether or not the license of the application that has been installed in the license management unit 605 is valid. If the license is determined to be valid (YES), the process proceeds to step S1107. Then, in step S1107, the application download unit 609 acquires a URL for acquiring the application from the content management server 102 and downloads the application from the content distribution server 103 based on the URL.
Next, in step S1108, the application installation unit 610 acquires the decryption key and license information of the installed application from the license management unit 605. Next, in step S1109, the application installation unit 610 installs the application that was downloaded after decryption by the decryption key acquired in step S1108, receives the license information, and updates the installed application. Next, in step S1110, the application installation unit 610 determines whether or not a state of the installed application before updating is in a start state based on the information that has been acquired in step S1102. That is, it is determined whether or not the operation (of the application) starts, for example, the installed application before updating (before installation of the downloaded application) is running. If the application is determined to be in the start state (YES), in step S1111, the application installation unit 610 makes the application in the start state, and ends the process. In contrast, if the state of application is determined not to be in the start state (NO), that is, it is in a stop state, the application installation unit 610 maintains the stop state and ends the process.
If no application to be matched is present (NO) in step S1104, if the version of the reservation information application is earlier in step S1105 (NO), or if the license is not valid in step S1106 (NO), the process proceeds to step S1113. Subsequently, in step S1113, the error notification unit 608 notifies the content management server 102 about an error notification, and ends the process.
If, in step S1102, the reservation information is determined not to be about the application, that is, if the reservation information is determined to be about the firmware (NO), the process proceeds to step S1114. Subsequently, in step S1114, the firmware download unit 611 downloads the firmware from the content distribution server 103. Next, in step S1115, the firmware update unit 612 decrypts the firmware. Next, in step S1116, it updates the firmware and ends the process.
The above process enables reliably executing an import update without transmitting the application information that has been installed in the image processing apparatus 101 to the content management server 102. Therefore, according to the present embodiment, even if the information that is necessary for an update cannot be transmitted from the image processing apparatus to the server, it is possible to provide an image processing apparatus that can update the application.
Second Embodiment
In the first embodiment, in step S1106 of FIG. 11, notification about an error was provided or the application was downloaded depending on “valid” or “expired” of the license of the application that has been installed in the license management unit 605. However, there are cases in which the state of license is other than “valid” in a state in which the application is installed in the image processing apparatus 101. Accordingly, in the present embodiment, a description will be given of a case in which the state of license is other than “valid”.
FIG. 12 is a diagram illustrating a combination of a state of a license held in the license management unit 605 and a state of an application held in the application management unit 604. Although four patterns, “valid”, “expired”, “not installed (with license information)”, “not installed (without license information)” are used as the state of a license in the present embodiment, the present invention is not limited thereby, and other states of a license may be used.
In this context, the term “valid” indicates a state in which the license has already been installed, and the application can be used (can start). Additionally, the term “expired” indicates a state in which the expiration period of the license has been exceeded and the application cannot be used (cannot start). Moreover, the term “not installed (with license information)” indicates a state in which the license in a “valid” or “expired” state is created in a file and the license is made in a suspended state, and the application is disabled (cannot start). Then, when the license in a “valid” state is created in a file, it is possible to eliminate the consumption of the expiration period from the time. Additionally, the term “not installed (without license information)” indicates a state in which the license in “valid” or “expired” state is created in a file and then deleted. Note that because the license information cannot be extracted if the license was delated, taking over the license information is impossible.
In FIG. 12, a column 1201 indicates the state of license. A column 1202 indicates the state of application. A row 1203 indicates that the state of license is “valid”, and the state of application is “start”. A row 1204 indicates that the state of license is “valid”, and the state of application is “stop”. A row 1205 indicates that the state of license is “expired”, and the state of application is “stop”. A row 1206 indicates that the state of license is “not installed (with license information)”, and the state of application is “stop”. A row 1207 indicates the state of license is “not installed (without license information)”, and the state of application is “stop”.
In the present embodiment, cases in which the state of license is other than “valid” are row 1205, row 1206, and row 1207. In the first embodiment, the row 1203 and the row 1204, which are the cases of “valid” in the state of license in step S1106 of FIG. 11, are targets for updates.
However, in the cases in which the state of license is other than “valid”, that is, the cases of row 1205, row 1206, and row 1207, a case in which the latest application is requested to be used soon is assumed at the timing when the license is returned to the valid state. However, in the case of row 1207, in which the state of license is “not installed (without license information)”, because the license information is not left in the inside of the image processing apparatus 101, a key that decrypts the application is not left, so that the decryption of the application is impossible. Accordingly, in the present embodiment, in addition to row 1203 and row 1204, which are “valid” in the state of license, the case of row 1205, which is “expired” in the state of license, and the case of row 1206, which is “not installed (with license information)”, are also taken as targets for updates.
However, as described above, the case of “not installed (with license information)” is a state in which the license in a state of “valid” or “expired” is created in a file and the license is made in a suspended state, and the application is disabled (cannot start). Accordingly, when the application in this state of license is updated, the state of license is created in a file from “valid” after updating and then returned to “not installed (with license information)” so as not to cause the expiration period to elapse.
Similar to FIG. 11, FIGS. 13 and 14 are flowcharts illustrating the process from step S1004 through step S1010 of FIG. 10 performed in the image processing apparatus 101. In FIG. 11 of the first embodiment, although only the application in the state of license “valid” is a target for updates, in FIG. 13 of the present embodiment, the application in the state of license “expired” or “not installed (with license information)” is also a target for updates.
First, in step S1301, the reservation information acquisition unit 606 acquires the reservation information from the content management server 102. Next, in step S1302, the reservation information acquisition unit 606 determines whether or not the reservation information is about the application. If the reservation information is determined to be about the application (YES), the process proceeds to step S1303. Subsequently, in step S1303, the update condition confirmation unit 607 acquires the application ID, version, start-up state (start or stop) of the application that has been installed in the image processing apparatus 101 from the application management unit 604. Next, in step S1304, the update condition confirmation unit 607 determines whether or not the application that matches the application ID included in the reservation information that was received from the content management server 102 is present in the installed applications. If it is determined that the application that matches the application ID (YES) is present, the process proceeds to step S1305, and the update condition confirmation unit 607 determines whether or not the version of the reservation application is later than that of the installed application.
If the version of the reservation application is determined to be later than that of the installed application (YES), the process proceeds to step S1306. Subsequently, in step S1306, the update condition confirmation unit 607 determines whether or not the state of license of the application that has been installed in the license management unit 605 is in a not installed state, in other words, it is in a state of the 1206 or row 1207. If the state of license is a not installed state (YES), the process proceeds to step S1307, and if the state of license is not a not installed state (NO), the process proceeds to step S1309. Subsequently, in step S1307, the update condition confirmation unit 607 determines whether or not the license information of the application that has been installed in the license management unit 605 remains in the history, in other words, whether or not the state of license is the state of the 1206. If the license remains in the history (YES), the process proceeds to step S1308, and a flag is set on.
Subsequently, in step S1309, the application download unit 609 acquires the URL of the download site from the content management server 102, and downloads the application from the content distribution server 103. Next, in step S1310, the application installation unit 610 acquires the decryption key and license information of the application that has been installed. Next, in step S1311, the application installation unit 610 decrypts the application by the decryption key that was acquired in step S1310, installs it, and receives the license information.
Subsequently, in step S1312, the application installation unit 610 determines whether or not the flag is on. When the flag is on (YES), in step S1313, the application installation unit 610 creates a file of the license and stops the consumption of the expiration period. In other words, it makes the license of row 1206 be in a non-installed state (with license information). Next, in step S1315, the application installation unit 610 determines whether or not a pre-update state is in a start condition based on the information that was acquired in step S1302. If the pre-update state is in the start state (YES), the process proceeds to step S1316, and the application installation unit 610 makes the state of application be in the start state, and ends the process. In contrast, if the flag is not on in step S1312 (NO), and if the pre-update state is not the start state in step S1315 (NO), the process ends as-is.
Additionally, if it is determined that no application to be matched is present in step S1304 (NO), if the version of the reservation application is determined to be earlier than that of the installed application (NO), or if the license is not left in the history (NO), the process proceeds to step S1314. Then, in step S1314, the error notification unit 608 notifies the content management server 102 about an error, and the process ends.
In contrast, in step S1302, if the reservation information is not about the application (NO), that is, if it is about the firmware, the process proceeds to step S1317, and the firmware download unit 611 downloads the firmware from the content distribution server 103. Next, in step S1318, the firmware update unit 612 decrypts the firmware, and in step S1319, it updates the firmware, and process ends.
The above process enables reliably executing an important update even if the application in which the license has expired or is in an invalid state is present in the applications that have been installed in the image processing apparatus 101. Therefore, according to the present embodiment, it is possible to provide an image processing apparatus that can update the application even if the information required for update cannot be transmitted to the server from the image processing apparatus.
OTHER EMBODIMENTS
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 (eg, 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 (eg, 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 (eg, 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)™), 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. 2015-140749, filed Jul. 14, 2015 which is hereby incorporated by reference wherein in its entirety.

Claims (7)

What is claimed is:
1. An image processing apparatus comprising:
a memory storing instructions; and
a processor which is configured to execute the instructions causing the image processing apparatus to:
acquire information about an installed application if reservation information acquired from a server is reservation information about a distributed application;
download the distributed application if the installed application matches the distributed application;
update the installed application by using the distributed application that has been downloaded;
download firmware if the acquired reservation information is reservation information about the firmware; and
configured to execute an update using the firmware that has been downloaded,
wherein, in the updating of the application, if a state of the installed application before update using the distributed application is a stop state, the state of the application is not set to a start state in order to make the state of the application after an update using the distributed application the stop state, and
wherein, in the updating of the application, if the state of the installed application before update using the distributed application is the start state, the state of the application after update using the distributed application is set to the start state.
2. The image processing apparatus according to claim 1, wherein the instructions cause the image processing apparatus to:
wherein the distributed application is downloaded if the version of the distributed application is later than that of the installed application, and
wherein the instructions further cause the image processing apparatus to provide notification about an error if the version of the distributed application is earlier than that of the installed application.
3. The image processing apparatus according to claim 1, wherein the distributed application is downloaded if the state of license of the installed application is a valid state, and
wherein the notification unit provides notification about the error if the state of license of the installed application is not the valid state.
4. The image processing apparatus according to claim 1, wherein the instructions further cause the image processing apparatus to provide notification about an error if the installed application does not match the distributed application.
5. The image processing apparatus according to claim 1, wherein the instructions further cause the image processing apparatus to:
acquire a decryption key of the installed application, and
perform the update using the distributed application that has been decrypted by the decryption key.
6. A control method of an image processing apparatus, the method comprising:
acquiring information of an installed application if reservation information acquired from a server is reservation information of a distributed application;
downloading the distributed application if the installed application matches the distributed application;
updating the installed application by using the distributed application that has been downloaded;
downloading firmware if the reservation information that has been acquired is reservation information of the firmware; and
executing an update using the firmware that has been downloaded,
wherein, in the updating, if a state of the installed application before an update using the distributed application is a stop state, the state of the application is not set to a start state in order to make the state of the application after update using the distributed application the stop state, and
wherein, in the updating, if the state of the installed application before update using the distributed application is the start state, the state of the application after update using the distributed application is set to the start state.
7. A non-transitory storage medium storing a computer program causing a computer to perform a control method of an image processing apparatus, the method comprising:
acquiring information of an installed application if reservation information acquired from a server is reservation information of a distributed application;
downloading the distributed application if the installed application matches the distributed application;
updating the installed application by using the distributed application that has been downloaded;
downloading firmware if the reservation information that has been acquired is reservation information of the firmware; and
executing an update using the firmware that has been downloaded,
wherein, in the updating, if a state of the installed application before an update using the distributed application is a stop state, the state of the application is not set to a start state in order to make the state of the application after update using the distributed application the stop state, and
wherein, in the updating, if the state of the installed application before update using the distributed application is the start state, the state of the application after update using the distributed application is set to the start state.
US15/205,106 2015-07-14 2016-07-08 Image processing apparatus, controlling method of image processing apparatus, and storage medium Active US9894149B2 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2015-140749 2015-07-14
JP2015140749A JP6541484B2 (en) 2015-07-14 2015-07-14 Image processing apparatus, control method for image processing apparatus, and program

Publications (2)

Publication Number Publication Date
US20170017438A1 US20170017438A1 (en) 2017-01-19
US9894149B2 true US9894149B2 (en) 2018-02-13

Family

ID=57774992

Family Applications (1)

Application Number Title Priority Date Filing Date
US15/205,106 Active US9894149B2 (en) 2015-07-14 2016-07-08 Image processing apparatus, controlling method of image processing apparatus, and storage medium

Country Status (2)

Country Link
US (1) US9894149B2 (en)
JP (1) JP6541484B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10362013B2 (en) * 2016-05-27 2019-07-23 Dropbox, Inc. Out of box experience application API integration
JP2020080120A (en) * 2018-11-14 2020-05-28 株式会社リコー Information processing device, update method of information processing device, and update program of information processing device

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004234591A (en) 2003-02-03 2004-08-19 Nec Corp Update system, disclosure server, terminal, license issuing server, and program
US20090161143A1 (en) * 2007-12-13 2009-06-25 Canon Kabushiki Kaisha Image forming apparatus monitoring system and method therefor
US20130179872A1 (en) * 2012-01-11 2013-07-11 Eric Kuzmack In-Band Hypervisor-Managed Firmware Updates

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002297254A (en) * 2001-03-30 2002-10-11 Toshiba Corp License management device and license management method, service providing method and mobile agent
JP2009230398A (en) * 2008-03-21 2009-10-08 Fuji Xerox Co Ltd Software update support device and software update support program
US20090307679A1 (en) * 2008-06-10 2009-12-10 Lg Electronics Inc. Communication device and a host device, a method of processing signal in the communication device and the host device, and a system having the communication device and the host device
JP5488412B2 (en) * 2010-11-11 2014-05-14 ブラザー工業株式会社 Terminal device and program
WO2013124902A1 (en) * 2012-02-24 2013-08-29 日立コンシューマエレクトロニクス株式会社 Content display device
JP2015022681A (en) * 2013-07-23 2015-02-02 キヤノン株式会社 Information processing apparatus and software update method for information processing apparatus

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004234591A (en) 2003-02-03 2004-08-19 Nec Corp Update system, disclosure server, terminal, license issuing server, and program
US20090161143A1 (en) * 2007-12-13 2009-06-25 Canon Kabushiki Kaisha Image forming apparatus monitoring system and method therefor
US20130179872A1 (en) * 2012-01-11 2013-07-11 Eric Kuzmack In-Band Hypervisor-Managed Firmware Updates

Also Published As

Publication number Publication date
JP6541484B2 (en) 2019-07-10
JP2017021714A (en) 2017-01-26
US20170017438A1 (en) 2017-01-19

Similar Documents

Publication Publication Date Title
US9058236B2 (en) Monitoring apparatus, management system, firmware updating method, and program thereof
JP4533780B2 (en) Image forming system, image forming apparatus, terminal device, and driver updating method for terminal device
US9658843B2 (en) Distribution system and its control method
US8438561B2 (en) Mediation apparatus, installation system, installation method, and installation program
US9576132B2 (en) Information processing apparatus and information processing method
US9983865B2 (en) Image forming apparatus, method of controlling the same, and non-transitory computer readable storage medium
US9971883B2 (en) Information processing device to install applications using installation screen associated with a user
JP2006331394A (en) Program version management method, program and printing system
US20150199518A1 (en) Image forming apparatus that performs update of firmware, and control method therefor
JP2009193218A (en) Firmware update device and system
US11222097B2 (en) Information processing apparatus, information processing method, and computer-readable medium
US11669609B2 (en) Information processing apparatus, control method of the same, and storage medium
JP6223137B2 (en) Image forming apparatus, control method therefor, and program
US9600751B2 (en) Image forming apparatus and control method thereof with a determination whether an application relates to a dynamic update for reflecting change of the network setting without rebooting the apparatus
US9894149B2 (en) Image processing apparatus, controlling method of image processing apparatus, and storage medium
JP2006261970A (en) Image forming system, image forming apparatus, management device, and method of matching and managing plugin
US20180349125A1 (en) Information processing apparatus and program management method
US9547487B2 (en) Image forming apparatus, control method therefor, and control program therefor
US9348543B2 (en) Network system, distribution system, control method, and storage medium for managing firmware
US20130067447A1 (en) State Machine Based Package Installation
US10438021B2 (en) Device and control method
US10298719B2 (en) Network system, and control method for network system
US20210279016A1 (en) Information processing apparatus, server apparatus, control method, and storage medium
JP2006323612A (en) System and method for writing firmware file
US20150067767A1 (en) Information processing apparatus that distributes settings compliant with security policy and control method therefor, image processing apparatus and control method therefor, information processing system and control method therefor, and storage medium

Legal Events

Date Code Title Description
AS Assignment

Owner name: CANON KABUSHIKI KAISHA, JAPAN

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:TSUBOI, MASANORI;REEL/FRAME:040254/0127

Effective date: 20160623

STCF Information on status: patent grant

Free format text: PATENTED CASE

MAFP Maintenance fee payment

Free format text: PAYMENT OF MAINTENANCE FEE, 4TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1551); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

Year of fee payment: 4