Patent Description:
Conventionally, a technique for automatically updating applications and firmware for electronic apparatuses, such as multifunction peripheral (MFP) is known.

As one technology for automatically updating the firmware disclosed in <CIT>, when an application is to be installed on an MFP from an application market site, which is a web site for distributing applications, the required firmware can be automatically updated.

Further, in another technology for automatically updating applications disclosed in <CIT>, and in <CIT>, if an application that can be updated exists at an application market site, the application at the MFP can be automatically updated.

However, if the firmware is automatically updated, the function of firmware may be changed irrespective of the user intention, and it is difficult to understand for users how the function has changed.

In one aspect of the present invention, an electronic apparatus installable with firmware updatable via a network is devised, in accordance with claim <NUM>. Further aspects and preferred embodiments are set out in claim <NUM> et seq. The electronic apparatus includes an input unit configured to receive an operation performed by a user; a display control unit configured to display, on a display, a first screen for displaying a first function of firmware that can be installed on the electronic apparatus, and a second screen for displaying a second function of the firmware, the second function including a plurality of second functions and the second screen including a plurality of second screens prepared for each one of the plurality of second functions; a first enablement unit configured to enable the first function in response to an operation for the first function displayed on the first screen input via the input unit; and a second enablement unit configured to enable the second function in response to an operation for the second function displayed on the second screen input via the input unit. The second enablement unit enables one or more of the second functions selected from the plurality of second functions respectively displayed on the plurality of second screens.

An information processing system is also devised. The information processing system includes a server; and an electronic apparatus connectable with the server via a network, the electronic apparatus installable with firmware updatable via the network. The server includes a storage unit configured to store one or more firmwares to be supplied to the electronic apparatus; and a transmission unit configured to transmit information of a first screen or information of a second screen for displaying one or more firmwares installable on the electronic apparatus, the first screen or the second screen is to be displayed on a display. The electronic apparatus includes an input unit configured to receive an operation performed by a user; a display control unit configured to display, on the display, the first screen for displaying a first function of firmware that can be installed on the electronic apparatus, and the second screen for displaying a second function of the firmware, the second function including a plurality of second functions and the second screen including a plurality of second screens prepared for each one of the plurality of second functions; a first enablement unit configured to enable the first function in response to an operation for the first function displayed on the first screen input via the input unit; and a second enablement unit configured to enable the second function in response to an operation for the second function displayed on the second screen input via the input unit, wherein the second enablement unit enables one or more of the second functions selected from the plurality of second functions respectively displayed on the plurality of second screens.

Also described is a method of processing information for updating firmware of an electronic apparatus via a network is devised. The method includes receiving an operation performed by a user; displaying, on a display, a first screen for displaying a first function of firmware that can be installed on the electronic apparatus, and a second screen for displaying a second function of the firmware, the second function including a plurality of second functions and the second screen including a plurality of second screens prepared for each one of the plurality of second functions; enabling the first function in response to an operation for the first function displayed on the first screen; and enabling the second function in response to an operation for the second function displayed on the second screen. The enabling enables one or more of the second functions selected from the plurality of second functions respective displayed on the plurality of second screens.

According to the above described aspects of the present invention, in the electronic apparatus, information processing system, and information processing method, the function of the firmware to be updated can be validated according to a user consent.

A more complete appreciation of the description and many of the attendant advantages and features thereof can be readily acquired and understood from the following detailed description with reference to the accompanying drawings, wherein:.

The accompanying drawings are intended to depict embodiments of this disclosure and should not be interpreted to limit the scope thereof.

A description is now given of exemplary embodiments of the present inventions. It should be noted that although such terms as first, second, etc. may be used herein to describe various elements, components, regions, layers and/or units, it should be understood that such elements, components, regions, layers and/or units are not limited thereby because such terms are relative, that is, used only to distinguish one element, component, region, layer or unit from another region, layer or unit. Thus, for example, a first element, component, region, layer or unit discussed below could be termed a second element, component, region, layer or unit without departing from the teachings of the present inventions.

Further, it should be noted that the terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the present inventions. Thus, for example, as used herein, the singular forms "a", "an" and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise. Moreover, the terms "includes" and/or "including," when used in this specification, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof.

Hereinafter, a description is given of an electronic apparatus, an information processing system, and an information processing method according to one or more embodiments of this disclosure in detail with reference to the accompanying drawings. Further, the following embodiments are not limited to this disclosure, and the components in the following embodiments may include those implemented by the skilled in the art, substantially identical, and in equivalent range. Further, various omissions, substitutions, modifications, and combinations of components can be made without departing from the scope of the following embodiments.

In this disclosure, computer software is a program related to computer operation, and information which is used for processing by computer, equivalent to the program (hereinafter, computer software is referred to as software). An application software is a generic name for software that is used to perform specific tasks, in software classification. An operating system (OS) is software for controlling computers and used for enabling application software to use computer resources. The operating system controls the basic management and control of computers, such as input and output control, memory and hard disk management, process management, and so on. The application software works with the functions provided by the operating system. A program is consisted with computer instructions that are combined to obtain computing results. The information equivalent to the program is not a program that directly instructs to the computer, but is similar to the program because the information equivalent to the program defines a computer processing. For example, a data structure (a logical structure of data, represented by a correlation between data elements) corresponds to the information equivalent to the program.

Hereinafter, a description is given of electronic apparatus according to this disclosure, such as multifunctional peripheral apparatus (MFP), which is an example of image forming apparatus, but is not limited thereto. For example, the electronic apparatus can be information processing apparatus, such as smartphone, portable telephone, and personal computer (PC), consumer electronics, industrial machine, built-in machine, medical device, or the like. Further, the multifunction peripheral apparatus (MFP) is an apparatus having a plurality of different functions, such as copying function, scanner function, printer function, and facsimile function.

<FIG> illustrates an example of configuration of an information processing system <NUM> according to an embodiment. Hereinafter, a description is given of a configuration of the information processing system <NUM> with reference to <FIG>.

As illustrated in <FIG>, the information processing system <NUM> includes, for example, a multifunction peripheral apparatus (MFP) <NUM>, an application market server <NUM> (an example of server), a contract management server <NUM> (an example of another server), and a personal computer (PC) <NUM> (an example of information processing apparatus), which are communicatively connected to each other via a network N. The application market server <NUM> and the contract management server <NUM> are included in cloud C as the servers for providing cloud services.

The MFP <NUM> is an image forming apparatus, which is an example of electronic apparatus capable of performing various functions, such as copying function, scanner function, facsimile function, printer function, or the like.

The application market server <NUM> is a server that provides cloud services, which provides a list screen of one or more programs of application and one or more programs of firmware that can be installed on the MFP <NUM>, and has an application market site, from which one or more programs of application and/or one or more programs of firmware selected by the user can be downloaded and installed on the MFP <NUM>. In this description, the term of "application" may mean one or more programs of application, and the term of "firmware" may mean one or more programs of firmware.

The contract management server <NUM> is a server that provides cloud services of purchase site, which is used to make a purchase contract for a user who has logged in to a charged application and charged firmware, and manages a purchase contract status in association with tenant identification (ID), user ID, and device ID.

The PC <NUM> is an information processing apparatus that communicates with the contract management server <NUM> via the network N to make a purchase contract of charged application or firmware to be installed on the MFP <NUM>.

Further, the service provided by the application market site is not limited to being implemented by the application market server <NUM> alone, but can be implemented by, for example, using a plurality of servers. The same applies to a purchase site of the contract management server <NUM>.

<FIG> is an example of a block diagram of a hardware configuration of the MFP <NUM> according to the embodiment. Hereinafter, a description is given of a hardware configuration of the MFP <NUM> with reference to <FIG>.

As illustrated in <FIG>, the MFP <NUM> includes, for example, an operation unit <NUM>, and a main unit <NUM>. The operation unit <NUM> is configured to receive an user operation, and the main unit <NUM> is configured to implement various image forming functions, such as scanner function, and printer function. In this description, the receiving of user operation includes a process of receiving specific information input by the user operation (including a signal indicating coordinate values on screen).

The operation unit <NUM> and the main unit <NUM> are communicatively connected to each other via a communication path <NUM> dedicated for communication. The communication path <NUM> employs, for example, universal serial bus (USB) standard, but is not limited thereto. For example, the communication path <NUM> can employ any standards, such as wired or wireless standards.

