The present invention relates to a distributed processing technology of an application, in particular to a thin client system and a thin client system controlling method, in which two systems of a client execution system executing the application on a client terminal and a screen transfer system executing the application on a server and transferring a screen output therefrom to the client terminal can be changed dynamically.
All of patents, patent applications, patent publications, scientific articles and the like, which will hereinafter be cited or identified in the present application, will hereby be incorporated by references in their entirety in order to describe more fully the state of the art, to which the present invention pertains.
As an application execution system in the thin client system, it is known that the client execution system in which the client terminal downloads an application located on the server apparatus as needed and executes the application and, the screen transfer system in which the server apparatus executes the application and transmits the screen output to the client terminal and the screen output is displayed. In the screen transfer system, an operability such as the application would be executed on the client terminal is achieved by transmitting input information by a keyboard and mouse and the like by the client terminal to the application on the server apparatus.
For example, the client execution system is described in the patent documents 1 and 2, the screen transfer system is described in the patent documents 3 and 4.
Patent document 1: JP-A-2004-234345
Patent document 2: JP-A-2006-323660
Patent document 3: JP-A-2007-102308
Patent document 4: JP-A-2007-310508
A first problem is that an execution system of the application cannot be changed while executing the application in a conventional thin client system described in the patent documents 1 and 2. This is because a method for dynamically changing the client execution system which is and the screen transfer system is not considered at all. A second problem is that execution of the application is restricted within functions of the client terminal in the client execution system. This is because a function call from the application is performed to the client terminal. A third problem is that execution of the application is restricted within functions of the server apparatus in the screen transfer system described in the patent documents 3 and 4. This is because a function call from the application is performed to the server apparatus.
In view of above, the purpose of the present invention is to provide a thin client system in which a client execution system and a screen transfer system can be changed dynamically from one to the other while executing an application and, the application can be executed beyond the functional restriction of a client terminal and a server apparatus.
To solve the problems described above, a thin client system controlling method of the present invention controls, using a thin client system comprising a client terminal and a server apparatus, an application execution system between the client terminal and the server apparatus according to policy information in which application execution policy for executing applications which are started up on the thin client system is described. In input/output control policy information, it is previously described how to process an input/output of the application executed in a client execution system and a screen execution system. The application is made to execute on the client terminal and the server apparatus and, an input and an output of each application are controlled according to input/output control policy information which corresponds to present execution system. In a case of occurring a change request of execution system, controlling the input/output of both applications according to the input/output control policy information which corresponds to execution form after changing makes it possible to dynamically change the execution system of the application and to execute application beyond the functional restriction of the terminal.
Here, as a terminal, a computer terminal which is a thin client terminal can be applied, in addition, a mobile computer such as a cellular phone terminal and a PDA can be applied.
In such case, as an input/output device, a keyboard, a mouse, communication and input/output of a file can be applied, in addition, functions which are not loaded on a server such as GPS function on a cellular phone, music play function and camera function can be applied.
A thin client system of the present invention comprises a client terminal and a server apparatus wherein
policy information, in which application execution policy for executing applications each of which is started up on the thin client system is described, is stored.
A first advantage is that it is possible to change, while executing the application, from the client execution system to the screen transfer system and from the screen transfer system to the client execution system. This is because the applications are previously executed on the client terminal and the server apparatus and, the input/output of each to application is controlled according to input/output control policy information thereby, allowing states of the both applications to change execution system dynamically. A second advantage is that it is possible to execute the application without restriction by the functions of the client terminal in the client execution system. This is because a part of functions of the application can be executed on the server apparatus according to the input/output control policy information. A third advantage is that it is possible to execute the application without restriction by the functions of the server apparatus in the screen transfer system. This is because a part of functions of the application can be executed on the client terminal according to the input/output control policy information.
The following describes embodiments of the present invention by way of a plurality of examples.
The embodiment of the present invention comprises a client terminal and a server apparatus, both of which are connected through a network. Referring to
Referring to
The input/output control policy information includes, with reference to the table 1 and the table 2, a policy information applied in a case of executing the application in the client system and, a policy information applied in a case of execution in the screen transfer system. In each policy information, it is described how to process input/output events, which are occurred by various input/output devices such as the keyboard, the mouse, the communication and the files in each application executed on the client and the server. For example, the policy information shown in the table 1 means that, when communication event is occurred to the application executed on the client terminal (hereinafter referred to as the client appli) in the client execution system, both of an input and an output are processed on the client terminal side and, as a communication input to the application executed on the server apparatus (hereinafter referred to as the server appli) at the same timing, a communication input to the application on the client terminal is used and, no output. Next, an operation of preferred mode for carrying out the present invention will be described below.
At first, the embodiment will be described using
The input/output control policy information shown in the table 1 and table 2 is previously stored in the application/input-output control policy storage section 205 of the server apparatus 200 (step B1).
First, in a case where the client execution system are selected, the client terminal 100 executes a client execution application while communicating with the server apparatus 200 (routine SA), further, begins a client execution input/output control (step SC). The server apparatus 200 also executes the client execution application (routine SB), further begins the client execution input/output control (step SD).
Here, an execution system change instruction is inputted by the input device 105 of the client terminal 100 (step A1).
Then, the client terminal 100 executes a system change control (routine SE) while communicating with the server apparatus 200, next, a screen transfer system input/output control is executed (routine SG). In similar way, the server apparatus 200 executes the system change control (routine SF), then, the screen transfer system input/output control is executed (routine SH).
Next, using
In the routine SA, when a user who operates the client terminal 100 requests an application execution in client system via the input device 105 (step SA2), the request is notified of the application execution control device 101 through the input/output detection control device 102. When the application execution control device 101 receives the request, the application execution control device 101 requests a download of the application and the input/output control policy information to the server apparatus 200 to the communication device 104 via the input/output detection control device 102 (step SA4).
In the routine SB, the application execution control device 201 of the server apparatus 200 receives a download request from the client terminal 100 via the communication device 204 and the input/output detection control device 202 (step SB2) and, transmits the application and the policy information stored in the application/input-output control policy storage section to the client terminal 100 (step SB4).
The input/output detection control device 102 of the client terminal 100 receives the application and the policy information via the communication device 104, stores the policy information to the file input/output device (step SA6), after that, transmits the application to the application execution control device 101. The application execution control device 101 requests a start of the application to the server apparatus 200 (step SA8), after that, starts up the application (step SA10).
The application execution control device 201 of the server apparatus 200 receives an application start request from the client terminal 100 (step SB6) and, loads the application from the application/input-output control policy storage section and starts execution of the application (step SB8).
Next, using
On the other hand, the second method is generating functions which are API functions relating to each input/output and further having policy loading function. In this case, in source code of corresponding application, because API functions relating to input/output are replaced to the functions having policy loading function, it is needed to change an application but it is possible to minimize a change on OS.
Moreover, although it is described about the API function on OS above, it is not limited to OS if it is the API function, it can apply to API in application and API of middleware. For example, it can apply to Android (trademark), Moap (trademark) which is OS for a cellular phone, JAVA (registered trademark) which is program language, IE API (trademark) of Internet Explorer which is an application, WINDOWS (registered trademark) API (trademark) which is API of OS, UNIX (registered trademark) API (trademark) and LINUX API (trademark). Moreover, as a middleware, it can apply to a virtual machine. In similar at the server apparatus 200, in routine SD, the input/output detection control device 202 detects loading a file (step SD2) and, executes loading a file from the file input/output device 203 according to the description of the policy information (step SD4). Then, the input/output detection control device 102 detects a load request of data from the network (step SC6) and, loads data from the communication device 104 to transmit it to the client appli (step SC8) and, transmits load data to the server apparatus 200 (step SC10). The input/output detection control device of the server apparatus 200, when the server appli detects the load request of data from the network (step SD6), waits for receiving data from the client terminal 100 according to the policy information and, when receiving data (step SD8), returns the data to the server appli (step SD10).
After that, for each detecting the input/output request from the application by the input/output detection control device 102 and the input/output detection control device 202, the input/output control is performed according to the policy information in the similar way described above.
Next, as shown in
Further, upon changing the screen transfer system, as the routine SG, operation contents of the client terminal 100 are transmitted to the server apparatus 200 (SG2), then, in the routine SH, operation contents by the input device such as the keyboard are received (SH2). In the client terminal 100, an application processing is performed but, any screen is not generated (SG4). The server apparatus 200 executes the application and performs the application processing (SH4). Further, the server apparatus generates screen information by the result of the application processing (SH6). The transmission of the screen information is shown in (SH8), the communication device receives the screen information and the input/output detection control device 102 displays the screen information on the screen information display section SG8.
Next, the second embodiment of the present invention will be described using
A difference between
In
Then, the storage detection device 208 detects the amount of storage of the client terminal 100. If a vacant storage of the client terminal 100 exceeds 100 kB, the client execution is permitted (routine SA14). Therefore, it starts a server application execution routine SA18 which is identical application with the client. At this time, it starts an execution routine of client execution application SB18 at the server apparatus 200. Here, the routines SAI4 and SA 18 correspond to SA and SB in the first embodiment and, following SC and SD.
On the other hand, if the vacant storage of the client terminal 100 falls below 100 kB, the client execution is not permitted (routine SA16). Both of the client terminal 100 and the server apparatus 200 start the system change control SA16 and SB 20. Here, the routines SA 16 and SA20 correspond to SE and SF in the first embodiment and, following SG and SH.
Next, the third embodiment of the present invention will be described using
A difference between
In
Then, the buttery capacity detection device 210 detects the buttery capacity of the client terminal 100. If the buttery capacity of the client terminal 100 exceeds one third of full charge, the client execution is permitted (routine SA22). Therefore, it starts an execution routine of client execution application SB24. At this time, the server apparatus 200 starts a server application execution routine SA18 which is identical with the client application. Here, the routines SA24 and SA28 correspond to SA and SB in the first embodiment and, following SC and SD.
On the other hand, if the buttery capacity of the client terminal 100 falls below one third of full charge, the client execution is not permitted (routine SA22). Both of the client terminal 100 and the server apparatus 200 start the system change control SA26 and SB 30. Here, the routines SA26 and SA30 correspond to SE and SF in the first embodiment and, following. SG and SH.
Referring to the input/output control policy information shown in tables 1 and 2, types of events are described as input/output events, otherwise, it is possible to describe a specific file name and communication destination host name (or IP address) and, to control the input/output for each file and for each communication destination host. In this case, in the step SC2 and the step SC6, the input/output detection control device 102 may check file or host to which an input/output request to file or communication from the application is transmitted, after that, may execute a control according to the policy information.
The present invention can apply anything and is not limited on possibility for use, if the present invention relates to a distributed processing technology of an application, in particular to a thin client system and a thin client system controlling method, in which two systems of a client execution system executing the application on a client terminal and a screen transfer system executing the application on a server and transferring a screen output therefrom to the client terminal can be changed dynamically.
While the present invention has been described by associating with some preferred embodiments and examples, it is to be understood that these embodiments and examples are merely for illustrative of the invention by an example, and not restrictive. While it will be obvious to those skilled in the art that various changes and substitutions by equivalent components and techniques are eased upon reading the specification, it is believed obvious that such changes and substitutions fit into the true scope and spirit.
Number | Date | Country | Kind |
---|---|---|---|
2008-085042 | Mar 2008 | JP | national |
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/JP2009/001402 | 3/27/2009 | WO | 00 | 9/13/2010 |