This application is based upon and claims the benefit of priority from the prior Japanese Patent Applications No. 2005-186108 filed on Jun. 27, 2005, the entire contents of which are incorporated herein by reference.
1. Field of the Invention
The present invention relates to a server device, method and program which receives input information from an input device used by the user via a network and outputs a result of computation processing based on the input information to an output device used by the same user via the network.
2. Description of the Background
As for a technique of connecting an input-output device to a server device via a network and using computation capability of the server device, there is “Smart Display” of the Microsoft Corporation.
The Smart Display is a display apparatus having a wireless communication IF (Interface), simple computation processing capability, and an input function using a touch pad. The Smart Display is connected to a server PC (Personal Computer) via a network, and the Smart Display displays screen information of application which operates on the server PC. Furthermore, the Smart Display can utilize an application on the server PC by transmitting an input command for the application to the server PC.
If input-output devices other than the display apparatus and a touch pad are connected to the server device via the network and used, however, it is premised in the Smart Display that all inputs and outputs by devices, such as the mouse, other than the display apparatus are also conducted via the display apparatus. Therefore, the display apparatus needs to have an IF that can be connected to various input-output devices, resulting in a problem of a complicated display apparatus.
The problem of the display apparatus becoming complicated can be avoided by making it possible to connect various input-output devices to the server device directly via the network. In this case, however, it is necessary, at the time of use start of each of the input-output devices, for the server device to permit the use of the device after making sure that the device is an input-output device used by a legal user. In the case of the input-output device such as a display apparatus having a touch panel, it is possible to make sure that the user is a legal user by making the user input secret information such as a password. In the case of a device having a poor input function, such as a mouse, it is difficult to make the user input secret information to make sure that a legal user is using the device, resulting in a problem.
By the way, an example of a procedure for permitting to use an output device that is connected to a network and that is in the neighborhood, from another device that is connected to the network and that is at hand is proposed in, for example, JP-A-2004-102663.
According to an aspect of the present invention, there is provided with a server device which outputs a result of computation processing to an output device, comprising: a communication unit configured to receive a connection request from an input device; an output device manager configured to store an identifier of the output device; and an connection controller configured to acquire output capability information of the output device, the output capability information indicating which kind of output the output device can do, configured to acquire input capability information of the input device, the input capability information indicating which kind of input the input device can do, configured to generate secret information which can be input to the input device and can be output by the output device, on the basis of the input capability information and the output capability information, configured to transmit the secret information to the output device, and configured to generate a result of computation processing based on input information received from the input device for transmitting to the output device indicated by the identifier stored in the output device manager in a case of receiving the secret information from the input device.
According to an aspect of the present invention, there is provided with a server device which generates a result of computation processing based on input information from an input device, comprising: a communication unit configured to receive a connection request from an output device; an input device manager configured to store an identifier of the input device; and an connection controller configured to acquire input capability information of the input device, the input capability information indicating which kind of input the input device can do, configured to acquire output capability information of the output device, the output capability information indicating which kind of output the output device can do, configured to generate secret information which can be input to the input device and can be output by the output device, on the basis of the input capability information and the output capability information, configured to transmit the secret information to the output device, and configured to output a result of computation processing based on input information received from the input device indicated by the identifier stored in the input device manager for transmitting to the output device in a case of receiving the secret information from the input device.
According to an aspect of the present invention, there is provided with a program executed in a server device which receives input information from an input device via a network, and outputs a result of computation processing based on the input information to an output device on the network, comprising: a program module for receiving a connection request from the input device; a program module for acquiring output capability information of the output device, the output capability information indicating which kind of output the output device can do; a program module for acquiring input capability information of the input device, the input capability information indicating which kind of input the input device can do; a program module for generating secret information which can be input to the input device and output by the output device, on the basis of the output capability information and the input capability information; a program module for transmitting the secret information to the output device; and a program module for generating a result of computation processing based on input information received from the input device for transmitting to the output device in a case of receiving the secret information from the input device.
The input device 2 includes an information input unit 21 which accepts an input from a user.
The input device 2 includes an own device information storage 22 which stores own device information including an identifier of the own device and capability information of the own device. Here, the capability information means more detailed capability information such as a classification of the input device, such as a mouse, a keyboard or a camera, a classification of a mouse (such as an optical mouse), and a resolution of a camera.
The input device 2 includes a server information storage 23 which stores information containing an identifier of a server device to be connected to the input device. The identifier of the server device is an identifier needed as destination information, such as an IP address of the server device, when conducting communication with the server device via a network.
The input device 2 includes a connection controller 24 which establishes connection with the server device on the basis of information input to the information input unit 21, the own device information stored in the own device information storage 22, and the information stored in the server information storage 23.
The input device 2 includes a communication unit 25 which exchanges information with the server device connected via a network N1.
As an example of the input device 2, a mouse, a keyboard, a touch panel, a tablet, a microphone, a camera or the like having the above-described components is conceivable.
The output device 3 includes an information output unit 31 which presents information to the user.
The output device 3 includes a communication unit 32 which exchanges information with the server device connected thereto via the network N1.
As an example of the output device 3, a display apparatus, a printer, a projector or a speaker having the above-described components is conceivable.
By the way, the input device need not be a device having only the input function, but may have an output function. For example, a projector may have the camera function as well.
The output device need not be a device having only the output function, but may have an input function. For example, a display apparatus may have a touch panel as well.
The server device 1 receives input information from the input device 2 via the network N1, conducts computation on the basis of the received input information, and outputs a result of the computation processing to the output device 3 connected to the network N1. For example, upon receiving an instruction for an application program operating on the server device 1 from a keyboard, the server device 1 executes predetermined processing, and transmits screen data reflecting a result of the execution to a display apparatus.
The server device 1 includes a permitted output device manager 11 which stores information containing identifiers of output devices already permitted to be connected. An example of information stored by the permitted output device manager 11 is shown in
The server device 1 includes an input device connection controller 12 which controls connection with the input device.
The server device 1 includes a communication unit 13 which exchanges information with the output device and the input device connected thereto via the network N1.
Here, it is supposed that the application program operates on the server device 1. However, it is not always necessary. The server device 1 may transfer the received instruction command to a different apparatus on which the application program is actually operating, receive screen data to which a result of execution of an instruction has been reflected, from the different apparatus, and transfer the received screen data to the display apparatus.
Hereafter, operation of the server device 1 conducted when connecting the input device 2 to the server device 1 will be described with reference to
The server device 1 determines whether a connection request message has been received from the input device 2 (S1). If a connection request message has not been received (No at S1), reception of the connection request message is waited for. An example of a message format used in the present embodiment is shown in
Upon receiving a connection request message (yes at S1, A1), the input device connection controller 12 in the server device 1 transmits a capability information acquisition request message to the input device 1 by using an identifier of the input device 2 contained in the connection request message (S2, A2).
The server device 1 determines whether a capability information message has been received from the input device 2 (S3).
If the server device 1 receives a capability information message from the input device (yes at S3, A3), the input device connection controller 12 in the server device 1 acquires capability information of the output device 3 on the basis of an identifier stored in the permitted output device manager 11 (S5). Here, capability information of the output device is, for example, a classification of the output device (such as a display apparatus or a speaker) and more detailed information (such as the resolution of the display apparatus). The capability information of the output device may be stored in association in the permitted output device manager 11, and acquired from the permitted output device manager 11. After a connection request has been generated, the capability information may be acquired from the output device by requesting the output device to transmit the capability information.
Subsequently, the input device connection controller 12 in the server device 1 generates secret information which can be easily input to the input device 2 requesting connection and which can be output in the output device 3 permitted to be connected, on the basis of the capability information of the input device 2 and the capability information of the output device 3, and transmits output information containing generated secret information to the output device 3 (S6, A4). If there are a plurality of output devices capable of outputting the generated secret information, output information containing the secret information may be transmitted to one of output devices or output information containing the secret information may be transmitted to all output devices. Furthermore, also in the case where output devices of a plurality of kinds are connected and separate secret information piece can be generate every output device, output information containing secret information may be transmitted to one of the output devices or output information pieces respectively containing secret information pieces may be transmitted respectively to output devices. By the way, it is desirable to alter the secret information to be generated every connection request.
Subsequently, the server device 1 determines whether a secret information message containing secret information input to the input device by a user has been received from the input device 2 (S7).
Upon receiving a secret information message (yes at S7, A5), the server device 1 determines whether the received secret information is the same as the previously generated secret information (whether the received secret information is proper) (S9). If it is the same (yes at S9), the server device 1 transmits a connection result message containing information that represents that the connection is permitted, to the input device 2 (S10-1, A6). If it is different, the server device 1 transmits a connection result message containing information that represents that the connection is rejected, to the input device 2 (S10-2).
If the connection result message containing information that represents that the connection is permitted is transmitted to the input device 2, thereafter the server device 1 conducts computation processing by using input information input from the input device 2, and outputs a result of the computation processing to the output device 2. If different secret information is transmitted to each of a plurality of output devices at the step S6, the server device 1 outputs the result of the computation processing to an output device to which the same secret information as secret information received from the input device 2 is output. If the same secret information is transmitted to a plurality of output devices, the server device 1 outputs the result of computation processing to all of the output devices, an output device specified by the user, an output device having high priority, or an output device determined at random.
The connection controller 24 in the input device 2 transmits a connection request message inclusive of an identifier of the own device stored in the own device information storage 22 to the server device 1 by using an identifier of the server device stored in the server information storage 23 (S11, A1).
The input device 2 determines whether a capability information acquisition request message is received from the server device 1 (S12). Unless received (no at S12), the input device 2 determines whether timeout has occurred (S13). If timeout has occurred (yes at S13), the input device 2 terminates the processing. Unless timeout has occurred (no at S13), the input device 2 waits for reception of a capability information acquisition request message.
Upon receiving a capability information acquisition request message from the server device 1 (yes at S12, A2), the input device 2 returns capability information of the own device (S14, A3).
The user of the input device 2 inputs secret information output to the output device 3, by using the information input unit 21 in the input device 2. The input device 2 transmits a secret information message containing secret information input by the user, to the server device 1 (S15, A5). If the secret information is based on a plurality of inputs, the input device may transmit partial secret information to the server device 1 each time the partial secret information is input by the user. In this case, the server device 1 may send information representing an input situation to the output device 3 and present it to the user so as to make it possible for the user to ascertain the input situation of the secret information.
The input device 2 determines whether a connection result message is received from the server device 1 (S16). Unless a connection result message is received (no at S16), the input device 2 determines whether timeout has occurred (S17). If timeout has occurred (yes at S17), the input device 2 terminates the processing. If timeout has not occurred (no at S17), the input device 2 waits for reception of a connection result message.
If a connection result message has been received from the server device 1 (yes at S16), the input device 2 ascertains contents of the connection result message. If the connection result message contains information to the effect that the connection is permitted, i.e., the connection is permitted by the server device 1, the user inputs information from the input device 2, and causes the server device 1 to conduct processing based on the input information. The server device 1 presents a result of the processing on the output device 2. If the connection result message contains information to the effect that the connection is rejected, then the input device terminates processing, or returns to the step S11 and starts the procedure for connection to the server device 1 again.
The output device 3 determines whether output information (such as secret information) is received (S21). If output information is received (yes at S21), the output device 3 outputs the received output information (S22). If output information is not received (no at S21), the output device 3 waits for output information sent from the server device 1.
How the server device generates the secret information on the basis of the capability information of the input device and the capability information of the output device will now be described in detail.
First, it is now supposed that the input device is a mouse and the output device is a display apparatus.
On the basis of the information to the effect that the input device is a mouse, the server device can understand that information of a movement quantity can be acquired when the mouse is moved and the user can input button-depressing-events of several kinds and releasing-events in the depressed state. Furthermore, the server device can understand that image information can be displayed on the display apparatus. On the basis of these results, the server device generates image information indicating operation instructions that can be input using the mouse as secret information, generates display image information containing the image information, and transmits the generated display image information to the display apparatus.
Hereafter, a concrete generation example of the secret information will be described. As shown in
This example shows secret information generated in the case where click, upward semicircular movement and click are selected respectively as the starting-button-operation, the moving-operation, and the completing-button-operation in the tables shown in
Hereafter, an example of secret information generation in the case where the input device is an optical mouse and the output device is a display apparatus will be described.
On the basis of information that the input device is the optical mouse, the server device can understand that a movement quantity of the mouse can be generated on the basis of a temporal change of image information input to an optical sensor in the optical mouse. Furthermore, the server device can understand that the image information can be displayed on the display apparatus. On the basis of these results, the server device generates image information such that an image input to the optical sensor in a fixed position changes with time, generates display image information containing the image information, and transmits the generated display image information to the display apparatus.
Secret information 34 is an image that changes at constant periods and speed. This image is displayed in a secret information display position 33 on a display portion 3a of the display apparatus. It becomes possible to input the secret information 34 displayed in the secret information display position 33 to the optical mouse by holding up the optical mouse over the secret information display position 33. Even if a mouse is used therefore, it becomes possible to input the secret information easily.
Besides, in the case where the input device that has issued a connection request is a keyboard and the output device already permitted to be connected is a display apparatus, it becomes possible to input secret information easily even with only the keyboard, by presenting characters that can be input using the keyboard on the display apparatus as the secret information.
In the case where the input device that has issued a connection request is a camera and the output device already permitted to be connected is a display apparatus, it becomes possible to input secret information easily even with the camera, by displaying image information that can be input from the camera on the display apparatus as the secret information.
According to the present embodiment, it is possible to connect an input device to the server device using a simple procedure by presenting secret information that can be input to the input device to be connected from now on, on the output device already permitted to be connected, as heretofore described.
In other words, the possibility that a user other than the user using the output device can detect the output of the output device is low. Furthermore, even if a different user can detect secret information by, for example, stealing a glance at it, the different user cannot connect a different input device unless the different user inputs secret information generated for the different input device. Therefore, the different user cannot connect the different input device by using the secret information at which the different user stole a glance. Accordingly, it is possible to connect an input device to the server device according to a simple procedure while preventing an input device of another user from being falsely connected.
The output device 4 includes an information output unit 41 which presents information to a user.
The output device 4 includes an own device information storage 42 which stores own device information including an identifier of the own device and capability information of the own device.
The output device 4 includes a server information storage 43 which stores information containing an identifier of a server device to be connected to the output device. The identifier of the server device is an identifier needed as destination information, such as an IP address of the server device, when conducting communication with the server device via a network N2.
The output device 4 includes a connection controller 44 which establishes connection with the server device on the basis of information output to the information output unit 41, the own device information stored in the own device information storage 42, and the information stored in the server information storage 43.
The output device 4 includes a communication unit 45 which exchanges information with the server device connected via a network N2.
As an example of the output device 4, a display apparatus, a printer, a projector or a speaker is conceivable in the same way as the first embodiment.
The input device 5 includes an information input unit 51 which accepts information from the user.
The input device 5 includes a communication unit 52 which exchanges information with the server device connected thereto via the network N2.
As an example of the input device 5, a mouse, a keyboard, a touch panel, a tablet, a microphone, a camera or the like is conceivable in the same way as the first embodiment.
By the way, the input device need not be a device having only the input function, but may have an output function. For example, a projector may have the camera function as well.
The output device need not be a device having only the output function, but may have an input function. For example, a display apparatus may have a touch panel as well.
The server device 6 receives input information from the input device via the network N2, conducts computation on the basis of the received input information, and outputs a result of the computation processing to the output device 4 connected to the network N2. For example, upon receiving an instruction for an application program operating on the server device from a keyboard, the server device 6 executes predetermined processing, and transmits screen data reflecting a result of the execution to a display apparatus.
The server device 6 includes a permitted input device manager 61 which stores information containing identifiers of input devices already permitted to be connected. An example of information stored by the permitted input device manager 61 is shown in
The server device 6 includes an output device connection controller 62 which controls connection to the output device.
The server device 6 includes a communication unit 63 which exchanges information with the output device and the input device connected thereto via the network N2.
Here, it is supposed that the application program operates on the server device 6. However, it is not always necessary. The server device 6 may transfer the received instruction command to a different apparatus on which the application program is actually operating, receive screen data to which a result of execution of an instruction has been reflected, from the different apparatus, and transfer the received screen data to the display apparatus.
Hereafter, operation of the server device 6 conducted when connecting the output device 4 to the server device 6 will be described with reference to
The connection controller 44 in the output device 4 transmits a connection request message inclusive of an identifier of the own device stored in the own device information storage 42 to the server device 6 by using an identifier of the server device stored in the server information storage 43 (A11).
Upon receiving a connection request message, the output device connection controller 62 in the server device 6 transmits a capability information acquisition request message to the output device 4 by using an identifier of the output device 4 contained in the connection request message (A12).
Upon receiving the capability information acquisition request message (A13), the output device 4 returns capability information of the own device (A13). Capability information of the output device is, for example, the classification of the output device (such as the display apparatus or the speaker) and more detailed information (such as the resolution of the display apparatus).
Here, the server device 6 acquires the capability information after receiving the connection request; however, if capability information is contained in the connection request message itself, this procedure can be omitted.
Subsequently, the output device connection controller 62 in the server device 6 acquires capability information of the input device 5 on the basis of an identifier stored in the permitted input device manager 61. Here, capability information of the input device is, for example, a classification of the input device (such as a mouse, a keyboard or a camera) and more detailed information (such as whether the device is an optical mouse, or the resolution of the camera). Here, the capability information of the input device may be stored in association in the permitted input device manager 61, and acquired from the permitted input device manager 61. After a connection request has been generated, the capability information may be acquired from the input device by requesting the input device to transmit the capability information.
Subsequently, the output device connection controller 62 in the server device 6 generates secret information which can be easily input to the input device 5 already permitted to be connected, on the basis of the capability information of the output device 4 and the capability information of the input device 5. The secret information can be generated using the same method in the first embodiment. The server device 6 transmits output information containing the generated secret information to the output device 4. In the case where input devices of a plurality of kinds are connected and separate secret information can be input from each of the input devices, output information containing secret information that can be input from one of input devices may be transmitted to the output device, or output information containing a plurality of pieces of secret information that can be input respectively from the input devices may be transmitted to the output device. By the way, it is desirable to alter the secret information to be generated every connection request.
The user of the input device 5 inputs secret information output to the output device 4, by using the information input unit 51 in the input device 5.
Subsequently, the input device 5 transmits a secret information message containing secret information input by the user, to the server device 6 (A15).
Upon receiving a secret information message, the server device 6 determines whether the received secret information is the same as the previously generated secret information. If it is the same, the server device 6 transmits a connection result message containing information that represents that the connection is permitted, to the output device 4. If it is different, the server device 6 transmits a connection result message containing information that represents that the connection is rejected, to the output device 4 (A16).
If the secret information is based on a plurality of inputs, the input device may transmit partial secret information to the server device each time the partial secret information is input by the user. In this case, the server device 6 may send information representing an input situation to the output device and present it to the user so as to make it possible for the user to ascertain the input situation of the secret information.
According to the present embodiment, it is possible to connect an output device to the server device using a simple procedure by presenting secret information that can be input to the input device already permitted to be connected, on an output device to be connected from now on, as heretofore described. At this time, the possibility that a user other than the user using the input device can input secret information from the input device is low. Therefore, it is also possible to prevent an output device of another user from being falsely connected.
The present embodiment differs from the first embodiment in that a plurality of users can use a server device independently and simultaneously. In other words, in response to an input instruction from a certain user A, its computation result is output to an output device used by the same user A. In response to an input instruction from a different user B simultaneously requested, computation is conducted independently of the computation for the user A and a computation result is output to an output device used by the same user B.
The input device 7 includes an information input unit 71, a server information storage 72, an own device information storage 73, a user identifier input unit 74, a connection controller 75, and a communication unit 76. The user identifier input unit 74 inputs a user identifier. Except that the user identifier input unit 74 is present, the configuration of the input device is the same as that in the first embodiment. As an example of the user identifier input unit 74, a fingerprint scanning function, a changeover switch which can select a user identifier, or the like is conceivable.
The output device 8 includes an information output unit 81 and a communication unit 82. The configuration of the output device 8 is the same as that in the first embodiment.
The server device 9 includes an input device connection controller 91, a permitted output device manager 92, and a communication unit 93. The configuration of the server device 9 is the same as that in the first embodiment except that a configuration of the permitted output device manager 92 is different from that in the first embodiment. The permitted output device manager 92 stores identifiers of users who can use output devices in addition to identifiers of the output devices. An example of information stored by the permitted output device manager 92 is shown in
The connection controller 75 in the input device 7 transmits a connection request message inclusive of an identifier of the own device stored in the own device information storage 73 and a user identifier input to the user identifier input unit 74 to the server device 9 by using an identifier of the server device stored in the server information storage 72.
Upon receiving a connection request message from the input device 7, the input device connection controller 91 in the server device 9 acquires capability information of the input device 7. This procedure is the same as that in the first embodiment.
Subsequently, the input device connection controller 91 acquires capability information of an output device among the output devices stored in the permitted output device manager 92, which has a user identifier that coincides with a user identifier contained in the connection request.
The ensuing procedure is the same as that in the first embodiment.
According to the procedure heretofore described, it is possible to connect an input device to the server device using a simple procedure while preventing an input device of another user from being falsely connected, even if a plurality of users can utilize the server device independently and simultaneously. The present embodiment has been described on the basis of the first embodiment. However, the present embodiment can be applied to the second embodiment as well.
Number | Date | Country | Kind |
---|---|---|---|
2005-186108 | Jun 2005 | JP | national |
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/JP06/07010 | 3/28/2006 | WO | 00 | 4/15/2009 |