Abstract:
A computer and method thereof including a first settings changing user interface application running on a first operating system, a second settings changing user interface application running on a second operating system, where the second settings changing user interface application provides an equal function to a part of a user interface function provided by the first settings changing user interface application. The second settings changing user interface application inputs a request of changes of settings the first settings changing user interface application executes the changes of settings based on the request and the second settings changing user interface application outputs a result of the changes of settings executed by the first settings changing user interface application.

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
       [0001]    This application is based upon and claims the benefit of priority from the prior Japanese Patent Application No. 2007-40566 filed on Feb. 21, 2007, the entire contents of which are incorporated herein by reference. 
       BACKGROUND 
       [0002]    1. Field 
         [0003]    The present invention relates to a computer and method of providing a software user interface. 
         [0004]    2. Description of the Related Art 
         [0005]    A computer provides a user interface to exchange message(s) between a user and a computer. Generally, software running on an operating system (hereinafter referred to as an OS) controls a display of a user interface on a screen of a display device. Also, the computer provides hardware interface, including, for example, a volume adjustment button, a power button, etc., as a part of the user interface. 
         [0006]    There exists a problem with a typical software interface in that a user can not use a computer or a reaction of the computer to a user&#39;s operation is slow, depending on an operating condition of the computer. For example, first, if an OS or an application hangs up (i.e., stops working, processing a request or instruction), a user can no longer perform an operation employing the software interface. Second, when a system load is high, the computer response to the operation through the software interface is slow. Third, when operation setting(s) of the computer are changed due to an operational error of the user, the interface is not displayed at a normal location on a display screen. On the other hand, a hardware interface is fixed to a computer and less extensible. 
         [0007]    As a technique for using a single computer to perform as multiple computers, a Virtual Machine (VM) is well known. The Virtual Machine, like other applications (APs) running on a host OS, is executed as one process on the host OS by the computer, as shown in  FIG. 1 . Accordingly, a guest OS on the Virtual Machine, like the applications running on the host OS, can be temporarily stopped. Also, even if a response speed of the guest OS on the Virtual Machine is decreased, the host OS and other applications running on the host OS are less susceptible to lower speed. For typical Virtual Machine products, it is possible to switch the Virtual Machine on or off, depending on the virtual device levels (sound, network, etc.), as the setting items of the Virtual Machine. 
         [0008]    As documents related with a multi OS or Virtual Machine, there are Japanese Patent Application Laid-Open No. 11-149385, Japanese Patent Application Laid-Open No. 2001-101034 and Japanese Patent Application Laid-Open No. 2002-318699. 
       SUMMARY 
       [0009]    The disclosed computer and method of providing software user interface includes running a first settings changing user interface application on a first operating system, running a second settings changing user interface application on a second operating system, where the second settings changing user interface application provides an equal function to a part of a user interface function provided by the first settings changing user interface application. 
         [0010]    The disclosed second settings changing user interface application inputs a request for changes of settings, the first settings changing user interface application executes the changes of settings based on the request inputted by the second settings changing user interface application, and the second settings changing user interface application outputs a result of the changes of settings executed by the first settings changing user interface application. 
         [0011]    The disclosed settings changing user interface application is executed on an operating system which communicates with another operating system and executes a change of settings requested from the other operating system. 
         [0012]    Additional aspects and/or advantages will be set forth in part in the description which follows and, in part, will be apparent from the description, or may be learned by practice of the invention. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0013]    These and/or other aspects and advantages will become apparent and more readily appreciated from the following description of the embodiments, taken in conjunction with the accompanying drawings of which: 
           [0014]      FIG. 1  is an explanatory diagram of a Virtual Machine; 
           [0015]      FIG. 2  is an view of a notebook personal computer as a computer; 
           [0016]      FIG. 3  is a diagram illustrating a software configuration of a notebook personal computer as shown in  FIG. 2 ; 
           [0017]      FIG. 4  is a diagram illustrating a settings changing operation under the software configuration as shown in  FIG. 3 ; 
           [0018]      FIG. 5  is a flowchart illustrating a procedure of a second settings changing UI application on a host OS; and 
           [0019]      FIG. 6  is a flowchart illustrating a procedure of a settings changing service on a guest OS. 
       
    
    
     DETAILED DESCRIPTION OF THE EMBODIMENTS 
       [0020]    Reference will now be made in detail to the embodiments, examples of which are illustrated in the accompanying drawings, wherein like reference numerals refer to the like elements throughout. The embodiments are described below to explain the present invention by referring to the figures. 
         [0021]      FIG. 2  is a view of a notebook personal computer (PC) according to an embodiment of the present invention. The personal computer contains a processor, a memory, etc., and including other component(s) of computer. The personal computer shown in  FIG. 2  includes a keyboard  210 , a display  220  and so on as input/output devices receiving and/or transmitting information from or to a user. The processor performs a process in accordance with instruction(s) from software loaded into the memory. Although  FIG. 2  is described by referring to specific component(s) of a personal computer, the present invention may be implemented on any machine or device. 
         [0022]      FIG. 3  is a diagram showing the software configuration of the notebook personal computer shown in  FIG. 2 . In  FIG. 3 , reference numeral  310  denotes an administrative host OS (a second OS), reference numeral  320  denotes a Virtual Machine performed as one process on the administrative host OS  310 , and reference numeral  330  denotes a working guest OS (a first OS) executed on the Virtual Machine  320 . 
         [0023]    Also, reference numeral  340  denotes a first settings changing user interface (UI) application running on the working guest OS  330 , and reference numeral  350  denotes a second settings changing user interface (UI) application running on the administrative host OS  310  and providing an equal function to a part of a user interface (UI) function provided by the first settings changing user interface (UI) application  340 . The second settings changing user interface (UI) application of the administrative host OS  310  enables execution of operation(s) similar to a part of a user interface (UI) function provided by the first settings changing user interface (UI) application  340 . 
         [0024]    Using Virtual Machine (VM) techniques, a normally used OS can be installed as the working guest OS  330  on the VM into the computer, as shown in  FIG. 3 . And an application  350  managing a user interface (UI) required for a user to always utilize is prepared as running on the administrative host OS  310 . For example, as part of the settings changing UI application  340  running on the working guest OS  330 , a sound volume control, is mounted as the application  350  running on the administrative host OS  310 . 
         [0025]    On the display screen of a display  220  in  FIG. 2 , reference numeral  222  denotes a portion displayed by the working guest OS  330 , and reference numeral  224  denotes a portion displayed by the second settings changing UI application  350  running on the administrative host OS  310 . 
         [0026]      FIG. 4  is a diagram explaining a settings changing operation under the software configuration as shown in  FIG. 3 . The guest OS and the host OS in the Virtual Machine technique can communicate with each other via a virtual network. The second settings changing UI application  350  running on the administrative host OS  310  communicates with a settings changing service  332  within the working guest OS  330  via the virtual network, and makes a notification of the settings changing operation through the settings changing UI to the settings changing server  332 . The settings changing server  332  changes the settings of the working guest OS  330  in accordance with the notification. 
         [0027]    That is, the settings changing server  332  operates the first settings changing UI application  340  running on the working gust OS  330  by emulating a mouse/keyboard operation of a user, or directly changes the settings through an API (Application Programming Interface) of the OS standard. The second settings changing UI application  350  of the administrative host OS  310  provides a feedback of a process performed upon a user&#39;s operation to the user. A specific procedure will be described below. 
         [0028]      FIG. 5  is a flowchart showing a procedure of the second settings changing UI application  350  of the administrative host OS  310 . First of all, the settings changing UI application  350  starts the settings changing service  332  of the working guest OS  330  (operation  502 ). Next, the settings changing UI application  350  judges whether or not the service  332  is operating (operation  504 ). If the service  332  is not operating, the settings changing UI application  350  ends this process. 
         [0029]    On the other hand, if the service  332  is operating, the settings changing UI application  350  displays the settings changing UI of the administrative host OS on a part of the screen  224  ( FIG. 2 ) (operation  506 ). Next, the settings changing UI application  350  receives a settings changing operation through the settings changing UI and inputs a request made by the operation (operation  508 ). Next, the settings changing UI application  350  requests changes of the settings to the settings changing service  332  of the working guest OS  330  (operation  510 ). 
         [0030]    A process performed by the settings changing service  332  receiving the request is described below in detail. 
         [0031]    Lastly, the settings changing UI application  350  receiving a result of changing the settings from the settings changing service  332  provides a feedback of a result to the settings changing UI (operation  512 ). Thereafter, the procedure returns to operation  504  to repeat the above process. 
         [0032]      FIG. 6  is a flowchart showing a procedure of the settings changing service  332  on the working guest OS  330 . First, the settings changing service  332  receives a request for changing the settings from the second settings changing UI application  350  of the administrative host OS  310  (operation  602 ). 
         [0033]    Next, the settings changing service  332  change(s) the settings in accordance with the received request (operation  604 ). Lastly, the settings changing service  332  returns the result of changing the settings to the second settings changing UI application  350  of the administrative host OS  310  (operation  606 ), and this process is ended. 
         [0034]    In an embodiment of the present invention, even when a normally used guest OS has a high processing load and a response to a mouse operation is worse (slow), it is possible to perform a necessary operation using the settings changing UI of the host OS. Usually, when a processing load of the OS is high, the response to a UI operation is worse, and a user therefore can not know whether or not the intended operation is performed and may become confused. According to the present invention, it is possible to return a result of changing settings through the settings changing UI of the host OS, irrespective of a state of the guest OS, whereby such a problem can be solved. 
         [0035]    While specific examples of operation(s) such as a mouse operation are provided herein, the present invention is not limited to any particular type of operation request and may include any type of instruction requesting operation(s) executable via a computer. 
         [0036]    Also, the settings changing UI of a general OS may be hidden without an intention of a user, and is problematical in supporting a user who is a beginner or does not possess necessary knowledge to access and change setting(s). The present invention can solve this problem because the settings changing UI of the administrative host OS is always displayed at the same location (a predetermined or dedicated location) on the screen. 
         [0037]    Specifically, according to an embodiment of the present invention, when a music or alarm is reproduced in large volume during a meeting, for example, a user can stop the reproduction or reduce the volume at once. Also, the user can switch a screen where confidential information is displayed to another screen or hide it at once. Also, an interface for switching Japanese-language input can be displayed at the same location on the screen. 
         [0038]    The present invention is not to be considered limited to the above-mentioned embodiment. It will be obvious to those skilled in the art that various changes may be made without departing from the scope of the present invention. 
         [0039]    Although a few embodiments have been shown and described, it would be appreciated by those skilled in the art that changes may be made in these embodiments without departing from the principles and spirit of the invention, the scope of which is defined in the claims and their equivalents.