1.  Field of the Invention
The present invention relates to an image-processing apparatus, a server, and an image-processing system including these, and, particularly, relates to an image-processing apparatus which is provided with a browser function, with the browser function being utilized as an user interface, and a server device which provides data in response to a request from the browser of the image-processing apparatus, as well as an image-processing system provided with these. 
2.  Description of the Related Art
Recent developments in image-processing technique and information-processing technique allow a single image-processing apparatus to have a plurality of functions (such as a copying function, a scanner function, a printer function, a facsimile function and the like).  In general, such an image-processing apparatus is referred to as a digital complex machine (hereinafter, referred to simply as “complex machine” or “MFP (MultiFunction Peripheral)”).  Normally, the complex machine is connected to a computer network, and executes an image processing (image-forming processes) while transmitting and receiving data to and from various devices, such as a personal computer, a server or another image-processing apparatus. 
Some of the complex machines can request another device to execute a predetermined functionality by way of the network, and utilize the results of the execution.  In this case, the corresponding other device is referred to as a function expansion server.  Upon receipt of a request from the complex machine, the function expansion server executes a predetermined data processing operation, and transmits the results thereof to a predetermined device.  Here, the predetermined device, that is, the output destination, may be the complex machine that has outputted the request, or may be still another function expansion server or the like. 
In cooperation with the function expansion server, the complex machine is allowed to implement a data-processing system suitable for business contents (work flow) of the user so that the workload of the user can be reduced and, for example, image-processing operations can be carried out by using the latest image-processing algorithm that is not installed in the complex machine main body. 
To develop a user environment in which the complex machine having high performance and multiple functions can be fully utilized efficiently, elemental technologies relating to a user interface are very essential technologies.  In fact, researches and developments have been vigorously carried out so as to improve the usability of the user interface. 
However, in recent years, technical renovations has been accelerated and the degree of cooperation of the complex machine with an external device is increased.  Hence, concerns have been focused, in addition to the technique for improving the usability of the user interface, also onto a technique for easily updating the structure of the user interface.  In recent years, concerns are also focused onto a technique for customizing the structure of the user interface so as to meet the user's demands and for easily altering the structure of the user interface in association with functional updates of the complex machine and an external device such as a function expansion server. 
In general, the complex machine is provided with a display (preferably, a touch panel display) as standard outputting means, as well as software keys and hardware-keys as standard inputting means, both of which serves as a user interface.  Here, the software keys are a group of keys displayed on a touch panel display, and the user is allowed to carry out key operations by touching predetermined regions on the touch panel display.  On the touch panel display, software keys to which predetermined functions are assigned are displayed with various shapes, and are deleted when they are no longer required.  In contrast, the hardware-keys are a group of keys that are disposed on the complex machine as physical entities, and the user is allowed to depress the hardware-keys, each having a button shape, so that key operations are carried out.  In general, a hardware-key is considered to be superior to a software key in visibility and operability.  However, different from the software keys, the hardware-keys are not easily changed in their shapes and cannot be eliminated.  Yet, it is possible to assign various functions to the hardware-keys variably according to the state of the complex machine.  For example, a complex machine has a start key as one of the hardware-keys.  The start key is particularly high in its frequency of use among the keys of the complex machine, and is usually prepared as a large-size key that is superior in visibility and operability.  Consequently, various functions, such as a start of scanning execution, a start of copying execution and a start of execution for facsimile transmission, are dynamically assigned to the start key depending on the current mode of the complex machine.  In addition, a complex machine may also include numeric keys, a stop key and the like as ones of the hardware-keys. 
Hereinafter, an example of a prior art related to a user interface of a complex machine (image-processing apparatus) will be described. 
JP 2006-127503 A discloses an image-processing system.  The image-processing system is provided with an image-processing apparatus and a remote computing device, and the image-processing apparatus and the remote computing device are connected to each other so as to transmit and receive data to and from each other.  The image-processing apparatus of JP 2006-127503 A has a mode (hereinafter, referred to as “first mode”) in which operations are carried out by itself, and another mode (hereinafter, referred to as “second mode”) in which a power for controlling the apparatus is assigned to the remote computing device and the user interface of the apparatus is used to exchange information between the user and the remote computing device.  In the second mode of above, the user interface of the image-processing apparatus operates substantially under the control of the remote computing device.  In the second mode, the image-processing apparatus operates such that the data relating to a menu screen to be displayed on the user interface are acquired from the remote computing device and the menu screen is structured and displayed on the display unit based on the data.  When the user carries out an input, such as information, an instruction or the like, onto the menu screen, the image-processing apparatus transmits to the remote computing device the data relating to the input so that the remote computing device executes a predetermined process and returns the results of the process to the image-processing apparatus.  The image-processing apparatus receives the results, and carries out operations according to the results so that the corresponding operations in response to the user input are executed. 
In this manner, in the image-processing system disclosed in JP 2006-127503 A, the data to be used for structuring the menu screen (user interface) of the image-processing apparatus are managed by the remote computing device, and the remote computing device transmits data on demand according to the state of the image-processing apparatus.  Therefore, the image-processing apparatus is not necessarily provided with the data used for structuring the menu screen, and the menu screen of the image-processing apparatus can be updated only by updating the data managed by the remote computing device.  Moreover, JP 2006-127503 A indicates that data described in a mark-up language (HTML, XML, WML, XHTML data or the like) can be used as the data for structuring the menu screen.  In other words, JP 2006-127503 A discloses a technique used for structuring a web-based user interface (menu screen). 
In general, the image-processing apparatus, such as the complex machine, is provided with hardware-keys as the user interface, and JP 2006-127503 A discloses only a technique (for example, see Table 2 of JP 2006-127503 A) for switching functions assigned to each of the hardware-keys of the image-processing apparatus in response to the first mode and/or the second mode.  Thus, the technique relating to controls of the hardware-keys of JP 2006-127503 A, concerns a method for switching functions of the hardware-key between the first mode and the second mode, and JP 2006-127503 A does not disclose a technique in which the controls to the hardware-keys are dynamically switched according to a state in the modes. 
Not only the disclosure of JP 2006-127503 A, the user interface, which may be structured from the information which a browser function module (for example, web browser) acquires information from a server (for example, web server) on demand, has already been known as a web-based user interface. 
By adopting the framework of the web-based user interface as the user interface, while using a touch panel display as the display device (display unit), a display screen (display unit) formed on the touch panel display and software keys (input unit) embedded in the display screen can be integrally realized by the browser function module. 
For this reason, when the user interface of a complex machine structured as the web-based user interface, functions used for major operations and for inputting information are assigned to the software keys, and the hardware-keys are hardly utilized. 
However, the touch panel display has to display various pieces of information as the user interface display unit.  For this reason, the area within the display surface to be utilized for displaying the software keys is inevitably limited, and to provide a large number of software keys on the touch panel display, while taking into consideration sufficient visibility and operability thereof, is actually almost impossible. 
In addition, the operational feeling which a user receives while operating the software keys displayed on the touch panel display is relatively faint in comparison with the feeling which the user receives while operating the hardware-keys.  As a result, it makes the user to recognize whether his/her operation given to the software key is actually inputted into the complex machine or not.  Consequently, the user often makes an operational mistake, such as an erroneous input and an overlapped input, when operating the software keys.  This problem is not ignorable from the viewpoint of usability of the user interface.