The main unit <NUM> performs an operation corresponding to an operation received by the operation unit <NUM>, which may be performed by a user or others. Further, the main unit <NUM> can also communicate with an external device, and can perform an operation corresponding to an instruction received from the external device.

As illustrated in <FIG>, the operation unit <NUM> includes, for example, a central processing unit (CPU) <NUM>, a read only memory (ROM) <NUM>, a random access memory (RAM) <NUM>, a flash memory <NUM>, an operation panel <NUM>, a connection interface (I/F) <NUM>, a communication interface (I/F) <NUM>, and bus <NUM>.

The CPU <NUM> is a computing device that controls operations of the operation unit <NUM> entirely. The CPU <NUM> controls the operation of the operation unit <NUM> entirely by executing programs stored in the ROM <NUM> or flash memory <NUM> using the RAM <NUM> as a work area. For example, the CPU <NUM> implements various functions, such as displaying information (e.g., image) corresponding to the input received from a user on the operation panel <NUM>.

The ROM <NUM> is a nonvolatile memory that stores basic input/output system (BIOS), various settings, or the like that are executed at the time of activating the operation unit <NUM>. The RAM <NUM> is a volatile memory that is used as a work area of the CPU <NUM>. The flash memory <NUM> is a nonvolatile storage device for storing, for example, operating system (OS), application programs, and various data.

The operation panel <NUM> is a device having a function that receives various inputs corresponding to the user operation, and having an input function and a display function for displaying various information (e.g., information corresponding to received operation, information indicating operation state of the MFP <NUM>, setting information). The operation panel <NUM> includes, for example, a liquid crystal display (LCD) device equipped with a touch panel function. The operation panel <NUM> is not limited to the liquid crystal display device, but can be made of, for example, an organic electro-luminescence (OEL) display device equipped with a touch panel function. Further, the operation panel <NUM> may include an operation unit such as a hardware key or a display unit such as a lamp, in addition to or in place of the touch panel function.

The connection I/F <NUM> is an interface for communicating with the main unit <NUM> via the communication path <NUM>.

The communication I/F <NUM> is a network interface for connecting the operation unit <NUM> to the network N and communicating with an external device connected to the network N. The communication I/F <NUM> corresponds to, for example, Ethernet (registered trademark), and is an interface capable of communication conforming to transmission control protocol/internet protocol (TCP/IP) or the like.

The bus <NUM> is a transmission path that connects each of the above-described components to each other, and transmits address signals, data signals, and various control signals.

Further, the hardware configuration of the operation unit <NUM> illustrated in <FIG> is just one example, and may include components other than the components illustrated in <FIG>.

As illustrated in <FIG>, the main unit <NUM> includes, for example, a CPU <NUM>, a ROM <NUM>, a RAM <NUM>, a storage <NUM>, a scanner engine <NUM>, a printer engine <NUM>, a connection I/F <NUM>, a communication I/F <NUM>, and a bus <NUM>.

The CPU <NUM> is a computing device that controls operations of the main unit <NUM> entirely. The CPU <NUM> controls the operation of the main unit <NUM> entirely by executing programs stored in the ROM <NUM> or the storage <NUM> using the RAM <NUM> as a work area. For example, the CPU <NUM> implements various functions, such as copy function, scanner function, facsimile function, and printer function.

The ROM <NUM> is a nonvolatile memory that stores BIOS, various settings, or the like that are executed when activating the main unit <NUM>. The RAM <NUM> is a volatile memory that is used as a work area of the CPU <NUM>. The storage <NUM> is a nonvolatile storage device that stores, for example, operating system (OS), various application programs, and various data. The storage <NUM> can be, for example, a hard disk drive (HDD), a solid state drive (SSD) or the like.

The scanner engine <NUM> is a hardware that performs a scanner function to scan and read one or more documents as images, among the image forming functions, which is other than general purpose information processing and processing communication.

The printer engine <NUM> is a hardware that performs a printer function of printing on a print medium such as paper or the like, among the image forming functions, which is other than general purpose information processing and processing communication.

The connection I/F <NUM> is an interface for communicating with the operation unit <NUM> via the communication path <NUM>.

The communication I/F <NUM> is a network interface for connecting the main unit <NUM> to the network N and communicating with an external device connected to the network N. The communication I/F <NUM> is an interface that corresponds to, for example, Ethernet and that is capable of communication conforming to TCP/IP or the like.

Further, the hardware configuration of the main unit <NUM> illustrated in <FIG> is just one example. The main unit <NUM> may include components other than those illustrated in <FIG>. For example, the main unit <NUM> may include a finisher that sorts printed media, or a particular option such as auto document feeder (ADF) which automatically feeds documents.

<FIG> illustrates an example of a block diagram of a hardware configuration of the application market server <NUM> according to the embodiment. Hereinafter, a description is given of a hardware configuration of the application market server <NUM> with reference to <FIG>.

As illustrated in <FIG>, the application market server <NUM> includes, for example, a CPU <NUM>, a ROM <NUM>, a RAM <NUM>, an auxiliary storage device <NUM>, a media drive <NUM>, a display <NUM>, a network I/F <NUM>, a keyboard <NUM>, a mouse <NUM>, and a digital versatile disc (DVD) drive <NUM>.

The CPU <NUM> is a computing device that controls operations of the application market server <NUM> entirely. The ROM <NUM> is a nonvolatile storage device that stores programs for the application market server <NUM>. The RAM <NUM> is a volatile storage device used as a work area of the CPU <NUM>.

The auxiliary storage device <NUM> is a storage device such as HDD or SSD, which stores images scanned by the MFP <NUM> by performing the scanning function.

The media drive <NUM> is a device that controls reading and writing of data to a recording medium <NUM>, such as flash memory, under the control of the CPU <NUM>.

The display <NUM> is a display device composed of a liquid crystal or an organic electro-luminescence (OEL) that displays various information, such as cursor, menu, window, characters, images, or the like.

The network I/F <NUM> is an interface for communicating data with an external device such as MFP <NUM> using network N. The network I/F <NUM> is, for example, a network interface card (NIC) conforming to Ethernet, which is compatible with TCP/IP for communication.

The keyboard <NUM> is an input device used for selecting characters, numbers, various instructions, and a cursor movement. The mouse <NUM> is an input device for selecting and executing various instructions, selecting an object to be processed, and moving the cursor.

The DVD drive <NUM> is a device for controlling reading and writing of data to the DVD <NUM> such as DVD-ROM or digital versatile disk recordable (DVD-R) used as an example of removable storage medium.

The CPU <NUM>, ROM <NUM>, RAM <NUM>, auxiliary storage <NUM>, media drive <NUM>, display <NUM>, network I/F <NUM>, keyboard <NUM>, mouse <NUM> and DVD drive <NUM>, as described above, are communicatively connected to each other by a bus line <NUM> such as an address bus and a data bus.

The hardware configuration of the application market server <NUM> illustrated in <FIG> is just one example, and it is not required to include all of the components illustrated in <FIG>, or may include any other components.

Further, although the hardware configuration illustrated in <FIG> is described as the hardware configuration of the application market server <NUM>, the hardware configuration of the contract management server <NUM> and the PC <NUM> is also corresponding to the hardware configuration illustrated in <FIG>.

<FIG> is an example of software configuration of the information processing system <NUM> according to the embodiment. <FIG> is an example of function configuration of firmware to be updated. Hereinafter, a description is given of a software configuration of the information processing system <NUM> with reference to <FIG> and <FIG>.

As illustrated in <FIG>, the operation unit <NUM> includes, for example, an application market application <NUM>, a browser <NUM>, and an operation unit system <NUM>.

The application market application <NUM> is an application that communicates with an application market site provided by the application market server <NUM> to download application or firmware corresponding to a user operation via the browser <NUM>.

