This non-provisional application claims priority under 35 U.S.C. §119(a) on Patent Application No. 2007-169566 in Japan on Jun. 27, 2007, the entire contents of which are hereby incorporated by reference.
1. Technical Field
The present invention relates to information processing apparatuses capable of providing processes by a computer to a plurality of users through a thin client architecture, in particular, to an information processing apparatus enabling a great number of users to use a thin client while suppressing increase in processing load and transmission load by transmitting a computer screen as a motion picture using a hardware accelerator assigned to each user, an information processing system, and a controlling method of the information processing apparatus.
2. Description of Related Art
In recent years, the broadband communication infrastructure is becoming widespread, and as also known as an ubiquitous society, the user can receive various services anytime and anywhere through a communication network using a terminal device which he/she carries.
If the terminal device which the user carries provides higher functions in order to connect to various services, the cost of the respective terminal devices rises. If a large-capacity storage device is provided in such a terminal device, the risk of leakage of various information including stored personal information, confidential information of a company and the like becomes higher when the terminal device gets stolen, lost etc.
Thus, in recent years, a thin client architecture is widely used. In the thin client architecture, the terminal device of the user provides minimum hardware including memory, network card and graphic card for the processing. The actual main process is carried out in another information processing apparatus connected by way of the communication network, and the terminal device receives only the display screen images as a motion picture based on the result of process from the another information processing apparatus, and displays them on the display. The cost then can be suppressed with the hardware to be arranged in the terminal device made to a minimum, and leakage of information can be prevented because of no data on the terminal device.
A plurality of methods has been proposed for the method of transmitting the display screen images from another information processing apparatus in the thin client architecture.
A first method includes transmitting or receiving a drawing command of the Graphic User Interface (GUI) based on the result of the process as the display screen images, and having the terminal device draw the GUI on the display based on the drawing command received from another information processing apparatus to reproduce the result of process, so that minimum process is carried out in the terminal device.
A second method includes a method of compression coding the display screen output as a result of the process in another information processing apparatus to a motion picture, and transmitting the motion picture to the terminal device as information of the display screen thereby realizing the process in another information processing apparatus from a remote place (e.g., Japanese Laid-Open Patent Publication No. 2007-104692).
There is provided an information processing apparatus according to an aspect, an information processing apparatus including one or a plurality of executing means for executing various processes, and outputting drawing instruction signals of a screen according to the executed process, wherein the information processing apparatus includes one or a plurality of image transmitting means which has an image signal generating unit for generating image signals representing the screen based on the drawing instruction signals when the drawing instruction signals are provided, and a transmitting unit for transmitting the generated image signals to the outside.
There is provided an information processing system according to an aspect, an information processing system including an information processing apparatus including one or a plurality of executing means for executing various processes, and outputting drawing instruction signals of a screen according to the executed process, and one or a plurality of terminal devices including display means for displaying the screen, wherein the information processing apparatus includes one or a plurality of image transmitting means which has a screen generating unit for generating image signals representing the screen based on the drawing instruction signals when the drawing instruction signals are provided, and a transmitting unit for transmitting the generated image signals; the image signal is transmitted to the corresponding one or a plurality of terminal devices by providing the drawing instruction signal to the screen generating unit of the image transmitting means; the terminal device includes means for receiving the image signal transmitted from the transmitting means and displays a display screen based on the received image signal.
There is provided a controlling method of an information processing apparatus according to an aspect, a controlling method of an information processing apparatus for operating one or a plurality of executing means for executing various processes, and outputting drawing instruction signals of a screen according to the executed process, the controlling methods includes the steps of, using one or a plurality of image transmitting means including a screen generating unit for generating image signals representing the screen based on the drawing instruction signals when the drawing instruction signals are provided, and a transmitting unit for transmitting the generated image signals to the outside, assigning the image transmitting means to the respective executing means, providing the drawing instruction signals output from the respective executing means to the screen generating unit of each image transmitting means, and transmitting the image signals generated based on the provided drawing instruction signals to one or a plurality of destinations.
According to the aspects, when transmitting an image signal representing the display screen to an external device, one or a plurality of image transmitting means respectively performs the transmission process, whereby its processing load is reduced, and the image signals of a plurality of display screens can be transmitted to the external device (terminal device). A great number of users are able to use the thin client by applying such an information processing apparatus to a thin client server.
A plurality of methods has been proposed for the method of transmitting the display screen images from another information processing apparatus in the thin client architecture.
A first method includes transmitting or receiving a drawing command of the Graphic User Interface (GUI) based on the result of the process as the display screen images, and having the terminal device draw the GUI on the display based on the drawing command received from another information processing apparatus to reproduce the result of process, so that minimum process is carried out in the terminal device.
A second method includes a method of compression coding the display screen output as a result of the process in another information processing apparatus to a motion picture, and transmitting the motion picture to the terminal device as information of the display screen thereby realizing the process in another information processing apparatus from a remote place (e.g., Japanese Laid-Open Patent Publication No. 2007-104692).
In the first method realized by transmitting the drawing command, the terminal device needs to appropriately correspond the latest drawing command so that the terminal device can draw according to the drawing command output from another information processing apparatus that performs the actual process. In other words, the terminal device needs to be complied every time the process related to the drawing command in another information processing apparatus is modified due to version up etc.
The second method of transferring the display screen as a motion picture is considered to be desirable, but services that satisfy the user could not be provided up to now due to limitation on the transmission speed of the communication network. A communication network enabling transmission and reception of high resolution picture is being realized in recent years. However, in the case of the second method, it is difficult to connect the numerous picture coding devices to each numerous terminal devices at one on one. Increase in load becomes a problem when transmitting the respective compression coded motion pictures to the numerous external devices while simultaneously compression coding a plurality of different image signals in one device.
Embodiments will be specifically described below based on the drawings.
The information processing apparatus 1 is applied with a virtual technology of operating as a plurality of information processing apparatuses in one device, and the information processing apparatus activates and executes an OS corresponding to each terminal device 2, 2, . . . . In the information processing apparatus 1, a server management unit having a function of activating/stopping each OS and managing the operation thereof is activated and executed. The terminal device 2 is connected to the server management unit to transmit a signal requesting for activation of the OS corresponding to itself. The information processing apparatus 1 activates the corresponding OS, but in this case, a thin client architecture is realized by a picture transfer method of transmitting an image signal representing the display screen to the terminal device 2 to display a screen on a display 25 of the terminal device 2 based on a drawing instruction output by the relevant OS. The information processing apparatus 1 acquires an address of the terminal device 2 corresponding to the activated OS, includes the image signal representing the display image generated based on the drawing instruction signal generated by the OS in an IP packet with the acquired address as the destination, and transmits the same to the network N2. The terminal device 2 receives the transmitted image signal, displays the same on the display 25, and starts the operation as the thin client.
The CPU 10 operates by reading out an OS program 111 and a server management program 112 stored in the storage unit 11 as hereinafter described to the memory 12, and the executing the same. In this case, the CPU 10 also reads out a Virtual Machine Monitor (VMM) program 113 stored in the storage unit 11 and executes the same to provide a virtual environment in which the information processing apparatus 1 logically operates as a plurality of information processing apparatuses. The information processing apparatus 1 thus can logically enable a plurality of independent OS to operate. The CPU 10 is configured by a multi-core CPU, and is suitably designed so that each OS 101, server management unit 102, and VMM 103 dispersedly operate on physically different CPU cores. The CPU 10 is not limited to a multi-core CPU and may be a single core CPU.
In addition to various data, the storage unit 11 stores the OS program 111, the server management program 112, and the VMM program 113 to be read out and executed by the CPU 10. The storage unit 11 also stores setting information etc. of the corresponding terminal devices 2, 2, . . . when the CPU 10 operates as each OS 101, 101, . . . . When the CPU 10 operates as each OS 101, 101, . . . , if the operation state transitions to a suspended state such as pause/standby etc. or shutdown, it is used as a placed to store the image of the memory 12 for every OS 101, 101, . . . .
The OS program 111 is OS software of Windows (registered trademark) having Command User Interface (CUI), Graphic User Interface (GUI), Linux, or the like. The CPU 10 reads out the OS program 111 and operates as the OS 101, so that a drawing instruction signal for drawing the display screen including the CUI, GUI, or the like displayed according to various processes is generated and output. When the CPU 10 operates as the OS 101, input signal from an input/output device such as a keyboard, a mouse, or the like is accepted, various processes are executed according to the input signal, and not only the drawing instruction signal for configuring the screen of the CUI and GUI according to the process, but a voice signal etc. is also output.
The VMM program 113 is a software program for realizing a virtual technology in which a plurality of OS operate on a computer device, and is read out by the CPU 10 to realize the management between each software and the hardware resource. The CPU 10 reads out and executes the VMM program 113 to perform the basic control of the operation of the hardware corresponding to each OS 101, 101, . . . .
The server management program 112 is a main program for performing various processes necessary for the server computer to operate as the information processing apparatus 1 according to the present invention. The CPU 10 reads out the server management program 112 and operates as the server management unit 102 so that the CPU 10 reads out and executes the corresponding OS program 111 according to a request for activation from the terminal device 2, 2, . . . , which communication with the server management unit 102 is authenticated by the authentication device S, thereby activating each OS 101, 101, . . . . In this case, the CPU 10 operates as the server management unit 102 to perform assignment control of hardware, that is, the CPU 10, the memory 12, the communication unit 13, and the image transmitting device 3, 3, . . . to each OS 101, 101, . . . and search of non-assigned image transmitting device 3.
The CPU 10 operates the server management unit 102 to perform transmission and reception of control signal such as request signal and instruction signal with each terminal device 2, 2, . . . through the communication unit 13, and makes a decision on whether to read out the setting information corresponding to one of the terminal devices 2 and activate the OS 101 or to shutdown (stop) one of the OS 101, and makes a decision on whether logged in or not. The CPU 10 operates as the server management unit 102 to perform a predetermined process of monitoring the operation of each OS, 101, 101, . . . , and when the operation state of the OS 101 becomes a suspended state such as pause/standby etc., and detecting the same.
The memory 12 is used when the CPU 10 reads out the OS program 111, the server management program 112, and the VMM program 113, and further, is used to temporarily store various information when the CPU 10 reads out and executes each program and performs each process. Therefore, the memory 12 is logically divided into a plurality of memories, which are assigned to each OS 101, 101, . . . , the server management unit 102, and the VMM 103.
The communication unit 13 is a hardware for realizing communication with the terminal device 2, 2, . . . , the authentication device S and the like through the network N2. The communication unit 13 is connected with the public communication network Ni (not shown) and each OS 101, 101, . . . acquires various information such as published pictures, images, text data through the communication unit 13. The communication unit for connecting with the public communication network N1 may be separately arranged. The input/output unit 14 realizes input/output of various signals including the drawing instruction signal with the image transmitting devices 3, 3, . . . to be hereinafter described.
The image transmitting device 3 is configured by PCI (PCI-Express) board, and includes a Graphics Processing Unit (GPU) for generating the image signal representing the display screen based on the drawing instruction signal output through operation as each OS 101, 101, . . . from the CPU 10 of the information processing apparatus 1, an input/output interface 31 for accepting an input/output signal with various input/output devices such as Universal Serial Bus (USB) interface, a conversion unit 32 for converting the image signal representing the display screen generated in the GPU to be input to a coding unit 33, a coding unit 33 of an encoder chip for compression coding the image signal converted by the conversion unit 32 to a digital motion picture of H.264 etc.; and a communication unit 34 including a network card. The coding unit 33 may code the voice signal output from the CPU 10 to be multiplexed with the motion picture.
The image transmitting device 3 is configured to accept the image signal by the GPU, and is the same as the device referred to as graphic card, Graphic Accelerator, and the like generally arranged in a personal computer device when viewed as a destination to which the drawing instruction signal corresponding to the process is output from the CPU 10 of the information processing apparatus 1. Therefore, arrangement of the image transmitting device 3 is effective in that the output process of the drawing instruction signal of the CPU 10 of the information processing apparatus 1 does not need to be greatly modified.
The input/output interface 31 of the image transmitting device 3 has a function of relaying the output signal to each input/output device such as a keyboard, a mouse, a speaker, including the voice signal output according to the process when the CPU 10 of the information processing apparatus 1 operates as each OS 101, 101, . . . . The input/output interface 31 also has a function of relaying the input signal from each input/output device connected to the terminal device 2 to the CPU 10 on which the corresponding OS 101 operates.
The communication unit 34 of the image transmitting device 3 performs a process of storing in the IP packet the digital motion picture output from the coding unit 33 and the input/output signal relayed by the input/output interface 31. If the input/output interface 31 is a USB interface, the process of further storing in the IP packet may be a simple process since the input/output signal is already packetized. The CPU 10 of the information processing apparatus 1 outputs to the image transmitting device 3, 3, . . . destination information such as address of the terminal device 2 through the input/output unit 14 according to the respective OS 101, 101, . . . . The communication unit 34 of the image transmitting device 3 stores the image signal in the IP packet based on the destination information and outputs the same. The IP packet output from the communication unit 34 of the image transmitting device 3 is transmitted to the terminal device 2 corresponding to the address through a communication path of a router and the like.
The destination information output by the CPU 10 of the information processing apparatus 1 to the image transmitting device 3 does not need to directly specify the address of the terminal device 2. The destination information may be a network address and a port number assigned to the communication unit 34 of the image transmitting device 3 or the communication unit of another device, where the communication unit 34 outputs the IP packet storing the image signal to the port indicated in the destination information to be acquired from the relevant port in the terminal device 2.
On the other hand, the terminal device 2 includes a CPU 211 for controlling each configuring unit, a communication unit 21 including a network card, an input/output interface 22 for accepting an input/output signal with various devices such as USB interface, a decoding unit 23 or a decoder chip for decoding the digital motion picture of H.264 and the like, and a conversion unit 24 for converting the decoded image signal to be input to the display 25.
The communication unit 21 of the terminal device 2 acquires the motion picture and the packetized output signal from the IP packet acquired from the image transmitting device 3 assigned to the corresponding OS 101, and outputs the same to the decoding unit 23 and the input/output interface 22.
The input/output interface 22 of the terminal device 2 is connected with the input/output device such as a keyboard 26, a mouse 27, a speaker 28, to transmit and receive the input/output signal with each input/output device. If the terminal device 2 is a television receiver or an STB, the input/output interface 22 may receive an input/output signal similar to the input/output device from a remote controller 29.
The outline of processes performed between the information processing apparatus 1 and the terminal devices 2, 2, . . . , configured as a above until use of thin client becomes possible will now be described.
First, in the explanatory view of
Here, assume the OS 101 “B” also starts to operate. The CPU 10 operating as the OS 101 “B” however does not receive the input signal from the keyboard 26 and the like from the terminal device 2 “B” through the image transmitting device 3, and thus the operation state thereof transitions to the suspended state. The CPU 10 operating as the server management unit 102 detects that the operation state of the OS 101 “B” has transitioned to the suspended state, and thus invalidates and separates the image transmitting device 3 assigned to the OS 101 “B” to be made available to other terminal devices 2, 2, . . . . In the explanatory view of
Meanwhile, if the activation request signal is transmitted from the terminal device 2 “C” to the server management unit 102, the CPU 10 operating as the server management unit 102 searches for an available image transmitting device 3 of the plurality of image transmitting devices 3, 3, . . . when activating the corresponding OS 101 “C” through the VMM 103, and assigns the image transmitting device 3 that was assigned to the OS 101 “B” to the OS 101 “C”. The terminal device 2 “C” then starts to operate as a thin client.
In this manner, the information processing apparatus 1 is configured to execute a plurality of OS 101, 101, . . . and is arranged with a plurality of image transmitting devices 3, 3, . . . to realize thin client through a picture transfer method. The processing load of the CPU 10 of the information processing apparatus 1 is reduced by coding the picture by the image transmitting device 3, 3, . . . or hardware. The CPU 10 operating as each OS 101, 101, . . . does not require a special process such as a process of generating an image signal based on the drawing instruction signal of the screen corresponding to the respective process, and a process of coding the image signal to the motion picture. The output of the drawing instruction signal for drawing the screen corresponding to the executing process is a basic operation as an OS including the GUI, CUI, and the like. Furthermore, in the present invention, there is no need to correspond the image transmitting device 3, 3, . . . to each terminal device 2, 2, . . . , that is, each OS 101, 101, . . . at one on one. The CPU 10 operating as the server management unit 102 dynamically performs the assignment control of assigning the image transmitting device 3 that is no longer used in one OS 101 to another terminal device 2, 2, . . . so that a greater number of terminal devices 2 , 2, . . . can operate as a thin client with small amount of hardware (image transmitting device 3, 3, . . . ).
As shown in the explanatory view of
The assignment of the image transmitting device 3, 3, . . . and the search for an available image transmitting device 3 by the CPU 10 operating as the server management unit 102 as shown in the explanatory view of
As shown in
A specific processing procedure performed between the information processing apparatus 1 and the terminal device 2 will now be described.
When determining that the push of the power button is not detected (S11: NO), the terminal device 2 returns the process to operation S11, and waits until determined that the push of the power button is detected. When determining that the push of the power button is detected (S11: YES), the terminal device 2 transmits the activation request signal to the information processing apparatus 1 from the communication unit 21 (operation S12).
The terminal device 2 determines whether or not start of activation is notified from the information processing apparatus 1 with respect to the transmitted activation request signal (operation S13). The destination (address and port) to acquire the motion picture of the display screen from the information processing apparatus 1 may be recognized according to such notification. When determining that the start of activation is not notified from the information processing apparatus 1 (S13: NO), the terminal device 2 returns the process to operation S13, and waits until determining that the start of activation is notified. When determining that the start of activation is notified from the information processing apparatus 1 (S13: YES), the terminal device 2 starts the operation as a thin client (operation S14), and terminates the processing procedure of requesting activation.
The operation of the information processing apparatus 1 corresponding to the request for activation from the terminal device 2 shown in the operation flow of
The CPU 10 of the information processing apparatus 1 determines whether or not the activation request signal is accepted from the terminal device 2 (operation S21). When determining that the activation request signal is not accepted (S21: NO), the CPU 10 of the information processing apparatus 1 returns the process to operation S21, and waits until determining that the activation request signal is accepted.
When determining that the activation request signal is accepted (S21: YES), the CPU 10 of the information processing apparatus 1 specifies the OS 101 corresponding to the terminal device 2 or the source of the activation request signal (operation S22). Here, for example, the CPU 10 of the information processing apparatus 1 stores the correspondence relationship between the ID of each terminal device 2, 2, . . . and the ID of the corresponding OS 101, and specifies the corresponding OS 101 from the address, the ID, and the like of the terminal device 2 of the source when accepting the activation request signal.
The CPU 10 of the information processing apparatus 1 searches for the image transmitting device 3 that is not yet assigned (operation S23), and assigns the searched image transmitting device 3 to the specified OS 101 (operation S24). Specifically, the CPU 10 performs the search and assignment process based on the management table and the available table as shown in the explanatory views of
The CPU 10 of the information processing apparatus 1 validates the assigned image transmitting device (operation S25), activates the OS101 specified in operation S22 (operation S26), notifies that activation has started to the terminal device 2 or the source of the activation request signal (operation S27), and terminates the process of activation.
As shown in the operation flows of
When determining that the push of the power button is not detected (S31: NO), the terminal device 2 returns the process to the operation S31, and waits. When determining that the push of the power button is detected (S31: YES), the terminal device 2 transmits the stop request signal to the information processing apparatus 1 from the communication unit 21 (operation S32), and terminates the process for requesting stop.
The operation of the information processing apparatus 1 corresponding to the request for stop from the terminal device 2 shown in the operation flow of
The CPU 10 of the information processing apparatus 1 determines whether or not the stop request signal is accepted from the terminal device 2 (operation S41). When determining that the stop request signal is not accepted (S41: NO), the CPU 10 of the information processing apparatus 1 returns the process to operation S41, and waits until determining that the stop request signal is accepted.
When determining that the stop request signal is accepted (S41: YES), the CPU 10 of the information processing apparatus 1 specifies the OS 101 corresponding to the terminal device 2 or the source of the stop request signal (operation S42). The CPU 10 of the information processing apparatus 1 shuts down the specified OS 101 (operation S43), and determines whether or not shutdown is completed (operation S44). When determining that the shutdown is not completed (S44: NO), the CPU 10 of the information processing apparatus 1 returns the process to operation S44 and waits until the shutdown is completed.
When determining that the shutdown is completed (S44: YES), the CPU 10 of the information processing apparatus 1 specifies the image transmitting device 3 that is not assigned from the management table (operation S45), invalidates the specified image transmitting device 3 (operation S46), and terminates the process of stop.
After the process of operation S46, the CPU 10 of the information processing apparatus 1 deletes the ID of the invalidated image transmitting device 3 from the management table as described in the explanatory views of
According to such configuration and processing procedure, services can be provided to a great number of users with a smaller configuration even if the thin client architecture becomes large scale.
The processing procedure shown in the operation flows of
However, the timing of assigning the image transmitting device 3, 3, . . . to the OS 101, 101, . . . corresponding to the respective terminal device 2, 2, . . . is not necessarily when each terminal device 2, 2, . . . starts or terminates the operation as the thin client. For instance, the timing may be when the operation in the terminal device 2 is not performed for a while, and the operation state of the corresponding OS 101 transitions to the pause/standby state. This is because the user may not necessarily request shutdown to the terminal device 2 every time. When the terminal device 2 is realized with a configuration of being included in the television device, and the like, switch may be made to television viewing and the time the terminal device 2 is not used as the thin client might continue for a long period of time. Furthermore, since the operation state of each OS 101, 101, . . . can be managed by the server management unit 102 of the information processing apparatus 1, the image transmitting device 3, 3, . . . may be assigned to each OS 101, 101, . . . at such timing.
The CPU 10 of the information processing apparatus 1 operates as the server management unit 102 and monitors the operation state of each OS 101, 101, . . . , and determines whether or not the operation state of one OS 101 has transitioned to the suspended state of pause/standby etc. or the stopped state by the shutdown operation (operation S51). When determining that the operation state of one OS 101 has not transitioned to neither the suspended state or the stopped state (S51: NO), the CPU 10 of the information processing apparatus 1 returns the process to the operation S51, and continues to monitor the operation state.
When determining that the operation state of one OS 101 has transitioned to the suspended state or the stopped state (S51: YES), the CPU 10 of the information processing apparatus 1 invalidates the assigned image transmitting device 3 (S45, S46), and terminates the process.
According to the processing procedure shown in the operation flow of
A case where the OS 101 which operation state is transitioned to the suspended state transitions to the operation state will be described.
The CPU 10 of the information processing apparatus 1 operates as the server management unit 102 and monitors the operation state of each OS 101, 101, . . . , and determines whether or not the operation state of one OS 101 has transitioned from the suspended state to the operation state (operation S61). When determining that the operation state of one OS 101 has not transitioned to the operation state (S61: NO), the CPU 10 of the information processing apparatus 1 returns the process to the operation S61, and continues to monitor the operation state.
When determining that the operation state of one OS 101 has transitioned to the operation state (S61: YES), the CPU 10 of the information processing apparatus 1 assigns the image transmitting device 3 that is not assigned to the OS 101 and validates the same (S23 to S25), and terminates the process after achieving a state in which a motion picture of the display screen of the OS 101 to be in the operation state can be transmitted to the terminal device 2.
As shown in the operation flow of
Furthermore, if the operation in the terminal device 2 is not performed for a while, and the input signal from the input/output device is stopped from the input/output device such as the keyboard 26, the mouse 27, to the corresponding OS 101 (operation is not performed), the image transmitting device 3 can be controlled to be assigned to another OS 101, 101, . . . .
The CPU 10 of the information processing apparatus 1 operates as the server management unit 102, and monitors the input signal related to the operation from the input/output device which each OS 101, 101, . . . receives from the corresponding terminal device 2. The CPU 10 of the information processing apparatus 1 determines whether or not the input signal from the input/output device is stopped for longer than or equal to a predetermined time with respect to one OS 101 (operation S71). When determining that the input signal is input within a predetermined time with respect to one OS 101 (S71: NO), the CPU 10 of the information processing apparatus 1 returns the process to operation S71, and continues to monitor the input signal.
When determining that the input signal is stopped over longer than or equal to a predetermined time with respect to one OS 101 (S71: YES), the CPU 10 of the information processing apparatus 1 invalidates the assigned image transmitting device 3 (S45, S46), and terminates the process.
According to the processing procedure shown in the operation flow of
Furthermore, the image transmitting device 3, 3, . . . may be assigned according to the instruction signal from the corresponding terminal device 2, 2, . . . during the activation of each OS 101, 101, . . . . In this case, the terminal devices 2, 2, . . . may generate and transmit a transmission start signal and a transmission stop signal for instructing start of transmission and stop of transmission on the transmission of the motion picture from the image transmitting device 3 by the operation of the user. Depending on whether or not the input signal from each input/output device connected to the input interface is detected, the terminal device 2, 2, . . . transmits the transmission stop signal when determining that the operation is not performed for longer than or equal to a predetermined time, and transmits the transmission start signal to again request for transmission of the motion picture when input by the input/output device is detected after the idle state.
When determining that the operation is not performed for longer than or equal to a predetermined time (S81: YES), the terminal device 2 transmits the transmission stop signal to the information processing apparatus 1 from the communication unit 21 (operation S82). The transmission stop signal is transmitted so as to be received by the communication unit 13 of the information processing apparatus 1.
The transmission process of the transmission stop signal in operation S82 may be performed not only from the determination process of operation S81 but from the detection of a corresponding signal from the keyboard 26 and the remote controller 29.
The CPU 10 of the information processing apparatus 1 determines whether or not the transmission stop signal is accepted by the communication unit 13 from the terminal device 2 (operation S91). When determining that the transmission stop signal is not accepted (S91: NO), the CPU 10 of the information processing apparatus 1 returns the process to operation S91 and waits until determining that the transmission stop signal is accepted.
When determining that the transmission stop signal is accepted (S91: YES), the CPU 10 of the information processing apparatus 1 invalidates the image transmitting device 3 assigned to the OS 101 corresponding to the terminal device 2 or the source of the transmission stop signal (S42, S45, S46), and terminates the process.
The recovery of when transmission of the motion picture from the image transmitting device 3 is stopped in response to the operation of the user will now be described. The terminal device 2 is in the idle state, and when detecting input by the input/output device after transmitting the transmission stop signal, transmits the transmission start signal.
The CPU 10 of the information processing apparatus 1 determines whether or not the transmission start signal is accepted by the communication unit 13 from the terminal device 2 (operation S1001). When determining that the transmission start signal is not accepted (S1001: NO), the CPU 10 of the information processing apparatus 1 returns the process to operation S1001, and waits until determining that the transmission start signal is accepted. When determining that the transmission start signal is accepted (S1001: YES), the CPU 10 of the information processing apparatus 1 assigns the image transmitting device 3 that is not assigned to the corresponding OS 101 to the relevant OS 101 and validates the same (S22 to S25), notifies the terminal device 2 that the transmission of the motion picture has started (operation S1002), and terminates the process.
In the first embodiment, the information processing apparatus 1 operates as the information processing apparatus 1 applied with the virtual technology by the VMM program 113. However, the present invention is not limited thereto, and it is also technically possible to realize the present invention by corresponding the information processing apparatus 1, the image transmitting device 3, and the terminal device 2 at one on one without using the virtual technology. However, it is desirable to apply the virtual technology to utilize a plurality of terminal devices 2, 2, . . . in one information processing apparatus 1. Furthermore, as shown in the first embodiment, a configuration that enables a greater number of terminal devices 2, 2, . . . to be used with fewer image transmitting devices 3, 3, . . . by performing a control of assigning the image transmitting devices 3, 3, . . . to each OS 101, 101, . . . by the server management unit 102 or another software is desirable.
Furthermore, in the first embodiment, a configuration in which the image signal generated by the GPU of the image transmitting device 3 is always coded and transmitted as the motion picture is adopted. However, the image signal may be transmitted as it is without necessarily being coded to the motion picture. If the transmission load of the network N2 and the communication unit 34 is taken into consideration, however, it is desirable to transmit the compression coded motion picture.
In the second embodiment, a configuration in which a device for transmitting and receiving a picture is separately arranged on the interior or the exterior of the information processing apparatus 1 is adopted, and a configuration of not only transmitting the motion picture of the display screen from the image transmitting device 3 for each terminal device 2, 2, . . . to operate as the thin client, but also transmitting the motion picture serving as a content from the image transmitting device 3 to each terminal device 2, 2, . . . is shown.
The picture transmitting and receiving device 4 collects and receives the pictures from the public communication network N1 such as Internet or a content database 41. The picture transmitting and receiving device 4 has a function of performing compression coding based on the digital motion picture of H. 264 etc. and outputting the resultant to the outside as necessary. The receiving picture is sometimes attached with information for displaying data related to the picture. For instance, as in the data in the terrestrial digital broadcasting implemented in Japan, data for displaying various data such as program information, weather forecast by image other than text data and program on the screen is expressed with BML (Broadcast Markup Language). The picture transmitting and receiving device 4 also receives an information display signal for displaying the data on the screen.
The picture transmitting and receiving device 4 may be configured to accept the instruction signal and perform reception, coding, and transmission of the picture according to the instruction. In this case, collection, coding, and transmission of the picture by the picture transmitting and receiving device 4 can be controlled according to the operation of the CPU 10 of the information processing apparatus 1.
The information processing apparatus 1 according to the second embodiment further includes a coding unit 15. The coding unit 15 has the same configuration as the coding unit 33 arranged in the image transmitting device 3, 3, . . . and may be realized by hardware or may be realized by software. The CPU 10 of the information processing apparatus 1 operates as each OS 101, 101, . . . or the server management unit 102 to acquire the picture from the picture transmitting and receiving device 4, code the picture by means of the coding unit 15, and input the resultant to the image transmitting device 3, 3, . . . . The CPU 10 of the information processing apparatus 1 also operates as each OS 101, 101, . . . or the server management unit 102 to generate data expressed by BML, and input the same to the image transmitting device 3, 3, . . . as information display signal.
The image transmitting device 3, 3, . . . according to the second embodiment further includes an external picture input unit 35 for accepting the motion picture output from the picture transmitting and receiving device 4 as shown in the block diagram of
The external picture input unit 35 is connected to the picture transmitting and receiving device 4 and is also connected to the coding unit 33, where if the motion picture received from the picture transmitting and receiving device 4 is not coded, the signal is coded by the image transmitting device 3, 3, . . . .
The switching unit 36 selects one or a plurality of the plurality of motion pictures input to the switching unit 36 and inputs the same to the communication unit 34 according to the transmission switch signal input from the input/output interface 31. The signal to be input to the switching unit 36 includes,
(1) motion picture in which the image signal of the display screen generated by the GPU is coded by the coding unit 33;
(2) motion picture coded by the coding unit 15 when the CPU 10 of the information processing apparatus 1 operates as each OS 101, 101, . . . or the sever management unit 102;
(3) information display signal generated when the CPU 10 of the information processing apparatus 1 operates as each OS 101, 101, . . . or the sever management unit 102;
(4) motion picture in which the non-coded motion picture input from the picture transmitting and receiving device 4 is coded by the coding unit 33;
(5) coded motion picture input from the picture transmitting and receiving device 4; and
(6) information display signal input from the picture transmitting and receiving device 4.
The switching unit 36 selects one or a plurality of signals from (1) to (6). For instance, only (1), only (2), or a combination of (1) and (3), (5) and (6), and the like may be selected.
The transmission switch signal input through the input/output interface 31 to the switching unit 36 can be input by the CPU 10 of the information processing apparatus 1 or may be input from the terminal device 2. The content of the image signal (motion picture) and the information display signal to be transmitted may be changed if the CPU 10 of the information processing apparatus 1 inputs the transmission switch signal. Since the input/output interface 22 of the terminal device 2 has a function of transmitting the transmission switch signal to the communication unit 34 of the image transmitting device 3 or the communication unit 13 of the information processing apparatus 1 according to the operation by the user through the communication unit 21, the content to be displayed on the display 25 can be changed from the terminal device 2.
Specifically, as one example, according to a configuration in which a table showing the combination of each signal is stored in the switching unit 36, and correspondence with the number represented by the transmission switch signal to be input is also stored in the table, the switching unit 36 can select the signal by the transmission switch signal.
Therefore, the user using the terminal device 2 operates the input/output device such as the mouse 27, the keyboard 26, the remote controller 29 to make a selection from one or a plurality of selections of
1. displaying a screen serving as a thin client,
2. displaying a picture publicized on the Internet on the screen serving as thin client by an application operating on the OS 101,
3. displaying the resultant of coding the picture publicized on the Internet in the picture transmitting and receiving device, and
4. displaying a picture acquired from the content server on the display 25 of the terminal device 2, and to switch the same.
Furthermore, which signal of the image signal (motion picture) and the information display signal that can be transmitted from each image transmitting device 3, 3, . . . to transmit according to the operation of the CPU 10 of the information processing apparatus 1 can be switched separate from the operation of the user. For instance, the CPU 10 of the information processing apparatus 1 can operate as the server management unit 102 to input the same transmission switch signal to the image transmitting devices 3, 3, . . . assigned to a plurality of OS 101, 101, . . . of each activating OS 101, 101, . . . . Thus, according to the operation of the CPU 10 of the information processing apparatus 1, the same picture can be displayed on the display 25, 25, . . . of each terminal device 2, 2, . . . .
For instance, according to the operation of the CPU 10 of the information processing apparatus 1, the transmission switch signal is input to the plurality of image transmitting devices 3, 3, . . . to also transmit the information display signal for displaying the content of disaster information, weather forecast, advertisement information and the like in addition to the display screen of each OS 101, 101, . . . . Therefore, in each terminal device 2, 2, . . . , it can operate as the thin client and disaster information, weather forecast, and advertisement information can be displayed by screen separation.
Thus, the information processing apparatus 1 can manage in an integrated manner the motion picture to be transmitted to each terminal device 2, 2, . . . using the image transmitting device 3, 3, . . . by adopting a configuration in which the image transmitting device 3 also accepts input of picture from an external device such as the picture transmitting and receiving device 4, freely selects the signal with the transmission switch signal and transmits the same to each terminal device 2, 2, . . . .
Furthermore, since the image transmitting device 3, 3, . . . is adapted to the standard of motion picture used in another service, simultaneous use with another service can be realized with a simple configuration. For instance, the IP broadcast can be viewed and the service can be provided through the Internet by thin client architecture more safely and at lower cost with one terminal device 2 by combining the standard of coding to the motion picture with H. 264 of IP broadcast implemented in Japan. Moreover, such service can be received using an existing television receiver, terminal device, and the like.
Therefore, various services can be provided by realizing a thin client service including the information processing apparatus 1 having the configuration shown in the second embodiment in the thin client architecture.
As a service that can be realized, both display of picture acquired from the public communication network N1 such as Internet on the application operating on the OS 101 and display of picture managed by the content database by switching of transmission can be realized with one terminal device 2 when the terminal device 2 operates as the thin client. The switching of transmission is performed by the operation of the user. If the user has a terminal device 2 including a decoding unit 23 responding to the motion picture to be transmitted and for displaying on the display 25, the user can receive all services with one terminal device. Search, map, on-line shopping, and chat are also possible when operating as the thin client.
Other services that can be realized include, when the CPU 10 of the information processing apparatus 1 operates as the server management unit 102 or a specific OS, freely combining the picture, data, content, and picture of IP broadcast received from the public communication network, data generated therein, and the like and displaying the same as a picture on the terminal device 2, 2, . . . Since which motion picture and information display signal to transmit in the information processing apparatus 1 is managed in an integrated manner and switched, the content to be displayed can be customized in the information processing apparatus 1 for every user and for every group of user. Therefore, according to the operation of the CPU 10 of the information processing apparatus 1, a service for transmitting information to each terminal device 2, 2, . . . by transmitting the motion picture of the IP broadcast to each terminal device 2, 2, . . . and merging search, map, on-line shopping, and chat corresponded to the content of the IP broadcast to be transmitted can be provided.
Since the operation of the application on each OS 101, 101, . . . and motion picture etc. transmitted from the image transmitting device 3, 3, . . . assigned to each OS 101, 101, . . . can be recognized by the CPU 10 of the information processing apparatus 1, not only charging related to the provision of the thin client service, but collective charging etc. corresponding to the content usage state including the IP broadcast can also be managed. The management service such as viewer rating can be provided to the vendor by recognizing which content and motion picture are preferred and transmitted from the image transmitting device 3.
In addition, since the switch of the motion picture and the information display signal to be transmitted can be performed collectively by the operation of the CPU 10 of the information processing apparatus 1, disaster information or emergency contact information can be mandatorily displayed on each terminal device 2, 2, . . . . The OS 101 is operated based on the setting information corresponding to each terminal device 2, 2, . . . and thus the necessary information (contact information etc.) can be selected and displayed for every user using each terminal device 2, 2, . . . . Furthermore, the manner (combination) of display and the content to be displayed may be set as setting information for every user, so that disaster information, emergency contact information and other preferred information can be displayed. The screen configuration etc. in such case can also be set.
Furthermore, the switching of the motion picture and the information display signal to be transmitted can be collectively performed by the operation of the CPU 10 of the information processing apparatus 1, and the same motion picture and information display signal can be transmitted to each terminal device 2, 2, . . . . Thus, a great number of users can view the same picture and information. For instance, data display such as advertisement can be combined and displayed on the display image when operating as the thin client. According to the operation of the CPU 10 of the information processing apparatus 1, the motion picture coded by the coding unit 33 and the motion picture coded by the picture transmitting and receiving device 4 are transmitted to the terminal device 2, 2, . . . used by a great number of users in real time, so that the picture processed in real time can be viewed on each terminal device 2, 2, . . . .
According to the embodiments, the image signal representing a plurality of display screens is transmitted to the respective destinations from one information processing apparatus. The one information processing apparatus does not need to perform the process of acquiring the image signal generated based on the drawing instruction signal for every destination, temporarily storing the same and then transmitting to the outside, and such process can be realized by providing the drawing instruction signal similar to the configuration in which a plurality of monitors is connected.
According to the embodiments, transmission is performed based on the destination information accepted from the information processing apparatus by the respective image transmitting means.
According to the embodiments, the image signal is compression coded to the motion picture by the coding unit arranged in the image transmitting means itself and then transmitted without being coded and transmitted in the information processing apparatus.
According to the embodiments, the input signal from the input device is not directly transmitted and received between the external device and the information processing apparatus, and some of or all the input signals corresponding to the executing means are relayed by the image transmitting means. That is, the image signal representing the display screen and the input/output signal with the input/output device related to the operation can be collectively transmitted and received on one path.
According to the embodiments, every time the respective external device of the destination is activated/stopped, the executing means is dynamically activated and the image transmitting means is assigned. The image transmitting means can be assigned to another executing means while the one executing means is stopped.
According to the embodiments, not only the drawing instruction signal output from the executing means, but the motion picture and the information display signal obtained from the external device are accepted by the image transmitting means, and selection can be made to transmit one or a plurality of the signals by the input of the transmission switch signal.
In the embodiments, when transmitting an image signal representing the display screen to an external device, one or a plurality of image transmitting means respectively performs the transmission process, whereby its processing load is reduced, and the image signals of a plurality of display screens can be transmitted to the external device (terminal device). A great number of users are able to use the thin client by applying such an information processing apparatus to a thin client server.
In the embodiments, the communication means is arranged independent from the information processing apparatus in the transmitting means, so that the destination of the image signal such as address and port can be allocated, the load of the communication process of the information processing apparatus can be reduced, and a great number of users can use the thin client. The path between the external device and the information processing apparatus can be divided to the communication path for connection itself of authentication etc., and the data communication path of the image signal etc. representing the display screen, thereby ensuring safety.
In the embodiments, the image signal representing the display screen is compression coded to a digital motion picture thereby reducing the information amount and reducing the transmission load. In the coding process, the processing load can be reduced by hardware coding without being performed by the information processing apparatus itself. Thus, a great number of users can use the thin client. The standard of the motion picture can be combined with the standard of the IP broadcast and the general moving image content to facilitate application to other services.
In the embodiments, not only the transmission path of the image signal representing the display screen, but some or all of the input signals from the input/output device are also collectively transmitted and received by being relayed by the image transmitting means. Without receiving the input signal from the input/output device by the information processing apparatus and performing the process of determining which of a plurality of executing means and the transmitting means it corresponds, the correspondence relationship can be simplified and the processing load can be reduced, and furthermore, the safety can be ensured.
In the embodiments, the image transmitting means can be dynamically assigned to another executing means while the corresponding one executing means is stopped, and thus the image transmitting means does not need to be fixedly corresponded one on one to the plurality of executing means, that is, the plurality of virtual information processing apparatuses corresponding to the external device. A great number of users then can use the thin client with minimum hardware by design. The assigning timing is a timing corresponding to, not only activation/stop of the executing means, but also the operation state (invalidate assignment in time of suspended state of pause/standby) of the executing means, when the operation is not performed for a predetermined time, and instruction from the external device, so that the transmitting means can be efficiently assigned to a plurality of executing means.
In the embodiments, not only the image signal representing the display screen generated based on the drawing instruction signal output from the executing means, but transmission of signals such as motion picture obtained from another external device and information display signal for broadcast such as BML can be easily switched by the transmission switch signal. Therefore, the combination of the thin client service and the other picture and information distribution service can be performed in an integrated manner. The standard of coding of the transmitting means can be adapted to the standard used in other services, so that the process of IP packetizing etc. in transmitting to the external device can be commonly performed, and the picture and information distribution service such as IP broadcast and the thin client service can be provided in an integrated manner by simply switching the input path to the transmitting unit. The switch can be controlled to transmit picture, image, information of the same content simultaneously with the executing means corresponding to the plurality of external devices and the transmitting means assigned thereto, and thus various services can be provided.
As this description may be embodied in several forms without departing from the spirit of essential characteristics thereof, the present embodiments are therefore illustrative and not restrictive, since the scope where the Specification seeks protection is defined by the appended claims rather than by description preceding them, and all changes that fall within metes and bounds of claims, or equivalence such metes and bounds thereof are therefore intended to be embraced by the claims.
Number | Date | Country | Kind |
---|---|---|---|
2007-169566 | Jun 2007 | JP | national |