The browser <NUM> is software that implements functions, such as web applications, by acquiring web contents (e.g., hypertext markup language (HTML), cascading style sheets (CSS), JavaScript (registered trademark), and various electronic files from the application market server <NUM>.

The operation unit system <NUM> is software that controls operations of the operation unit <NUM> other than the function implemented by the browser <NUM>.

As illustrated in <FIG>, the main unit <NUM> includes, for example, a main unit system <NUM>, an image generation engine <NUM>, and an image generation application <NUM>.

The main unit system <NUM> is a software that controls the operation of the main unit <NUM>.

The image generation engine <NUM> corresponds to the scanner engine <NUM> and the printer engine <NUM> described above. The image generation application <NUM> is an application that controls the operations of the image generation engine <NUM>. For example, the image generation application <NUM> includes copy application, scanner application, facsimile application, printer application, or the like.

As illustrated in <FIG>, the ROM <NUM> includes an in-operation region 822a and a non-operation region 822b. The non-operation region 822b is used to temporarily store a firmware downloaded from the application market server <NUM> and retaining the firmware at a non-executed state. The in-operation region 822a is used to store a firmware that actually controls the operation of the operation unit <NUM> and the main unit <NUM>.

Among the functions of the firmware stored in the in-operation region 822a and actually executed, a software that implements an addable function (first function) is referred to as an addable function <NUM>, while a software that implements a changeable function (second function) is referred to as a changeable function <NUM>.

The addable function is a function that does not cause any effect to user operability of the MFP <NUM> among the functions provided by the firmware. The addable function includes, for example, a reservation function of copy operation, and an interrupt function during the copying operation.

Further, the changeable function is a function that causes some effect to user operability of the MFP <NUM> among the functions provided by the firmware, such as a function of changing user interface (UI) of the operation screen displayed on the display unit <NUM>. The changeable function includes, for example, an initial setting function accompanied by changing of user interface (UI).

Alternatively, for example, the addable function may be a new function firstly provided by a firmware having a specific version, and a function of adding a value for user by updating a firmware, which may be used as a function having a greater value for user. By contrast, the changeable function may be a function of changing or modifying the firmware function of previous version.

Users and administrators who use devices or apparatuses can select a certain version of firmware from multiple versions listed on the operation panel of the device or apparatuses, and can update the firmware to the version selected from the installed version. In this situation, the addable function can be displayed with the function description at the time of selection as new function or primary function of the selected version of firmware, and the users can collectively recognize the addable function. As to the changeable function, the changeable function changes the previous functional unit that may cause a sudden change to the user and may reduce user convenience, and thereby the changeable function is required to be selected one by one.

For example, the firmware stored in the ROM <NUM> (in-operation region 822a) has a functional configuration as illustrated in <FIG>. That is, in an example case of <FIG>, the functions newly provided by the firmware having the function version of "V1. <NUM>" include addable functions (<NUM>), (<NUM>),. and changeable functions (<NUM>), (<NUM>), (<NUM>),.

As to be described later, in the embodiment, if the automatic activation setting is turned off and the entire function activation setting is turned off, and a desired firmware is to be installed, the addable function is displayed to a user using a dialog box to describe the function collectively, and the user can select whether to activate the addable function.

Further, as to the changeable function, the changeable function is displayed to a user using a dialog box to describe or explain description of each changeable function one by one, and the user can select whether or not to enable the changeable function one by one. The operation of enabling the addable function and changeable function will be described later. In this description, the enabling of function, such as addable function and changeable function, of firmware that is installed (or updated) may be also referred to as the activation of function.

As illustrated in <FIG>, the PC <NUM> includes, for example, a browser <NUM>. The browser <NUM> is software that implements functions, such as web applications by obtaining web contents (e.g., HTML, CSS, JavaScript, various electronic files) from the contract management server <NUM>.

<FIG> and <FIG> illustrate an example of a block diagram of a functional configuration of the information processing system <NUM> according to the embodiment. Hereinafter, a description is given of a functional configuration of the information processing system <NUM> with reference to <FIG> and <FIG>.

As illustrated in <FIG> and <FIG>, the operation unit <NUM> of the MFP <NUM> includes, for example, the browser <NUM> and the operation unit system <NUM>, an input unit <NUM>, a display unit <NUM>, a communication unit <NUM>, and a storage unit <NUM>. The browser <NUM> includes, for example, a user interface (UI) unit <NUM> (an example of display control unit), a list request unit <NUM>, a screen request unit <NUM>, an installation request unit <NUM>. The operation unit system <NUM> includes, for example, a UI unit <NUM> (an example of display control unit), and a setting unit <NUM>.

The UI unit <NUM> is a functional that displays a web page or the like corresponding to specific content, acquired from the application market server <NUM>, using the display unit <NUM>. Further, the UI unit <NUM> receives various operations (e.g., press for link) on the web page according to an inputting operation by a user to the input unit <NUM>. The UI unit <NUM> is implemented by executing the browser <NUM> by the CPU <NUM> of the operation unit <NUM> illustrated in <FIG>.

The list request unit <NUM> is a functional unit that requests a list of application and/or firmware installable on the MFP <NUM> to the application market server <NUM>, in response to an inputting operation performed by a user to the input unit <NUM>. The list request unit <NUM> is implemented by executing the browser <NUM> by the CPU <NUM> of the operation unit <NUM> illustrated in <FIG>.

The screen request unit <NUM> is a functional unit that requests information on various screens, to be displayed using the display unit <NUM>, to the application market server <NUM> in response to an inputting operation performed by a user to the input unit <NUM>. The screen request unit <NUM> is implemented by executing the browser <NUM> by the CPU <NUM> of the operation unit <NUM> illustrated in <FIG>.

The installation request unit <NUM> is a functional unit that requests the application market server <NUM> for installing a designated firmware in response to an inputting operation performed by a user to the input unit <NUM>. In the embodiment, the "installation" of firmware means that a firmware is stored (updated) in the ROM <NUM> (specifically, the non-operation region 822b), a firmware is stored in the in-operation region 822a and is in an executable state, and activating the function (addable function, changeable function) of the executable firmware, or the like. The installation request unit <NUM> is implemented by executing the browser <NUM> by the CPU <NUM> of the operation unit <NUM> illustrated in <FIG>.

The UI unit <NUM> is a functional unit that displays a screen (e.g., home screen, to be described later) used for performing various operations of the MFP <NUM>, using the display unit <NUM>. The UI unit <NUM> is implemented by executing the operation unit system <NUM> by the CPU <NUM> of the operation unit <NUM> illustrated in <FIG>.

The setting unit <NUM> is a functional unit that sets various settings, in response to an inputting operation performed by a user to the input unit <NUM> on various setting screens (e.g., automatic update setting screen, automatic activation setting screen, to be described later) displayed using the display unit <NUM>. The setting unit <NUM> is implemented by executing the operation unit system <NUM> by the CPU <NUM> of the operation unit <NUM> illustrated in <FIG>.

The input unit <NUM> is a functional unit that receives an inputting operation performed by a user. The input unit <NUM> is implemented by an input function of the operation panel <NUM> illustrated in <FIG>.

The display unit <NUM> is a functional unit that displays various information in accordance with the instructions of the UI unit <NUM> and the UI unit <NUM>. The display unit <NUM> is implemented by a display function of the operation panel <NUM> illustrated in <FIG>.

The communication unit <NUM> is a functional unit that performs data communication with the application market server <NUM> via the network N in under the control of the browser <NUM>. The communication unit <NUM> is implemented by the communication I/F <NUM> and executing the program by the CPU <NUM> illustrated in <FIG>.

The storage unit <NUM> is a functional unit that stores various data. For example, the storage unit <NUM> stores setting information set on an automatic update setting screen, an automatic activation setting screen, and an entire function enabling setting screen, to be described later. The storage unit <NUM> is implemented by the RAM <NUM> or flash memory <NUM> illustrated in <FIG>.

Further, as illustrated in <FIG> and <FIG>, the main unit <NUM> of the MFP <NUM> includes, for example, a reservation unit <NUM>, an update unit <NUM>, a activation processing unit <NUM> (main activation processing unit), an activation management unit <NUM>, a determination unit <NUM>, an addable function activation confirmation unit <NUM> (first activation confirmation unit, first enablement confirmation unit), an addable function activation processing unit <NUM> (an example of enablement unit, first enablement unit), an changeable function activation confirmation unit <NUM> (second activation confirmation unit, second enablement confirmation unit), and an changeable function activation processing unit <NUM> (an example of enablement unit, second enablement unit).

When a user designates or selects a specific firmware having a specific function version, the reservation unit <NUM> reserves an enabling of the addable function corresponding to the specific function version after updating the designated specific firmware. The information of function corresponding to the specific function version reserved by the reservation unit <NUM> may be temporarily stored, for example, in the RAM <NUM> or storage <NUM> illustrated in <FIG>. The reservation unit <NUM> is implemented by executing the main unit system <NUM> by the CPU <NUM> of the main unit <NUM> illustrated in <FIG>.

The update unit <NUM> is a functional unit that updates the specific firmware downloaded from the application market server <NUM> via the communication unit <NUM> into the non-operation region 822b of the ROM <NUM> (an example of storage unit) illustrated in <FIG>. The update unit <NUM> is implemented by executing the main unit system <NUM> by the CPU <NUM> of the main unit <NUM> illustrated in <FIG>.

The activation processing unit <NUM> is a functional unit that copies the specific firmware updated in the non-operation region 822b of the ROM <NUM> by the update unit <NUM> to the in-operation region 822a of the ROM <NUM>, and executes the specific firmware when the MFP <NUM> is activated (booted) or rebooted. As to be described later, even if a specific or particular firmware stored in the operation region 822a is to be executed by the activation processing unit <NUM>, the addable function and changeable function included in the specific or particular firmware can be executed only if a user performs the installation operation (operation for activation) to enable the specific function, such as the addable function and changeable function.

Therefore, after the user recognizes a screen prompting to enable (activate) each of the addable function and changeable function, and then the user performs the installation operation (operation for activation) described above, each function is in the executable state for the first time. The activation processing unit <NUM> is implemented by the main unit system <NUM> executed by the CPU <NUM> of the main unit <NUM> illustrated in <FIG>.

Further, for example, when the addable function or changeable function is activated, and then each function of the addable function or the changed function is in the executable state, setting information for determining whether or not to execute the function actually can be further provided.

For example, even if the changeable function is activated, if the setting information for the changeable function is set not to execute, the changeable function is not be executed, in which the changeable function can be executed for the first time if the setting information is set to execute.

The activation management unit <NUM> is a functional unit that manages the maximum function version of addable function that can be activated using currently installed and executable firmware (hereinafter, referred to as the maximum function version), and the function version of addable function being activated using currently installed and executable firmware (hereinafter, referred to as current function version).

For example, when the firmware function version is "V1. <NUM>," the function version of the addable function is also referred to as "V1. <NUM>," and the function version of the changeable function is also referred to as "V1.

For example, when the firmware of "FW V1. <NUM>" is installed in the executable state, the maximum function version becomes "V1. " That is, the firmware of "FW V1. <NUM>" has a function version of "V1. <NUM>," and if the addable function of "V1. <NUM>" is activated, the function version corresponding to the activated addable function is "V1. <NUM>," and "V1. <NUM>" becomes the maximum function version.

Further, for example, when the firmware of "FW V1. <NUM>" is installed on the MFP <NUM> in the executable state, the maximum function version becomes "V1. <NUM>," however, if only the addable function up to "V1. <NUM>" is activated using the firmware, the current function version becomes "V1.

The activation management unit <NUM> also manages which changeable function of which function version is activated. The activation management unit <NUM> is implemented by executing the main unit system <NUM> by the CPU <NUM> of the main unit <NUM> illustrated in <FIG>.

The determination unit <NUM> compares a function version of a firmware designated by a user, the maximum function version, and a current function version to determine which function is greater. The determination unit <NUM> is implemented by executing the main unit system <NUM> by the CPU <NUM> of the main unit <NUM> illustrated in <FIG>.

The addable function activation confirmation unit <NUM> is a functional unit that checks or confirms whether an activation is instructed to the current function version at a particular time of the MFP <NUM>, and an activation is instructed to the addable function included in a particular function version that is greater than the current function version. The addable function activation confirmation unit <NUM> is implemented by executing the addable function <NUM> of the firmware that is installed in the executable sate on the main unit <NUM> illustrated in <FIG>.

The addable function activation processing unit <NUM> activates an addable function of a designated particular firmware having a particular function version in accordance with an installation operation (activation operation) to the input unit <NUM> by a user. The addable function activation processing unit <NUM> is implemented by executing the addable function <NUM> of the firmware that is installed in the executable sate on the main unit <NUM> illustrated in <FIG>.

The changeable function activation confirmation unit <NUM> is a functional unit that checks or confirms a currently-activated changeable function and a function version of the currently-activated changeable function, and an activation state of the changeable function corresponding to the function version of the newly activated addable function. The changeable function activation confirmation unit <NUM> is implemented by executing the changeable function <NUM> of the firmware that is installed in the executable sate on the main unit <NUM> illustrated in <FIG>.

The changeable function activation processing unit <NUM> is a functional unit that activates each changeable function of a designated particular firmware having a particular function version in accordance with an installation operation (activation operation) to the input unit <NUM> by a user. The changeable function activation processing unit <NUM> is implemented by executing the changeable function <NUM> of the firmware that is installed in the executable sate on the main unit <NUM> illustrated in <FIG>.

Thus, by updating the pre-installed firmware and the application of the electronic apparatus, such as the MFP <NUM>, the latest function can be added to the electronic apparatus. This technology is referred to as "always current technology (ACT)" in the embodiment. The electronic equipment equipped with the ACT function can acquire, via the network N, the latest function that was not installed at the time of purchase as a firmware package, and can add the latest function as the function.

Further, the firmware package for adding the function via the network N becomes public at a given time on the application market server <NUM> that is an acquisition destination of firmware. Therefore, the time lag between the development of the function to be added to the electronic equipment and the installation of the function can be reduced, and thereby the new function can be added to the electronic apparatus in a timely manner. Further, conventionally, a user may buy the electronic apparatus for utilizing new function. In the embodiment, since the user is not required to buy the electronic apparatus itself for utilizing the new function, the cost of user can be reduced.

Further, the functional units of the operation unit <NUM> and the main unit <NUM> of the MFP <NUM> illustrated in <FIG> and <FIG> are conceptually illustrated, and are not limited to the configuration of the <FIG> and <FIG>. For example, a plurality of functional units of the MFP <NUM> illustrated in <FIG> and <FIG> as independent functional units may be configured as one functional unit. On the other hand, the function of one functional unit of the MFP <NUM> illustrated in <FIG> and <FIG> may be divided into a plurality of functions, and a plurality of functional units may be formed.

Further, for example, in the operation unit <NUM>, the functional unit implemented by the browser <NUM> and the functional unit implemented by the operation unit system <NUM> do not need to be clearly distinguished from each other, and the functional unit implemented by the browser <NUM> may be implemented by the operation unit system <NUM>, and vice versa. Further, a software different from the browser <NUM> and the operation unit system <NUM> may implement the function of each functional unit.

Further, the addable function activation confirmation unit <NUM> and the addable function activation processing unit <NUM> are functions that are implemented by the addable function <NUM>, but is not limited thereto. For example, a software (e.g., main unit system <NUM>) different from the addable function <NUM> may have functions of the addable function activation confirmation unit <NUM> and the addable function activation processing unit <NUM>. The same applies to the changeable function activation confirmation unit <NUM> and the changeable function activation processing unit <NUM>.

Further, as illustrated in <FIG> and <FIG>, the application market server <NUM> includes, for example, a list response unit <NUM>, a screen response unit <NUM>, a designated version response unit <NUM>, a communication unit <NUM> (transmission unit), and a storage unit <NUM>.

The list response unit <NUM> is a functional unit that generates a list of application and/or firmware installable on the MFP <NUM>, and transmits the list of application and/or firmware to the MFP <NUM> via the communication unit <NUM>, in response to a request of the list request unit <NUM> of the MFP <NUM>. The list response unit <NUM> is implemented by executing the program by the CPU <NUM> illustrated in <FIG>.

The screen response unit <NUM> is a functional unit that transmits information on various screens (e.g., home screen) to the MFP <NUM> via the communication unit <NUM>, in response to a request of the screen request unit <NUM> of the MFP <NUM>. The screen response unit <NUM> is implemented by executing the program by the CPU <NUM> illustrated in <FIG>.

The designated version response unit <NUM> is a functional unit that responds to the main unit system <NUM> of the MFP <NUM>, a specific function version of a specific firmware which is requested to be installed by the installation request unit <NUM> of the MFP <NUM>. The designated version response unit <NUM> is implemented by executing the program by the CPU <NUM> illustrated in <FIG>.

The communication unit <NUM> is a functional unit that performs data communication with the MFP <NUM> and the contract management server <NUM> via the network N. The communication unit <NUM> is implemented by the network I/F <NUM> and executing the program by the CPU <NUM> illustrated in <FIG>.

The storage unit <NUM> is a functional unit that stores various programs, such as application, firmware and packages combining one or more programs of application and/or firmware. The storage unit <NUM> is implemented by the auxiliary storage device <NUM> illustrated in <FIG>.

Further, the functional units of the application market server <NUM> illustrated in <FIG> and <FIG> are conceptually illustrated, and are not limited to the configuration of the <FIG> and <FIG>. For example, a plurality of functional units of the application market server <NUM> illustrated in <FIG> and <FIG> as independent functional units may be configured as one functional unit. On the other hand, the function of one functional unit of the application market server <NUM> illustrated in <FIG> and <FIG> may be divided into a plurality of functions, and a plurality of functional units may be formed.

Further, the functional units of the MFP <NUM>, and the application market server <NUM> illustrated in <FIG> and <FIG> may be implemented by executing various software, but is not limited thereto. For example, at least any functional units may be implemented by a dedicated hardware circuit, such as an integrated circuit.

<FIG> illustrate examples of screen transition. <FIG> illustrates an example of home screen. <FIG> illustrates an example of list screen of application and firmware, which displays target application and firmware that can be installed from an application site. <FIG> illustrates an example of installation screen used for installing a firmware. <FIG> illustrates an example of installation screen used for an already installed firmware. Hereinafter, a description is given of a screen displayed on the MFP <NUM> and a flow of screen transition with reference to <FIG>.

Hereinafter, a description is given of a transition operation from the home screen <NUM> to a screen used for activating the addable function and changeable function with reference to <FIG> and <FIG>. As illustrated in <FIG> and <FIG>, the home screen <NUM> being displayed using the display unit <NUM> of the MFP <NUM> includes, for example, an application site button <NUM> used for displaying a list screen of application and firmware (to be described later) that can be installed on the MFP <NUM>, and a widget <NUM>.

The widget <NUM> is a display area and button displaying the latest information on the MFP <NUM>. In an example case of <FIG> and <FIG>, the widget <NUM> displays a message indicating that the "latest information: received latest information of software update" and informs a user that a software can be updated. As illustrated in <FIG>, the home screen <NUM> includes, for example, the application site button <NUM>, the widget <NUM>, a copy button 1004a used for performing copy processing, a scanner button 1004b used for performing scanning processing, and a facsimile button 1004c used for performing facsimile processing.

If the user presses the widget <NUM>, the UI unit <NUM> instructs the display unit <NUM> to display a notification dialog box <NUM> (an example of first screen) illustrated in <FIG>.

The notification dialog box <NUM> is a screen used for displaying which firmware can be installed (or activated) specifically. For example, the notification dialog box <NUM> is a screen used for installing (or activating) a firmware having the latest function version. As illustrated in <FIG> and <FIG>, the notification dialog box <NUM> includes, for example, a screen shot display section <NUM>, a description display section <NUM>, and a detail button <NUM>. In an example case of <FIG>, the notification dialog box <NUM> displays the firmware of "FW V1.

The screen shot display section <NUM> is a section used for displaying an operation state of the concerned firmware being displayed by the notification dialog box <NUM> as a screen shot.

The description display section <NUM> is a display section used for describing the operation of the concerned firmware.

The detail button <NUM> is a button used for displaying an installation screen used for performing an installation (activation) operation of the concerned firmware.

For example, as illustrated in <FIG>, if the user presses the detail button <NUM> to install the firmware of "FW V1. <NUM>," the UI unit <NUM> instructs the display unit <NUM> to display the installation screen <NUM> (an example of first screen) used for installing the concerned firmware.

As illustrated in <FIG>, the installation screen <NUM> displays a screen shot display section <NUM> used for displaying an operation state of the concerned firmware, a description display section <NUM> used for describing a specific function (addable function, changeable function) of the concerned firmware, a detail link section <NUM> used for shifting or transitioning to a screen displaying details of the function of the concerned firmware, and an installation button <NUM> used for performing an installation processing (or activation processing).

Thus, a user can confirm the contents of function (addable function, changeable function) of the concerned firmware described on each screen by checking the contents of the notification dialog box <NUM> and the installation screen <NUM>. Then, after the confirmation, the user can decide whether to activate the addable function of the concerned firmware.

Then, as illustrated in <FIG>, if the user presses the installation button <NUM> to install the firmware of "FW V1. <NUM>," after performing various processing (to be described later with reference to <FIG>), the addable function activation processing unit <NUM> activates the addable function of the concerned firmware, and then the UI unit <NUM> instructs the display unit <NUM> to display a changeable function dialog box <NUM> (an example of second screen) used for activating each changeable function. That is, the user can select whether to activate the addable function of the concerned firmware, being displayed, by performing an operation on the installation screen <NUM>. For example, if the user selects not to activate the addable function, by pressing a close button or cancel button on the installation screen <NUM>, the addable function activation processing unit <NUM> does not activate the addable function, and then the UI unit <NUM> may instruct the display unit <NUM> to display the changeable function dialog box <NUM>.

As illustrated in <FIG>, the changeable function dialog box <NUM> is a screen used for activating the changeable function of the concerned firmware introduced in the notification dialog box <NUM> and the installation screen <NUM>, one by one. The changeable function dialog box <NUM> includes, for example, a screen shot display section <NUM>, a description display section <NUM>, a return button 1513a, a proceed button 1513b, and an installation button <NUM>.

The screen shot display section <NUM> is a section used for displaying an operation state of the changeable function of the concerned firmware introduced by the notification dialog box <NUM> as a screen shot.

The description display section <NUM> is a display section used for describing the operation of the changeable function of the concerned firmware.

The return button 1513a is a button used for returning to a display of changeable function dialog box of a particular changeable function that was displayed most recently, for one or more changeable functions of the concerned firmware.

The proceed button 1513b is a button used for proceeding to a display of a particular changeable function dialog box to be displayed next, for one or more changeable functions of the concerned firmware.

The installation button <NUM> is a button used for activating the changeable function displayed in the changeable function dialog box <NUM>.

Thus, the user can check the specific contents of the changeable function included in the concerned firmware by checking the changeable function dialog box <NUM>. Then, after the confirmation, the user can decide whether to activate each changeable function of the concerned firmware.

Then, as illustrated in <FIG>, if a user presses the installation button <NUM> to activate the firmware changeable function of "FW V1. <NUM>," after performing various processing (to be described later with reference to <FIG>), the changeable function activation processing unit <NUM> activates the changeable function of the concerned firmware. That is, the user can select whether or not to activate each changeable function by selecting any one of changeable functions included in the concerned firmware by performing an operation to the changeable function dialog box <NUM>. For example, if the user is to activate only a target changeable function among the changeable functions, the changeable function dialog box corresponding to the target changeable function is displayed, and the installation button is pressed to activate the target changeable function. As to the changeable function that is not to be activated, the user press the close button (see <FIG> and <FIG>) without performing the above operation to close the changeable function dialog box.

As described above, by pressing the widget <NUM> displaying the latest information on the MFP <NUM> on the home screen <NUM>, for example, the notification dialog box <NUM> describing the latest firmware that can be installed (or activated) is displayed, with which the user can check the contents of the concerned firmware, and then the use can activate the addable function and the selected target function individually, and the installation operation can be easily performed.

Hereinafter, with reference to <FIG>, a description is given of a transition operation of screen when the addable function of the latest firmware introduced on the notification dialog box <NUM> is activated, and then all of the changeable functions are not activated on the changeable function dialog box <NUM> that is displayed after activating the addable function of the latest firmware introduced on the notification dialog box <NUM>.

If the user presses the widget <NUM> on the home screen <NUM>, since the addable function of the firmware described in the widget <NUM> has already been activated, the UI unit <NUM> skips the notification dialog box <NUM> and the installation screen <NUM> of <FIG> and <FIG>, and displays the changeable function dialog box <NUM> for the changeable function of the latest firmware that has not been activated yet. With this processing, among the changeable function of the latest firmware, an activation operation can be easily performed for a particular changeable function that has not been yet activated.

Hereinafter, with reference to <FIG> and <FIG>, a description is given of transition operation from the home screen <NUM> to a screen used for activating the addable function and changeable function using a different way compared to the screen transition illustrated in <FIG> and <FIG>.

As illustrated in <FIG> and <FIG>, if a user presses the application site button <NUM> on the home screen <NUM>, being displayed using the display unit <NUM> of the MFP <NUM>, the UI unit <NUM> instructs the display unit <NUM> to display a list of a plurality of applications and firmwares that can be installed on the MFP <NUM> on the display unit.

The list screen <NUM> is a screen used for displaying a list of a plurality of applications and firmwares installable on the MFP <NUM>. The list screen <NUM> displays a list of button icons used for installing each application, and a list of button icons used for installing each firmware.

In this description, the "installable application" is not limited to an application that is not currently installed or activated, but includes an application that have already been installed or activated. That is, the list screen <NUM> displays the list of application and firmware. The application includes one or more programs of application that can be updated, and one or more programs of application that are already installed. The firmware includes one or more programs of firmware that can be updated, one or more programs of firmware that are already installed and function of the one or more programs of firmware can be activated, and one or more programs of firmware that are already installed and a function of the one or more programs of firmware are already activated.

In an example case of <FIG>, the list screen <NUM> includes buttons corresponding to firmwares, such as, a firmware button 1201a corresponding to "FW V1. <NUM>," a firmware button 1201b corresponding to "FW V1. <NUM>," a firmware button 1201c corresponding to "FW V1. <NUM>," and a firmware button 1201d corresponding to "FW V1. " Further, the list screen <NUM> includes, for example, an application button 1202a corresponding to "App A" and an application button 1202b corresponding to "App B" as buttons for applications. Further, the list screen <NUM> includes, for example, a management button <NUM> for setting various settings.

Further, the list screen <NUM> may display only one or more programs of the application and firmware not yet installed, or only a list of one or more programs of firmware having one or more of the function versions that are not yet activated.

Then, among the list displayed on the list screen <NUM> being displayed by the UI unit <NUM>, the user presses a button of firmware or a button of application, desired to be installed by the user. For example, as illustrated in <FIG> and <FIG>, if the user presses the firmware button 1201c to install the firmware of "FW V1. <NUM>," the UI unit <NUM> instructs the display unit <NUM> to display the installation screen <NUM> used for installing the firmware of "FW V1.

The layout and function of the installation screen <NUM> are as described above. For example, as illustrated in <FIG> and <FIG>, if a user touches the detail link section <NUM>, the UI unit <NUM> instructs the display unit <NUM> to display a detail screen <NUM> used for displaying one or more functions of the concerned firmware in detail. The detail screen <NUM> is a screen used for displaying a detailed description of the newly added function for the firmware of "FW V1.

Hereinafter, a description is given of the installation screen in detail. It is assumed that the firmware having the function version of "V1. <NUM>" is installed on the MFP <NUM>, and the addable function corresponding to the function version of "V1. <NUM>" is already activated in the MFP <NUM>. In this example case, the maximum function version is "V1. <NUM>," and the current function version is also "V1. " Further, it is assumed that all of the changeable functions corresponding to the function version of "V1. <NUM>" are also already activated.

In this example case, if the user presses the firmware button 1201c used for installing the firmware of "FW V1. <NUM>" on the list screen <NUM> (<FIG>), the installation screen <NUM> of the firmware having the function version of "FW V1. <NUM>" is displayed as illustrated in <FIG>.

If the user presses the installation button <NUM> on the installation screen <NUM> (<FIG>), it becomes clear that the user wants to use the function corresponding to the function version of "V1. <NUM>," and if the firmware of "FW V1. <NUM>" is not yet downloaded from the application market server <NUM>, the firmware of "FW V1. <NUM>" is downloaded from the application market server <NUM> and installed, and then the addable function corresponding to the function version of "V1. <NUM>" is activated.

Further, if the user presses the firmware button 1201a on the list screen <NUM> to install the firmware of "FW V1. <NUM>" (<FIG>), an installation screen <NUM> of the firmware of "FW V1. <NUM>" is displayed as illustrated in <FIG>. As illustrated in <FIG>, the installation screen <NUM> includes, for example, a screen shot display section <NUM>, a description display section <NUM>, a detail link section <NUM>, and an installed display section <NUM>. The functions of the screen shot display section <NUM>, the description display section <NUM>, and the detail link section <NUM> are similar to those of the screen shot display section <NUM>, the description display section <NUM>, and the detail link section <NUM> of the installation screen <NUM> described above.

However, as described above, as to the state of the firmware of the MFP <NUM>, the maximum function version is "V1. <NUM>," and the current function version is also "V1. " Since all of the changeable functions of "V1. <NUM>" have been activated already, there is no need to install the firmware having the function version of "V1. <NUM>," and a message of "installed" is displayed on the installed display section <NUM> instead of the installation button <NUM> of <FIG>. Therefore, the user can recognize that the concerned firmware selected on the list screen <NUM> has already been installed, and the function (addable function, changeable function) of the function version of the concerned firmware has already been activated.

Further, if the updating the concerned firmware and activation of all of the addable function and changeable function are completed for the concerned firmware displayed on the widget <NUM>, the display of the concerned firmware disappears from the widget <NUM>.

However, even if the activation of any one of the addable function and changeable function is not yet completed, the displaying of the widget <NUM> for a longer period of time may have some problem. Therefore, it can be configured that, within a certain period of time (e.g., one week) after the latest firmware is displayed on the widget <NUM>, if the activation of any one of the addable function and changeable function is not yet completed, the notification dialog box <NUM> or the changeable function dialog box <NUM> may be displayed by touching the widget <NUM> by a user. Then, when the certain period of time elapses, even if all of the functions of the latest firmware are not yet activated, , the notification dialog box <NUM> or the changeable function dialog box <NUM> may not be displayed by touching the widget <NUM> by the user.

<FIG> illustrates an example of automatic update setting screen. <FIG> illustrates an example of automatic activation setting screen. <FIG> illustrates an example of entire function enabling setting screen. Hereinafter, with reference to <FIG>, a description is given of an automatic update setting of firmware, an automatic activation setting of function of the firmware, and an entire function enabling setting of function of the firmware.

If a user presses the management button <NUM> on the list screen <NUM> (<FIG>), the UI unit <NUM> instructs the display unit <NUM> to display an automatic update setting screen <NUM> illustrated in <FIG>, an automatic activation setting screen <NUM> illustrated in <FIG>, or an entire function enabling setting screen <NUM> illustrated in <FIG>.

Further, the list screen <NUM> may include management buttons, respectively used for displaying the automatic update setting screen <NUM>, the automatic activation setting screen <NUM>, and the entire function enabling setting screen <NUM>. Further, when the management button <NUM> is pressed, the automatic update setting screen <NUM>, the automatic activation setting screen <NUM> or the entire function enabling setting screen <NUM> is displayed, and then the automatic update setting screen <NUM>, the automatic activation setting screen <NUM>, and the entire function enabling setting screen <NUM> may be freely transitioned.

The automatic update setting screen <NUM> (see <FIG>) is a screen used for determining whether the MFP <NUM> downloads a concerned new firmware from the application market server <NUM> and then to install (update) the concerned new firmware in a case of upgrading the firmware currently installed on the MFP <NUM> to the concerned new firmware when the new firmware is released from the application market server <NUM>. After a user sets ON/OFF on the automatic update setting screen <NUM> and then presses OK button <NUM>, the setting unit <NUM> stores the concerned setting information in the storage unit <NUM>.

For example, if the automatic update setting of the firmware is turned "ON" on the automatic update setting screen <NUM>, and then the installation request unit <NUM> of the MFP <NUM> receives a notice of releasing of a version-upgraded firmware from the application market server <NUM> via the communication unit <NUM>, the installation request unit <NUM> automatically transmits an installation request of the version-upgraded firmware to the application market server <NUM>. Then, the update unit <NUM> automatically downloads the version-upgraded firmware from the application market server <NUM> via the communication unit <NUM>, and then updates and store the version-upgraded firmware in the non-operation region 822b of the ROM <NUM>.

The automatic activation setting screen <NUM> (see <FIG>) is a screen used for determining whether to set the automatic activation for the addable function of the concerned firmware at the time of installing the version-upgraded firmware on the MFP <NUM>. After a user sets ON/OFF on the automatic activation setting screen <NUM> and then presses OK button <NUM>, the setting unit <NUM> stores the concerned setting information in the storage unit <NUM>.

For example, if the automatic activation is turned "OFF" on the automatic activation setting screen <NUM> and the automatic updating is turned "ON" on the automatic update setting screen <NUM>, and if the concerned firmware displayed on the installation screen is already automatically downloaded and updated, and then the installation button on the installation screen is pressed, the addable function activation processing unit <NUM> performs the activation process of the function of the concerned firmware only.

Further, if the automatic activation is turned "ON" on the automatic activation setting screen <NUM> and the automatic updating is turned "ON" on the automatic update setting screen <NUM>, and then the installation request unit <NUM> automatically transmits an installation request of the concerned firmware, the update unit <NUM> automatically downloads the concerned firmware and updates the concerned firmware in the non-operation region 822b of the ROM <NUM>, and then the addable function activation processing unit <NUM> automatically performs the activation process of the function of the concerned firmware.

The entire function enabling setting screen <NUM> (see <FIG>) is a screen used for setting whether all of the changeable functions of the concerned firmware are to be activated automatically at the time when the addable function of the concerned firmware is activated. After the user sets ON/OFF on the entire function enabling setting screen <NUM> and then presses OK button <NUM>, the setting unit <NUM> stores the concerned setting information in the storage unit <NUM>.

For example, when the entire function enabling setting is turned "ON" on the entire function enabling setting screen <NUM>, and the automatic activation setting is turned "ON" on the automatic activation setting screen <NUM>, if the addable function is activated by pressing the installation button <NUM> on the notification dialog box <NUM> and the installation screen <NUM> (<FIG> and <FIG>), the changeable function activation processing unit <NUM> automatically performs the activation processing for all of the changeable functions.

<FIG> is an example of sequence diagram illustrating operation when to install a software program. Hereinafter, with reference to <FIG>, a description is given of a flowchart of firmware installation operation and firmware activation operation in the information processing system <NUM>.

(Steps S11, S12, S13) For example, when the MFP <NUM> is activated or booted, the addable function activation confirmation unit <NUM>, implemented by the addable function <NUM> of the firmware being installed at the time of the booting of the MFP <NUM>, checks or confirms whether an activation instruction of the current function version at the time of the booting of the MFP <NUM> is issued to the activation management unit <NUM>, and an activation instruction of the addable function corresponding to the function version greater than the current function version is issued to the activation management unit <NUM>.

In an example case of <FIG>, it is assumed that the addable function activation confirmation unit <NUM> confirms that the current function version at the time of the booting of the MFP <NUM> is "V1. <NUM>," and the activation instruction of the addable function corresponding to the function version greater than the current function version is not issued. That is, the addable function activation confirmation unit <NUM> checks or confirms that the addable function corresponding to the function version greater than the current function version (e.g., "V1. <NUM>") is disabled, that is the function version greater than the current function version is not activated.

(Steps S14, S15) A user touches the widget <NUM> on the home screen <NUM> using the input unit <NUM> of the MFP <NUM> to display the notification dialog box <NUM>, and then the user presses the detail button <NUM> to display the installation screen <NUM> of the firmware having the function version of "V1. <NUM>" introduced in the notification dialog box <NUM>. Then, the screen request unit <NUM> of the MFP <NUM> transmits a display request of an installation screen of the firmware having the function version of "V1. <NUM>" to the application market server <NUM> via the communication unit <NUM>.

(Step S16) In response to receiving the display request of the installation screen from the MFP <NUM>, the screen response unit <NUM> of the application market server <NUM> transmits information of installation screen (installation screen information) of the firmware having the function version of "V1. <NUM>" to the MFP <NUM> via the communication unit <NUM>. Then, the UI unit <NUM> of the MFP <NUM> displays the installation screen of the firmware having the function version of "V1. <NUM>" using the display unit <NUM> based on the installation screen information received from the application market server <NUM>.

(Steps S17, S18) If the user presses the installation button on the installation screen via the input unit <NUM>, the installation request unit <NUM> of the MFP <NUM> transmits an installation instruction (including activation) for requesting the designated firmware to the application market server <NUM> via the communication unit <NUM>. Thus, when the user presses the installation button on the installation screen, it becomes clear that the user wants to use the function of firmware having the function version confirmed by the user.

(Steps S19, S20, S21, S22) Then, the determination unit <NUM> of the MFP <NUM> compares the function version of the designated firmware (i.e., designated function version of "V1. <NUM>") and the maximum function version of the currently-installed firmware to determine which function version is greater. In this example case, it is assumed that the function version of the designated firmware is "V1. <NUM>" while the maximum function version of the currently-installed firmware is "V1. " In this example case, the firmware currently installed cannot support the addable function corresponding to the function version of the designated firmware, and thereby the firmware is required to be updated with the designated firmware.

In response to receiving the installation instruction from the installation request unit <NUM>, the designated version response unit <NUM> of the application market server <NUM> transmits the function version of "V1. <NUM>" of the designated firmware to the MFP <NUM> via the communication unit <NUM>. Then, as to the function version of "V1. <NUM>"of the firmware designated by the user, the reservation unit <NUM> of the MFP <NUM> makes a reservation for activating the addable function corresponding to the function version of "V1. <NUM>" after updating the firmware designated by the user. The information of function version reserved by the reservation unit <NUM> is temporarily stored, for example, in the RAM <NUM> or the storage <NUM> illustrated in <FIG>.

Then, the update unit <NUM> of the MFP <NUM> downloads the designated firmware having the function version of "V1. <NUM>" from the application market server <NUM> via the communication unit <NUM>, and updates and stores the designated firmware in the non-operation region 822b of the ROM <NUM>. Then, after the updating unit <NUM> updates the designated firmware in the non-operation region 822b, the activation processing unit <NUM> of the MFP <NUM> reboots the MFP <NUM>.

(Steps S23, S24, S25) Then, the activation processing unit <NUM> copies the firmware, updated in the non-operation region 822b of the ROM <NUM> by the update unit <NUM>, into the in-operation region 822a at the rebooting time, and performs the processing for executing the firmware. That is, the activation processing unit <NUM> activates the addable function <NUM> and the changeable function <NUM> of the firmware copied to the in-operation region 822a.

However, as above described, since the addable function provided by the addable function <NUM>, and the changeable function provided by the changeable function <NUM> are not executable if the addable function provided by the addable function <NUM> and the changeable function provided by the changeable function <NUM> are not activated, at this stage, the functions of the addable function <NUM> and the changeable function <NUM> are not yet in the executable state.

Further, if the automatic updating is turned "ON" on the automatic update setting screen <NUM>, the latest firmware is already updated to the ROM <NUM>, in which the processing of steps S20 to S25 is skipped.

(Steps S26, S27,S28, S29) Then, the addable function activation confirmation unit <NUM>, implemented by the addable function <NUM> of the installed firmware, checks or confirms to the activation management unit <NUM> whether an activation (enabling) instruction of the addable function corresponding to the function version greater than the current function version of "V1. <NUM>" is issued. In an example case of <FIG>, it is assumed that the addable function activation confirmation unit <NUM> confirms that the current function version of the MFP <NUM> is "V1. <NUM>" at this stage, and the addable function activation confirmation unit <NUM> confirms that the activation instruction of addable function corresponding to the function version of "V1. <NUM>," greater than the current function version of "V1. <NUM>," is issued (e.g., the addable function activation confirmation unit <NUM> confirms based on the activation instruction to the addable function <NUM> in step S24).

Then, the addable function activation processing unit <NUM> activates or enables the addable function that is to be implemented by the addable function <NUM>.

Further, if the automatic update is turned "ON" on the automatic update setting screen <NUM> and the automatic activation is turned "ON" on the automatic activation setting screen <NUM>, the latest firmware is updated in the ROM822, and when the concerned firmware is executed, the addable function is automatically activated. In this case, for example, if the user presses the installation button on the install screen in step S17, at least the processing of steps S20 to S29 can be skipped.

(Steps S30, S31) Then, the changeable function activation confirmation unit <NUM>, implemented by the changeable function <NUM> of the installed firmware, checks or confirms to the activation management unit <NUM>, that the changeable function is not activated at this stage, such as not only the function version of "V1. <NUM>" but also the changeable function having the function version older than the function version of "V1.

(Step S32) In this example case, it is assumed that the changeable function activation confirmation unit <NUM> has confirmed that all of the changeable functions of the firmware having the function version of "V1. <NUM>" are not yet activated (invalid) as a result of confirmation to the activation management unit <NUM>.

(Step S33) If the changeable function activation confirmation unit <NUM> has confirmed that the changeable function corresponding to the function version of "V1. <NUM>" are not yet activated, the changeable function activation processing unit <NUM> transmits a display instruction of the changeable function dialog box (second screen), such as the changeable function dialog box <NUM>, corresponding to the changeable function that is not yet activated, to the UI unit <NUM>. Then, the UI unit <NUM> instructs the display unit <NUM> to display the changeable function dialog box in accordance with the display instruction.

(Steps S34, S35) If the user presses the installation button on the changeable function dialog box via the input unit <NUM>, the installation request unit <NUM> of the MFP <NUM> transmits, to the changeable function activation confirmation unit <NUM>, an activation instruction for requesting an activation of the changeable function of the designated firmware. Thus, when the user presses the installation button on the changeable function dialog box, it becomes clear that the user wants to use the changeable function of the firmware having the function version confirmed by the user.

Further, the activation of the changeable function displayed on the changeable function dialog box by pressing the installation button is not always required. For example, if the user does not need the activation of changeable function, the changeable function dialog box can be closed by performing a given operation by the user, or the user can select not to activate the changeable function by operating a cancel button or the like. In this case, the processing of steps S35 to S37 is skipped.

(Steps S36, S37) In response receiving the activation instruction, the changeable function activation confirmation unit <NUM> confirms that the activation (enablement) of the changeable function having the function version of "V1. <NUM>" displayed on the changeable function dialog box is instructed. Then, the changeable function activation processing unit <NUM> activates (enables) the changeable function to be implemented by the changeable function <NUM>.

Further, if the entire function enabling setting is turned "ON" on the entire function enabling setting screen <NUM> and an existence of changeable function not yet activated is confirmed in step S32, the processing of steps S33 to S36 can be skipped, and then the changeable function activation processing unit <NUM> activates all of the confirmed changeable functions in step S37.

The processing of steps S33 to S37 is repeated for the number of the changeable functions that are confirmed not yet activated in step S32 (not only the function version of "V1. <NUM>" but also the changeable function having the function version older than the function version of "V1.

The firmware installation operation and firmware activation operation can be performed using the above described sequence of steps S11 to S37.

As to the above described information processing system <NUM>, the information processing system <NUM> displays, to a user, screens displaying the function of the firmware to be updated for the electronic apparatus (e.g., MFP <NUM>) used by the user, such as the notification dialog box <NUM>, the installation screen <NUM>, and the changeable function dialog box <NUM>, so that the user can recognize each function, such as addable function and changeable function. Then, each function can be activated by receiving an installation (including activation) instruction from the user on the screen. Thus, the function of the firmware to be updated can be validated according to a user consent, so that a situation in which the function is changed irrespective to the user intention can be prevented.

Further, as to the above described information processing system <NUM>, the automatic update setting, the automatic activation setting, and the entire function enabling setting can be set. Therefore, depending on a usage style desired by the user, the firmware can be automatically updated, the addable function can be automatically activated when the firmware is updated, and all of the changeable functions can be automatically activated when the addable function is activated. As a result, user convenience can be improved.

Further, as to the above described information processing system <NUM>, the period of time displaying the firmware, which is not yet updated or activated, on the widget <NUM> or the notification dialog box <NUM> can be set to a fixed period, such as one week. With this configuration, the user annoyance can be reduced.

As to the above described embodiment of the electronic apparatus, information processing system, and information processing method, the function of the firmware to be updated can be validated according to a user consent.

Each of the functions of the above-described embodiments can be implemented by one or more processing circuits or circuitry. The processing circuitry includes a programmed processor, as a processor includes circuitry. A processing circuit also includes devices such as an application specific integrated circuit (ASIC), digital signal processor (DSP), field programmable gate array (FPGA), system on a chip (SOC), graphics processing unit (GPU), and conventional circuit components arranged to perform the recited functions.

In the above-described embodiment, when at least any functional units of the MFP <NUM>, the application market server <NUM>, the contract management server <NUM> and the PC <NUM> are implemented by executing one or more programs, the programs are provided in advance by storing the programs in the ROM or the like.

Further, the programs executed by the MFP <NUM>, the application market server <NUM>, the contract management server <NUM> and the PC <NUM> according to the above-described embodiment may be configured to be recorded on a computer-readable recoding medium, such as compact disk read only memory (CD-ROM), flexible disk (FD), compact disk-recordable (CD-R), digital versatile disc (DVD) or secure digital (SD) card, as files in an installable format or executable format.

Further, the programs executed by the MFP <NUM>, the application market server <NUM>, the contract management server <NUM> and the PC <NUM> according to the above-described embodiment may be configured to be stored in one or more computers connected to a network, such as the Internet, and downloaded via the network.

Further, the programs executed by the MFP <NUM>, the application market server <NUM>, the contract management server <NUM> and the PC <NUM> according to the above-described embodiment may be configured to be provided or distributed over a network, such as the Internet.

Further, the programs executed by the MFP <NUM>, the application market server <NUM>, the contract management server <NUM> and the PC <NUM> according to the above-described embodiment can be implemented as one or more modules including at least any of the functional units described above, and as the actual hardware configuration, the CPU reads and executes the programs from the above-described storage device or apparatus to load and implement the above-described functional units on the main storage device.

Numerous additional modifications and variations are possible in light of the above teachings. It is therefore to be understood that, within the scope of the appended claims, the disclosure of this specification can be practiced otherwise than as specifically described herein.

The present invention can be implemented in any convenient form, for example using dedicated hardware, or a mixture of dedicated hardware and software. The present invention may be implemented as computer software implemented by one or more networked processing apparatuses. The network can comprise any conventional terrestrial or wireless communications network, such as the Internet. The processing apparatuses can compromise any suitably programmed apparatuses such as a general purpose computer, personal digital assistant, mobile telephone (such as a WAP or <NUM>-compliant phone) and so on. Since the present invention can be implemented as software, each and every aspect of the present invention thus encompasses computer software implementable on a programmable device. The computer software can be provided to the programmable device using any conventional carrier medium. The carrier medium can compromise a transient carrier medium such as an electrical, optical, microwave, acoustic or radio frequency signal carrying the computer code. An example of such a transient medium is a TCP/IP signal carrying computer code over an IP network, such as the Internet. The carrier medium can also comprise a storage medium for storing processor readable code such as a floppy disk, hard disk, CD ROM, magnetic tape device or solid state memory device.

Claim 1:
An electronic apparatus (<NUM>) pre-installed with firmware updatable via a network, comprising:
an input unit (<NUM>) configured to receive an operation performed by a user;
a display control unit (<NUM>, <NUM>) configured to display, on a display:
a first screen for indicating a first enablement unit (<NUM>) to activate a first function included in the firmware, and
a second screen for indicating a second enablement (<NUM>) unit to activate a second function included in the firmware, the second function comprised by a plurality of second functions, and the second screen including a plurality of second screens prepared for each one of the plurality of second functions;
the first enablement unit (<NUM>) configured to activate the first function, included in the specified firmware, in response to a second operation for the first function displayed on the first screen input via the input unit (<NUM>), wherein the first enablement unit (<NUM>) is configured to activate a plurality of first functions collectively; and
the second enablement unit (<NUM>) configured to activate one or more of the second functions, included in the specified firmware, selected from the plurality of second functions, in response to a third operation for the second function displayed on the second screen input via the input unit (<NUM>).