JP2013171545A - Thin client system, server and client - Google Patents

Thin client system, server and client Download PDF

Info

Publication number
JP2013171545A
JP2013171545A JP2012036913A JP2012036913A JP2013171545A JP 2013171545 A JP2013171545 A JP 2013171545A JP 2012036913 A JP2012036913 A JP 2012036913A JP 2012036913 A JP2012036913 A JP 2012036913A JP 2013171545 A JP2013171545 A JP 2013171545A
Authority
JP
Japan
Prior art keywords
virtual machine
client
program code
condition determination
speculative execution
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2012036913A
Other languages
Japanese (ja)
Inventor
Megumi Nagae
恵 永柄
Takafumi Kasai
崇文 笠井
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2012036913A priority Critical patent/JP2013171545A/en
Publication of JP2013171545A publication Critical patent/JP2013171545A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)

Abstract

PROBLEM TO BE SOLVED: To provide a thin client system for achieving the convenience of a user by shortening a time since the user actually performs an operation until the plotting of a screen is completed.SOLUTION: When one condition among one or more duplication conditions is satisfied by the state of the desktop of a client 20, virtual machine duplication processing S108 of a server 10 creates speculative execution processing S107 as a duplication of virtual machine processing S106. Assuming that an operation set for each condition is actually executed, speculative execution environment desktop processing S113 performs the speculative execution of the operation of a desktop. Screen transfer processing S105 transmits screen data after the speculative operation to the client 20. The transmitted screen data are buffered in a buffer part 203 of the client 20. When the operation is actually executed by the client 20, input/output control processing S202 instantaneously reflects the buffered screen data on a screen part 204.

Description

本発明は、シンクライアントシステムを利用する利用者の体感速度を向上するための方法に関する。   The present invention relates to a method for improving the perceived speed of a user who uses a thin client system.

シンクライアントとは、アプリケーションソフトウェアや重要データをできるかぎり手元に蓄積しないディスクレスのクライアントのことであり、必要最低限の機能だけを搭載し、アプリケーションはネットワークを経由してサーバにアクセスして実行する形態をとるのが通常である。   A thin client is a diskless client that does not store application software and important data as much as possible. It has only the minimum necessary functions, and the application accesses the server via the network and executes it. It is normal to take

シンクライアントシステムは、CPUと、メモリと、ハードディスクなどのコンピュータリソースを搭載したサーバと、必要最低限のコンピュータリソースを搭載し、該サーバとネットワークで接続されたクライアントで構成される。シンクライアントシステムでは画像転送方式が一般的である。画像転送方式は、クライアントで実施したキーボードやマウス操作の入力情報をサーバに送り、サーバで該入力情報に基づきアプリケーションの実行やデータの格納を行い、その実行画面データをクライアントに送る方式である。クライアントには、操作に伴う入力情報の受付と送信、およびサーバから送られる画面データの処理に必要な、最低限のコンピュータリソースなどが搭載される。   The thin client system includes a CPU, a memory, a server on which computer resources such as a hard disk are mounted, and a client that has the minimum necessary computer resources and is connected to the server via a network. An image transfer method is common in a thin client system. The image transfer method is a method in which input information of keyboard and mouse operations performed at the client is sent to the server, the application is executed and data is stored based on the input information, and the execution screen data is sent to the client. The client is equipped with minimum computer resources and the like necessary for receiving and transmitting input information accompanying operations and processing screen data sent from the server.

サーバの環境として、実ハードウェア方式と仮想ハードウェア方式がある。実ハードウェア方式とは、アプリケーションの実行環境となるサーバが、クライアント1台に対し、物理的に1台ずつ存在する方式である。仮想ハードウェア方式は、アプリケーションの実行環境となるサーバが、論理上は、クライアント1台に対し、実ハードウェア方式と同様に1台ずつ存在するが、実際は、1台の物理的なハードウェアが、仮想的にいくつもの仮想ハードウェアを起動し、各利用者は、該仮想ハードウェアにクライアントからアクセスする方式である。   The server environment includes a real hardware method and a virtual hardware method. The actual hardware method is a method in which one server as an application execution environment physically exists for each client. In the virtual hardware method, a server that is an application execution environment is logically one for each client as in the real hardware method, but in reality there is one physical hardware. In this method, a number of virtual hardwares are virtually started and each user accesses the virtual hardware from a client.

仮想ハードウェア方式の場合、物理的には、複数台のクライアントに対し、1台のサーバのみが存在するため、パッチの適用やセキュリティポリシーなどの設定が一括して処理できるほか、最新ソフトウェアの自動インストールや自動バックアップによって運用管理にかかる負担を大幅に削減することができる。また、仮想ハードウェアに障害が発生した場合、物理的なハードウェア交換作業などを実施することなく、新たに仮想ハードウェアを起動し、該仮想ハードウェアで処理を続行できるため、業務停止の影響を最小限に抑えることができる。   In the case of the virtual hardware method, because there is physically only one server for multiple clients, settings such as patch application and security policy can be processed all at once, and the latest software can be automatically Installation and automatic backup can greatly reduce the operational management burden. In addition, if a failure occurs in virtual hardware, the virtual hardware can be started anew and processing can be continued without performing physical hardware replacement. Can be minimized.

シンクライアント環境においては、サーバとクライアント間のネットワーク容量の制約や通信のオーバーヘッドなどにより、要求から応答までに一般的に多くの時間がかかるため、利用者の体感速度が低下することがある。体感速度の低下は、利用者の利便性を著しく妨げる。なお、体感速度とは、利用者がクライアント端末にて入力情報を与えてから、サーバがクライアントに画面データを返すまでの利用者が主観的に感じる速度のことをいう。   In a thin client environment, the user's perceived speed may decrease because it generally takes a long time from a request to a response due to restrictions on the network capacity between the server and the client and communication overhead. The decrease in the experience speed significantly hinders the convenience for the user. Note that the bodily sensation speed refers to a speed that the user feels subjectively after the user provides input information at the client terminal until the server returns screen data to the client.

シンクライアント環境利用者の体感速度を向上させる技術には、特許文献1、特許文献2および特許文献3が存在する。   There are Patent Literature 1, Patent Literature 2, and Patent Literature 3 as techniques for improving the perceived speed of a thin client environment user.

特許文献1には、クライアント側の負荷を増大させることなく、サーバとクライアントとの間において送受信する描画データ列のデータ量を大幅に削減してGUI(Graphical User Interface)の反応速度を向上させることが可能なリモートデスクトップシステムのサーバ装置およびクライアント装置を提供する技術を施したものが開示されている。   Japanese Patent Application Laid-Open No. 2004-228561 improves the response speed of a GUI (Graphical User Interface) by significantly reducing the amount of data of a drawing data sequence transmitted and received between a server and a client without increasing the load on the client side. A remote desktop system server device and a client device that are capable of providing a technology are disclosed.

特許文献2には、通信を行うコンピュータはそれぞれが通信状況とデータの通信レートを取得することが可能であり、相互に通信する際にその情報を用いて転送する情報を変化させることでデスクトップ画面のようなデータを送受信する場合に使用者の利便を損なわないように共有を行うことを可能にする技術を施したものが開示されている。   In Patent Document 2, each computer that performs communication can acquire a communication status and a data communication rate. When communicating with each other, a desktop screen is obtained by changing information to be transferred using the information. In the case of transmitting / receiving such data, there is disclosed a technology that enables sharing so as not to impair user convenience.

特許文献3には、リンクが設定されている画面に対して先読み指示の指定があれば、その画面を表示するのに必要なデータは、キャッシュメモリに記憶される。これにより、この画面を表示する場合には、キャッシュメモリから必要なデータが読み出され、表示要求から表示までの時間を短くする技術を施したものが開示されている。   In Patent Document 3, if a prefetch instruction is specified for a screen on which a link is set, data necessary to display the screen is stored in a cache memory. Thus, when this screen is displayed, a technique is disclosed in which necessary data is read from the cache memory and a technique for shortening the time from the display request to the display is applied.

特開2007−226635号公報(段落0049)JP 2007-226635 A (paragraph 0049) 特開2004−355303号公報(段落0005)JP 2004-355303 A (paragraph 0005) 特開2000−57078号公報(段落0016)JP 2000-57078 A (paragraph 0016)

しかしながら、シンクライアント環境において、クライアント端末に与えた入力情報が、ネットワークを介してサーバに到達し、サーバで処理された画面データが再びネットワークを介してクライアント端末に届き、表示されるまでの時間は、データ量や通信容量だけではなく、サーバとクライアント間の通信経路の距離にも依存する。すなわち、サーバとクライアント間の通信経路が長いと利用者が実際に操作を行ってから、その結果が画面に表示されるまでの時間が長くなり、体感速度が低下するという課題がある。   However, in the thin client environment, the input information given to the client terminal reaches the server via the network, and the time until the screen data processed by the server reaches the client terminal again via the network and is displayed is It depends not only on the amount of data and communication capacity, but also on the distance of the communication path between the server and the client. That is, if the communication path between the server and the client is long, there is a problem that the time from when the user actually operates until the result is displayed on the screen becomes long, and the sensation speed decreases.

例えば、サーバは日本に設置されており、日本から地球の真裏に位置する場所でクライアント端末を使用した場合、サーバとクライアント端末間が光ファイバーケーブルで直結していたとしても、光速度から計算すると上記時間は約0.1秒となる。実際は、光ファイバーケーブルで直結されずルータを経由するなど通信経路は複雑になっており、上記時間は0.1秒より長い。この課題は、特許文献1〜3のいずれにおいても解決できない。したがって、より体感速度を向上させる技術が求められている。   For example, if the server is installed in Japan and the client terminal is used in a location directly behind the earth from Japan, the above calculation is based on the speed of light even if the server and the client terminal are directly connected by an optical fiber cable. The time is about 0.1 seconds. Actually, the communication path is complicated, such as via a router instead of being directly connected by an optical fiber cable, and the above time is longer than 0.1 seconds. This problem cannot be solved in any of Patent Documents 1 to 3. Therefore, there is a demand for a technique for further improving the sensation speed.

本発明は、前記の課題を解決するための発明であって、サーバとクライアント間の通信経路が長い場合に、利用者が実際に操作を行ってから、画面の描画が完了するまでの時間を短縮し、利用者の利便性の向上を実現させるシンクライアントシステム、サーバ、およびクライアントを提供することを目的とする。   The present invention is an invention for solving the above-mentioned problem, and when the communication path between the server and the client is long, the time from when the user actually operates until the drawing of the screen is completed. An object of the present invention is to provide a thin client system, a server, and a client that can be shortened and improve user convenience.

前記の目的を達成するため、本発明においては、サーバ環境は仮想ハードウェア方式であることを前提とし、仮想マシン環境と投機実行環境を備える。本発明において、投機実行とは、プログラムが途中で条件分岐している場合に、分岐した先の処理を仮定してあらかじめ実行しておくことをいう。   In order to achieve the above object, in the present invention, the server environment is assumed to be a virtual hardware system, and includes a virtual machine environment and a speculative execution environment. In the present invention, speculative execution refers to pre-execution assuming a branch destination process when a program branches conditionally on the way.

クライアントのデスクトップの状態が、1つ以上の複製条件のうち、1つの条件(例えばマウスカーソルが、クリック可能な箇所に乗った)を満たしたとき、サーバの仮想マシン複製処理は、仮想マシン処理(例えば、仮想マシン処理S106)の複製として投機実行処理(例えば、投機実行処理S107)を作成する。該条件ごとに設定された動作(例えばクリックを実行)が実際に行われたと仮定して、作成した投機実行処理の投機実行環境デスクトップ処理は、デスクトップの動作を投機実行する。画面転送処理は、動作実行後の画面データのクライアントへの送信を開始する。送信された画面データは、クライアントのバッファ部にバッファされる。クライアントで該動作が実際に実行された場合、入出力制御処理は、バッファされた画面データを即座に画面部に反映する。   When the desktop state of the client satisfies one of the one or more replication conditions (for example, the mouse cursor is on a clickable part), the virtual machine replication process of the server is the virtual machine process ( For example, a speculative execution process (for example, speculative execution process S107) is created as a copy of the virtual machine process S106). The speculative execution environment desktop process of the created speculative execution process speculatively executes the operation of the desktop, assuming that an operation set for each condition (for example, executing a click) is actually performed. In the screen transfer process, transmission of the screen data after the execution of the operation to the client is started. The transmitted screen data is buffered in the client buffer. When the operation is actually executed by the client, the input / output control process immediately reflects the buffered screen data on the screen unit.

併せてサーバでは、作成した投機実行処理を、仮想マシン処理として扱い、以後の処理を継続する。該動作が実行されなかった場合、仮想マシン破棄処理は、複製元の仮想マシン処理を、その後も仮想マシン処理として扱い、以後の処理を継続する。以上により、利用者のクライアントの操作実施後、操作状態のサーバへの送信、およびサーバからの操作後の画面データの受信にかかる時間を待つことなく、ただちにクライアントの画面部に操作結果を反映させることができる。その結果、サーバとクライアント間の通信経路が長い場合に、利用者が実際に操作を行ってから、その結果が画面部に表示されるまでの時間が短縮できる。   At the same time, the server treats the created speculative execution process as a virtual machine process and continues the subsequent processes. If the operation is not executed, the virtual machine discarding process treats the replication source virtual machine process as a virtual machine process and continues the subsequent processes. As described above, the operation result is immediately reflected on the screen of the client without waiting for the time required for the transmission of the operation state to the server and the reception of the screen data after the operation from the server after the user's operation is performed. be able to. As a result, when the communication path between the server and the client is long, the time from when the user actually performs the operation until the result is displayed on the screen can be shortened.

本発明によれば、利用者の体感速度を向上し、利用者の利便性を向上させることができる。   ADVANTAGE OF THE INVENTION According to this invention, a user's experience speed can be improved and a user's convenience can be improved.

本発明の実施形態に係るシンクライアントシステムの構成を示す図である。It is a figure which shows the structure of the thin client system which concerns on embodiment of this invention. サーバのハードウェア構成を示す図である。It is a figure which shows the hardware constitutions of a server. クライアントのハードウェア構成を示す図である。It is a figure which shows the hardware constitutions of a client. 判定情報保管部に登録されている利用者の複製条件テーブルおよび破棄条件テーブルのデータ構造を例示する図である。It is a figure which illustrates the data structure of the replication condition table of a user registered in the determination information storage part, and a discard condition table. 画像データを受信した場合の入出力制御処理を例示するフローチャートである。6 is a flowchart illustrating an input / output control process when image data is received. 入力情報を受信した場合の入出力制御処理を例示するフローチャートである。6 is a flowchart illustrating an input / output control process when input information is received. 入力転送処理を例示するフローチャートである。It is a flowchart which illustrates an input transfer process. 画面転送処理を例示するフローチャートである。It is a flowchart which illustrates a screen transfer process. 仮想マシン処理を例示するフローチャートである。It is a flowchart which illustrates a virtual machine process. 仮想マシン環境デスクトップ処理を例示するフローチャートである。It is a flowchart which illustrates a virtual machine environment desktop process. 仮想マシン環境複製判定処理を例示するフローチャートである。It is a flowchart which illustrates a virtual machine environment duplication determination process. 仮想マシン環境破棄判定処理を例示するフローチャートである。It is a flowchart which illustrates a virtual machine environment destruction determination process. 投機実行環境デスクトップ処理を例示するフローチャートである。It is a flowchart which illustrates speculation execution environment desktop processing. 仮想マシン複製処理を例示するフローチャートである。It is a flowchart which illustrates a virtual machine replication process. 仮想マシン破棄処理を例示するフローチャートである。It is a flowchart which illustrates a virtual machine destruction process. 複製条件判定プログラムコード実行処理を例示するフローチャートである。It is a flowchart which illustrates a replication condition determination program code execution process. 仮想マシン処理破棄条件判定プログラムコード実行処理を例示するフローチャートである。It is a flowchart which illustrates a virtual machine process destruction condition determination program code execution process. 投機実行処理破棄条件判定プログラムコード実行処理を例示するフローチャートである。It is a flowchart which illustrates a speculative execution process discard condition determination program code execution process. 投機実行処理が仮想マシン処理として処理を実行する場合のシンクライアントシステムの構成を示す図である。It is a figure which shows the structure of a thin client system in case a speculative execution process performs a process as a virtual machine process. クライアントの遷移画面の一例を示す図である。It is a figure which shows an example of the transition screen of a client.

以下、本発明の実施形態について、図面を参照して詳細に説明する。
図1は、本発明の実施形態に係るシンクライアントシステムの構成を示す図である。該シンクライアントシステムは、サーバ10と、クライアント20とを有し、サーバ10とクライアント20とは、ネットワークを介して接続されている。
Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.
FIG. 1 is a diagram showing a configuration of a thin client system according to an embodiment of the present invention. The thin client system includes a server 10 and a client 20, and the server 10 and the client 20 are connected via a network.

最初に、本発明での処理概要について、図20を参照して説明する。図20は、クライアントの遷移画面の一例を示す図である。図20(a)は、クライアント20のデスクトップ上の画面例である。クライアント20を利用する利用者(ユーザ)は、ウィンドウに表示されたソフトウェアボタンである[次へ]、[戻る]、[詳細表示]のうち、マウスなどの入力デバイスを使用して、[次へ]を押下すると、図20(b)の次の画面が表示される。そして、ユーザは、図20(b)に示すウィンドウに表示されたソフトウェアボタンである[登録]、[戻る]ボタンをうち、[登録]を押下すると、図20(c)の登録完了の画面が表示される。   First, an outline of processing in the present invention will be described with reference to FIG. FIG. 20 is a diagram illustrating an example of a client transition screen. FIG. 20A is a screen example on the desktop of the client 20. A user (user) who uses the client 20 uses an input device such as a mouse among [Next], [Back], and [Detail Display] which are software buttons displayed in the window, and clicks [Next]. ] Is pressed, the next screen in FIG. 20B is displayed. When the user presses [Register] among the [Register] and [Return] buttons that are software buttons displayed in the window shown in FIG. 20B, the registration completion screen in FIG. 20C is displayed. Is displayed.

ユーザは、デスクトップ上に表示された画面をみながら、マウスのポインタ(矢印)を移動させる場合がある。このとき、例えば、図20(a)において、[次へ]にポインタが置かれた場合、サーバ10側では、[次へ]が押下された場合に表示する画面を準備し、クライアント20側に送信しておく。その後、ユーザが[次へ]を押下した場合に、クライアント20は、バッファ部203に記憶しておいた画面を即座に表示することができる。このように、本発明では、利用者の体感速度を向上し、利用者の利便性を向上させることができる。   The user may move the mouse pointer (arrow) while viewing the screen displayed on the desktop. At this time, for example, in FIG. 20A, when the pointer is placed on [Next], the server 10 side prepares a screen to be displayed when [Next] is pressed, and on the client 20 side. Send it. Thereafter, when the user presses “Next”, the client 20 can immediately display the screen stored in the buffer unit 203. Thus, according to the present invention, it is possible to improve the user's experience speed and improve the convenience of the user.

利用者の体感速度の向上のための、処理内容としては下記のようになる。
処理S1:サーバ10は、クライアント20からポインタの入力情報を受信する。入力情報としては、例えば、クライアント20のマウスの1ミリ秒間の移動距離を表すベクトル値(x軸増分、y軸増分をそれぞれ表す2個の組み合わせ)を表す電文、クライアント20のキーボードで打鍵されたキーの文字コードを示す電文がある。
The processing contents for improving the user's sensation speed are as follows.
Process S <b> 1: The server 10 receives pointer input information from the client 20. As input information, for example, a message representing a vector value (two combinations representing x-axis increment and y-axis increment) representing a moving distance of the mouse of the client 20 for 1 millisecond, and a keystroke is made on the keyboard of the client 20 There is a message indicating the character code of the key.

処理S2:サーバ10は、サーバ10は受信した入力情報をもとに仮想マシン処理にて、ポインタの入力情報が所定条件を満たすか否かを判定し、所定条件を満たしている場合(例えば、図20(a)の場合)、サーバ10は仮想マシン処理S106(クライアント20の仮想マシン)の複製として投機実行処理S107(クライアント20の複製仮想マシン)を作成する。そして、サーバ10は、投機実行処理S107で、現在のポインタ([次へ]ボタン)でクリック操作(押下操作)を行うプログラムコードを実行し、図20(b)の画面データを作成する。   Process S2: The server 10 determines whether or not the input information of the pointer satisfies the predetermined condition in the virtual machine process based on the received input information, and the server 10 satisfies the predetermined condition (for example, In the case of FIG. 20A, the server 10 creates a speculative execution process S107 (a duplicate virtual machine of the client 20) as a duplicate of the virtual machine process S106 (a virtual machine of the client 20). Then, in the speculative execution process S107, the server 10 executes the program code for performing the click operation (pressing operation) with the current pointer ([Next] button), and creates the screen data of FIG.

処理S3:サーバ10は、作成した図20(b)の画面データに破棄条件判定プログラムコードを添付してクライアント20に送信する。画面データは、例えば、液晶ディスプレイなどのデバイスに表示される画面を、予め設定された解像度(例えば、横1024ピクセル×縦768ピクセル)に分割して画像化したときの、各ピクセルの色を表すベクトル値(赤成分・青成分・緑成分をそれぞれ表す3個の数字の組み合わせ)を表す画像データである。   Process S3: The server 10 attaches the discard condition determination program code to the created screen data of FIG. The screen data represents, for example, the color of each pixel when the screen displayed on a device such as a liquid crystal display is imaged by dividing it into a preset resolution (for example, 1024 pixels by 768 pixels). This is image data representing a vector value (a combination of three numbers each representing a red component, a blue component, and a green component).

処理S4:クライアント20は、図20(b)の画面データを受信し、バッファ部に格納するとともに、受信した破棄条件判定プログラムコードを実行する。実際にクライアントで図20(a)の状態で[次へ]ボタンがクリックされた場合、クライアント20はバッファ部に格納した図20(b)の画面データを画面部に反映する。図20(a)の状態で[次へ]ボタンからポインタが外れた場合、クライアント20はバッファ部に格納した図20(b)の画面データを破棄する。   Process S4: The client 20 receives the screen data of FIG. 20B, stores it in the buffer unit, and executes the received discard condition determination program code. When the client clicks the [Next] button in the state of FIG. 20A, the client 20 reflects the screen data of FIG. 20B stored in the buffer unit on the screen unit. When the pointer is removed from the [Next] button in the state of FIG. 20A, the client 20 discards the screen data of FIG. 20B stored in the buffer unit.

処理S5:処理S4と並行して、サーバ10は、破棄条件プログラムコードを実行する。図20(a)の状態で[次へ]ボタンがクリックされた場合、投機実行処理S107を仮想マシン処理S106A(図19参照)として以後の処理を継続する。[次へ]ボタンからポインタが外れた場合、元の仮想マシン処理S106を継続する。
以後、処理S1〜処理S5を繰り返すことになる。
Process S5: In parallel with process S4, the server 10 executes the discard condition program code. When the [Next] button is clicked in the state of FIG. 20A, the speculative execution processing S107 is set as the virtual machine processing S106A (see FIG. 19) and the subsequent processing is continued. When the pointer is removed from the [Next] button, the original virtual machine process S106 is continued.
Thereafter, the processes S1 to S5 are repeated.

図1に戻り、前記処理内容を実現するシステム構成について説明する。
サーバ10は、通信部101と、仮想マシン管理部102、判定情報保管部103を備える。通信部101は、サーバ10からクライアント20への画面データの送信、および、クライアント20からサーバ10へ送信された入力情報の受信を行う。
Returning to FIG. 1, a system configuration for realizing the processing contents will be described.
The server 10 includes a communication unit 101, a virtual machine management unit 102, and a determination information storage unit 103. The communication unit 101 transmits screen data from the server 10 to the client 20 and receives input information transmitted from the client 20 to the server 10.

判定情報保管部103は、複製条件テーブル116(図4参照)、および破棄条件テーブル117(図4参照)を備える。該複製条件テーブル116、および該破棄条件テーブル117が保持するデータの読み出しまたは変更は、仮想マシン環境複製判定処理S111、または仮想マシン環境破棄判定処理S112から、関係データベース操作の電文を送信することによって行われる。   The determination information storage unit 103 includes a replication condition table 116 (see FIG. 4) and a discard condition table 117 (see FIG. 4). Reading or changing the data held in the replication condition table 116 and the destruction condition table 117 is performed by sending a message of a relational database operation from the virtual machine environment replication determination process S111 or the virtual machine environment destruction determination process S112. Done.

仮想マシン管理部102は、入力転送処理S104と、画面転送処理S105、クライアント20ごとの仮想マシン処理S106、クライアント20ごとの仮想マシン処理S106の複製である投機実行処理S107、仮想マシン複製処理S108、および仮想マシン破棄処理S109を備える。なお、仮想マシン処理S106と投機実行処理S107との関係については後記する。   The virtual machine management unit 102 includes an input transfer process S104, a screen transfer process S105, a virtual machine process S106 for each client 20, a speculative execution process S107 that is a duplicate of the virtual machine process S106 for each client 20, a virtual machine replication process S108, And a virtual machine discarding process S109. The relationship between the virtual machine process S106 and the speculative execution process S107 will be described later.

前記したように、仮想ハードウェア方式の場合、クライアント20の実行環境は仮想化ソフトウェア上に展開されているので、物理的には1対複数になる。仮想ハードウェアである仮想サーバからクライアント20に対しては、リモートデスクトップなどを使って画像情報を転送する。   As described above, in the case of the virtual hardware method, the execution environment of the client 20 is developed on the virtualization software, so that there is physically one-to-one. Image information is transferred from the virtual server, which is virtual hardware, to the client 20 using a remote desktop or the like.

(入力転送処理S104)
入力転送処理S104は、通信部101にてクライアント20から受信した入力情報の、仮想マシン処理S106が有する仮想マシン環境デスクトップ処理S110への送信を行う。また、入力転送処理S104は、仮想マシン複製処理S108から送信されたプログラムコードの、投機実行処理S107が有する投機実行環境デスクトップ処理S113への送信を行う。
(Input transfer processing S104)
The input transfer process S104 transmits the input information received from the client 20 by the communication unit 101 to the virtual machine environment desktop process S110 included in the virtual machine process S106. The input transfer process S104 transmits the program code transmitted from the virtual machine duplication process S108 to the speculative execution environment desktop process S113 included in the speculative execution process S107.

(画面転送処理S105)
画面転送処理S105は、仮想マシン処理S106が有する仮想マシン環境デスクトップ処理S110から画面データの受信を行う。また、画面転送処理S105は、投機実行処理S107が有する投機実行環境デスクトップ処理S113から画面データの受信を行う。また、画面転送処理S105は、仮想マシン複製処理S108からプログラムコードを画面データに添付する指示の受信を行う。次に、画面転送処理S105は、受信した画面データおよびプログラムコードの通信部101への送信を行う。
(Screen transfer process S105)
The screen transfer process S105 receives screen data from the virtual machine environment desktop process S110 included in the virtual machine process S106. The screen transfer process S105 receives screen data from the speculative execution environment desktop process S113 included in the speculative execution process S107. The screen transfer process S105 receives an instruction to attach the program code to the screen data from the virtual machine duplication process S108. Next, the screen transfer process S105 transmits the received screen data and program code to the communication unit 101.

(仮想マシン処理S106)
仮想マシン処理S106は、仮想マシン環境デスクトップ処理S110、仮想マシン環境複製判定処理S111、仮想マシン環境破棄判定処理S112を有する。
(Virtual machine process S106)
The virtual machine process S106 includes a virtual machine environment desktop process S110, a virtual machine environment duplication determination process S111, and a virtual machine environment discard determination process S112.

仮想マシン環境デスクトップ処理S110は、入力転送処理S104から入力情報を受信する。また、仮想マシン環境デスクトップ処理S110は、該入力情報の、仮想マシン処理S106が実行するオペレーティングシステムへの転送を行う。また、仮想マシン環境デスクトップ処理S110は、仮想マシン処理S106が実行するオペレーティングシステムが生成する画面データの、画面転送処理S105への送信を行う。   The virtual machine environment desktop process S110 receives input information from the input transfer process S104. The virtual machine environment desktop process S110 transfers the input information to the operating system executed by the virtual machine process S106. In addition, the virtual machine environment desktop process S110 transmits screen data generated by the operating system executed by the virtual machine process S106 to the screen transfer process S105.

仮想マシン環境複製判定処理S111は、判定情報保管部103が有する複製条件テーブル116から、仮想マシン処理S106の内部状態が、仮想マシン処理S106を投機実行処理として複製すべき条件に該当するか否かを判定するための複製条件判定プログラムコード11611(図4参照)、および、複製が実行された場合に、複製先の環境において実行する複製時実行プログラムコード11612(図4参照)を読み込む。   In the virtual machine environment duplication determination process S111, whether or not the internal state of the virtual machine process S106 corresponds to a condition for duplicating the virtual machine process S106 as a speculative execution process from the duplication condition table 116 included in the judgment information storage unit 103 is determined. The replication condition determination program code 11611 (refer to FIG. 4) for determining whether or not, and the replication execution program code 11612 (refer to FIG. 4) executed in the replication destination environment when the replication is executed are read.

また、仮想マシン環境破棄判定処理S112は、破棄条件テーブル117から、クライアントで実行された入力操作が、サーバで実行されている仮想マシン処理を破棄すべき条件に該当するか否かを判定する仮想マシン処理破棄条件判定プログラムコード11711(図4参照)、および該操作が、同様にサーバで実行されている投機実行処理を破棄すべき条件に該当するか否かを判定する投機実行処理破棄条件判定プログラムコード11712(図4参照)を読み込む。   The virtual machine environment discard determination process S112 is a virtual process for determining whether or not the input operation executed on the client corresponds to a condition for discarding the virtual machine process executed on the server from the discard condition table 117. Machine process discard condition determination program code 11711 (see FIG. 4) and speculative execution process discard condition determination for determining whether or not the operation corresponds to a condition for discarding the speculative execution process executed on the server. The program code 11712 (see FIG. 4) is read.

次に、仮想マシン環境複製判定処理S111は、読み込んだ複製条件判定プログラムコード11611を実行し、複製を実行するか否かの判定を行う。複製を実施する条件に該当する状況であった場合、仮想マシン複製処理S108に、複製時実行プログラムコード11612、仮想マシン処理破棄条件判定プログラムコード11711、投機実行処理破棄条件判定プログラムコード11712が含まれた、複製生成を依頼する電文を送信する。   Next, the virtual machine environment replication determination process S111 executes the read replication condition determination program code 11611 to determine whether or not to execute replication. When the situation corresponds to the conditions for performing replication, the virtual machine replication process S108 includes a replication execution program code 11612, a virtual machine process discard condition determination program code 11711, and a speculative execution process discard condition determination program code 11712. In addition, a message requesting replication generation is transmitted.

仮想マシン環境破棄判定処理S112は、判定情報保管部103が有する破棄条件テーブル117から、仮想マシン破棄処理S109に破棄を依頼する電文を送信するか否かを判定する破棄フラグ1172(図4参照)を読み込む。破棄フラグ1172は、仮想マシン処理を破棄すべき条件を満たした場合は0、投機実行処理を破棄すべき条件を満たした場合は1が登録される。   The virtual machine environment destruction determination process S112 determines whether or not to send a message requesting destruction to the virtual machine destruction process S109 from the destruction condition table 117 of the determination information storage unit 103 (see FIG. 4). Is read. The discard flag 1172 is registered as 0 when the condition for discarding the virtual machine process is satisfied, and 1 when the condition for discarding the speculative execution process is satisfied.

次に、仮想マシン環境破棄判定処理S112は、読み込んだ破棄フラグ1172が0の場合は、仮想マシン破棄処理S109に仮想マシン処理S106の破棄を依頼する電文を送信する。仮想マシン処理S106が破棄された場合、投機実行処理S107を仮想マシン処理S106A(図19参照)として扱い、以後の処理を継続する。   Next, if the read discard flag 1172 is 0, the virtual machine environment discard determination process S112 transmits a message requesting the virtual machine process S106 to discard the virtual machine process S106. When the virtual machine process S106 is discarded, the speculative execution process S107 is treated as the virtual machine process S106A (see FIG. 19), and the subsequent processes are continued.

図19は、投機実行処理が仮想マシン処理として処理を実行する場合のシンクライアントシステムの構成を示す図である。投機実行環境デスクトップ処理S113は仮想マシン環境デスクトップ処理S110として、投機実行環境複製判定処理S114は仮想マシン環境複製判定処理S111として、投機実行環境破棄判定処理S115は仮想マシン環境破棄判定処理S112として処理する。   FIG. 19 is a diagram illustrating a configuration of a thin client system when the speculative execution process executes a process as a virtual machine process. The speculative execution environment desktop process S113 is processed as a virtual machine environment desktop process S110, the speculative execution environment replication determination process S114 is processed as a virtual machine environment replication determination process S111, and the speculative execution environment destruction determination process S115 is processed as a virtual machine environment destruction determination process S112. .

図1に戻り、仮想マシン環境破棄判定処理S112は、読み込んだ破棄フラグ1172(図4参照)が1の場合、仮想マシン破棄処理S109に投機実行処理S107の破棄を依頼する電文を送信する。投機実行処理S107が破棄された場合、複製元の仮想マシン処理S106を、その後も仮想マシン処理S106として扱い、以後の処理を継続する。   Returning to FIG. 1, when the read discard flag 1172 (see FIG. 4) is 1, the virtual machine environment discard determination process S112 transmits a message requesting the discard of the speculative execution process S107 to the virtual machine discard process S109. When the speculative execution process S107 is discarded, the replication source virtual machine process S106 is treated as the virtual machine process S106 and the subsequent processes are continued.

(投機実行処理S107)
投機実行処理S107は、投機実行環境デスクトップ処理S113、投機実行環境複製判定処理S114、投機実行環境破棄判定処理S115を有する。
(Speculation execution process S107)
The speculative execution process S107 includes a speculative execution environment desktop process S113, a speculative execution environment duplication determination process S114, and a speculative execution environment discard determination process S115.

投機実行環境デスクトップ処理S113は、入力転送処理S104から複製時実行プログラムコード11612(図4参照)を受信する。また、投機実行環境デスクトップ処理S113は、受信した複製時実行プログラムコード11612(図4参照)を実行する。また、投機実行環境デスクトップ処理S113は、投機実行処理S107が実行する複製時実行プログラムコード11612が生成する画面データの、画面転送処理S105への送信を行う。   The speculative execution environment desktop process S113 receives the copy execution program code 11612 (see FIG. 4) from the input transfer process S104. The speculative execution environment desktop process S113 executes the received duplication execution program code 11612 (see FIG. 4). The speculative execution environment desktop process S113 transmits the screen data generated by the copy execution program code 11612 executed by the speculative execution process S107 to the screen transfer process S105.

投機実行環境複製判定処理S114は、図19に示すように、判定情報保管部103が有する複製条件テーブル116から、仮想マシン処理S106Aの内部状態が、仮想マシン処理S106Aを投機実行処理として複製すべき条件に該当するか否かを判定するための複製条件判定プログラムコード11611(図4参照)、および、複製が実行された場合に、複製先の環境において実行する複製時実行プログラムコード11612(図4参照)を読み込む。   In the speculative execution environment duplication determination process S114, as shown in FIG. 19, the internal state of the virtual machine process S106A should be duplicated using the virtual machine process S106A as a speculative execution process from the duplication condition table 116 of the decision information storage unit 103. A copy condition determination program code 11611 (see FIG. 4) for determining whether or not a condition is met, and a copy execution program code 11612 (FIG. 4) executed in the copy destination environment when the copy is executed. Read).

また、投機実行環境破棄判定処理S115は、破棄条件テーブル117から、クライアントで実行された入力操作が、サーバで実行されている仮想マシン処理を破棄すべき条件に該当するか否かを判定する仮想マシン処理破棄条件判定プログラムコード11711(図4参照)、および該操作が、同様にサーバで実行されている投機実行処理を破棄すべき条件に該当するか否かを判定する投機実行処理破棄条件判定プログラムコード11712(図4参照)を読み込む。   The speculative execution environment discard determination process S115 is a virtual process for determining whether or not the input operation executed on the client corresponds to a condition for discarding the virtual machine process executed on the server from the discard condition table 117. Machine process discard condition determination program code 11711 (see FIG. 4) and speculative execution process discard condition determination for determining whether or not the operation corresponds to a condition for discarding the speculative execution process executed on the server. The program code 11712 (see FIG. 4) is read.

次に、投機実行環境複製判定処理S114は、読み込んだ複製条件判定プログラムコード11611(図4参照)を実行し、複製を実行するか否かの判定を行う。複製を実施する条件に該当する状況であった場合、仮想マシン複製処理S108に、複製時実行プログラムコード11612(図4参照)、仮想マシン処理破棄条件判定プログラムコード11711(図4参照)、投機実行処理破棄条件判定プログラムコード11712(図4参照)が含まれた、複製生成を依頼する電文を送信する。   Next, the speculative execution environment duplication determination process S114 executes the read duplication condition determination program code 11611 (see FIG. 4) to determine whether or not to execute duplication. If the situation corresponds to the conditions for performing replication, the virtual machine replication process S108 is executed with a replication execution program code 11612 (see FIG. 4), a virtual machine process discard condition determination program code 11711 (see FIG. 4), and speculative execution. A message for requesting the generation of a copy including the processing discard condition determination program code 11712 (see FIG. 4) is transmitted.

投機実行環境破棄判定処理S115は、判定情報保管部103が有する破棄条件テーブル117から、仮想マシン破棄処理S109に破棄を依頼する電文を送信するか否かを判定する破棄フラグ1172(図4参照)を読み込む。破棄フラグ1172は、仮想マシン処理を破棄すべき条件を満たした場合は0、投機実行処理を破棄すべき条件を満たした場合は1が登録される。   The speculative execution environment discard determination process S115 is a discard flag 1172 that determines whether or not to transmit a message requesting discard to the virtual machine discard process S109 from the discard condition table 117 of the determination information storage unit 103 (see FIG. 4). Is read. The discard flag 1172 is registered as 0 when the condition for discarding the virtual machine process is satisfied, and 1 when the condition for discarding the speculative execution process is satisfied.

次に、投機実行環境破棄判定処理S115は、読み込んだ破棄フラグ1172が0の場合は、仮想マシン破棄処理S109に仮想マシン処理S106Aの破棄を依頼する電文を送信する。   Next, the speculative execution environment discard determination process S115 transmits a message requesting the virtual machine process S106A to be discarded to the virtual machine discard process S109 when the read discard flag 1172 is 0.

(仮想マシン複製処理S108)
仮想マシン複製処理S108は、仮想マシン環境複製判定処理S111から、複製生成を依頼する電文を受信する。次に、仮想マシン複製処理S108は、仮想マシン処理S106が有する仮想ハードウェアが保持する仮想CPU、仮想メモリ、仮想補助記憶装置といった仮想ハードウェアに格納された全データを、投機実行処理S107が有する仮想ハードウェアが保持する、同種の仮想ハードウェアに対し複製する。
(Virtual machine replication process S108)
The virtual machine replication process S108 receives a message for requesting replication generation from the virtual machine environment replication determination process S111. Next, in the virtual machine duplication process S108, the speculative execution process S107 has all data stored in virtual hardware such as a virtual CPU, virtual memory, and virtual auxiliary storage device held by the virtual hardware included in the virtual machine process S106. Replicate to the same type of virtual hardware held by the virtual hardware.

次に、仮想マシン複製処理S108は、複製生成を依頼する電文に添付された複製時実行プログラムコード11612(図4参照)を、投機実行処理107に投入するよう入力転送処理S104に転送する。仮想マシン複製処理S108は、仮想マシン処理破棄条件判定プログラムコード11711(図4参照)、および投機実行処理破棄条件判定プログラムコード11712(図4参照)の、該投機実行処理S107から受信した画面データへの添付を、画面転送処理S105に依頼する電文を送信する。   Next, the virtual machine duplication processing S108 transfers the duplication execution program code 11612 (see FIG. 4) attached to the message requesting duplication generation to the speculative execution processing 107 to the input transfer processing S104. The virtual machine duplication process S108 converts the virtual machine process discard condition determination program code 11711 (see FIG. 4) and the speculative execution process discard condition determination program code 11712 (see FIG. 4) to the screen data received from the speculative execution process S107. Is sent to the screen transfer process S105.

(仮想マシン破棄処理S109)
仮想マシン破棄処理S109は、仮想マシン環境破棄判定処理S112から破棄を依頼する電文を受信する。次に、仮想マシン破棄処理S109は、サーバ10で稼働している、仮想マシン処理S106、または投機実行処理S107の実行を中断し、該仮想マシン処理S106、または、該投機実行処理S107が保持していた仮想ハードウェアを、すべて破棄する。
(Virtual machine discarding process S109)
The virtual machine destruction process S109 receives a message requesting destruction from the virtual machine environment destruction determination process S112. Next, the virtual machine discarding process S109 interrupts the execution of the virtual machine process S106 or the speculative execution process S107 running on the server 10, and the virtual machine process S106 or the speculative execution process S107 holds it. Discard all the virtual hardware that was left.

(クライアント20)
クライアント20は、通信部201と、入出力制御処理S202、バッファ部203、画面部204、入力デバイス部205を備える。
(Client 20)
The client 20 includes a communication unit 201, an input / output control process S202, a buffer unit 203, a screen unit 204, and an input device unit 205.

通信部201は、サーバ10が備える通信部101と同様、サーバから送信された画面データの受信、および入力デバイス部205から入力された入力情報の送信を行う。   Similar to the communication unit 101 included in the server 10, the communication unit 201 receives screen data transmitted from the server and transmits input information input from the input device unit 205.

入出力制御処理S202は、通信部201から仮想マシンの画面データを受信する。また、入出力制御処理S202は、受信した該画面データに、仮想マシン処理破棄条件判定プログラムコード11711(図4参照)または投機実行処理破棄条件判定プログラムコード11712(図4参照)が含まれる場合、該画面データを、投機実行処理S107から送出された画面データと見なし、該画面データを、バッファ部に格納すると共に、仮想マシン処理破棄条件判定プログラムコード11711または投機実行処理破棄条件判定プログラムコード11712の実行を開始する。該画面データに、仮想マシン処理破棄条件判定プログラムコード11711または投機実行処理破棄条件判定プログラムコード11712が含まれない場合、画面部に、該画面データを表示する。   The input / output control process S <b> 202 receives screen data of the virtual machine from the communication unit 201. In the case where the received screen data includes the virtual machine process discard condition determination program code 11711 (see FIG. 4) or the speculative execution process discard condition determination program code 11712 (see FIG. 4), the input / output control process S202 includes: The screen data is regarded as the screen data sent from the speculative execution process S107, the screen data is stored in the buffer unit, and the virtual machine process discard condition determination program code 11711 or the speculative execution process discard condition determination program code 11712 is stored. Start execution. When the screen data does not include the virtual machine process discard condition determination program code 11711 or the speculative execution process discard condition determination program code 11712, the screen data is displayed on the screen unit.

また、入出力制御処理S202は、入力デバイス部205から入力情報を受信する。入出力制御処理S202は、仮想マシン処理破棄条件判定プログラムコード11711(図4参照)または投機実行処理破棄条件判定プログラムコード11712(図4参照)を実行中の場合、該プログラムコードからの戻り値を確認する。該プログラムコードからの戻り値は、クライアントで実行された入力操作が、サーバで実行されている仮想マシン処理S106を破棄すべき条件に該当した場合「確定」、クライアントで実行された入力操作が、サーバで実行されている投機実行処理S107を破棄すべき条件に該当した場合「破棄」ステータスとなる。   The input / output control process S202 receives input information from the input device unit 205. When the virtual machine process discard condition determination program code 11711 (see FIG. 4) or the speculative execution process discard condition determination program code 11712 (see FIG. 4) is being executed, the input / output control process S202 displays a return value from the program code. Check. The return value from the program code is “determined” when the input operation executed on the client satisfies the condition for discarding the virtual machine process S106 executed on the server, and the input operation executed on the client If the speculative execution process S107 executed on the server satisfies the condition to be discarded, the status is “discarded”.

入出力制御処理S202は、該プログラムコードからの戻り値において「確定」ステータスが返される場合、バッファ部203の画面データ206に格納された画面データを、画面部204に表示し、バッファ部203の画面データ206に格納された画面データを破棄する。   The input / output control process S202 displays the screen data stored in the screen data 206 of the buffer unit 203 on the screen unit 204 when the “determined” status is returned in the return value from the program code. The screen data stored in the screen data 206 is discarded.

入出力制御処理S202は、該プログラムコードからの戻り値において「破棄」ステータスが返される場合、バッファ部に格納された画面データを破棄する。入出力制御処理S202は、該プログラムコードからの戻り値において「確定」および「破棄」以外のステータスが返される場合、あるいは、仮想マシン処理破棄条件判定プログラムコード11711(図4参照)または投機実行処理破棄条件判定プログラムコード11712(図4参照)が実行中でない場合、該入力情報による操作内容を、通信部201に送信する。   When the “discard” status is returned in the return value from the program code, the input / output control process S202 discards the screen data stored in the buffer unit. The input / output control process S202 is performed when a status other than “determined” and “discard” is returned in the return value from the program code, or the virtual machine process discard condition determination program code 11711 (see FIG. 4) or speculative execution process When the discard condition determination program code 11712 (see FIG. 4) is not being executed, the operation content based on the input information is transmitted to the communication unit 201.

バッファ部203は、画面データ206、および破棄条件テーブル207を格納し、必要に応じ、参照、および破棄可能な、ファイルシステムである。画面データ206には、入出力制御処理S202から受信した仮想マシン画面データが登録される。破棄条件テーブル207には、受信した該画面データに仮想マシン処理破棄条件判定プログラムコード11711(図4参照)または投機実行処理破棄条件判定プログラムコード11712(図4参照)が含まれる場合、該プログラムコードが登録される。   The buffer unit 203 is a file system that stores the screen data 206 and the discard condition table 207 and can be referred to and discarded as necessary. In the screen data 206, virtual machine screen data received from the input / output control process S202 is registered. If the received screen data includes the virtual machine process discard condition determination program code 11711 (see FIG. 4) or the speculative execution process discard condition determination program code 11712 (see FIG. 4), the discard condition table 207 includes the program code. Is registered.

画面部204は、例えば、液晶ディスプレイ、入力デバイス部205は、例えば、キーボードやマウスが接続される。   The screen unit 204 is connected to, for example, a liquid crystal display, and the input device unit 205 is connected to, for example, a keyboard and a mouse.

図2は、サーバのハードウェア構成を示す図である。サーバ10は、プログラムの実行、演算、および入出力処理を実行するCPU301と、主記憶装置であるメモリ302と、ネットワークを介して他装置と通信を行うための通信装置303と、補助記憶装置である外部記憶装置304と、以上の装置(CPU301と、メモリ302と、通信装置303と、外部記憶装置304)を電気的に接続する内部通信線305を有する。   FIG. 2 is a diagram illustrating a hardware configuration of the server. The server 10 includes a CPU 301 that executes program execution, computation, and input / output processing, a memory 302 that is a main storage device, a communication device 303 that communicates with other devices via a network, and an auxiliary storage device. There is an internal communication line 305 that electrically connects a certain external storage device 304 and the above devices (CPU 301, memory 302, communication device 303, and external storage device 304).

外部記憶装置304は、仮想マシン管理部102に含まれる各処理(入力転送処理S104、画面転送処理S105、仮想マシン処理S106、投機実行処理S107、仮想マシン複製処理S108、仮想マシン破棄処理S109)を実現するプログラムと、その他の処理(通信部101)を実現するプログラムと、判定情報保管部103のデータ保管領域と、判定情報保管部103の動作に必要なプログラムを保持する。   The external storage device 304 performs each process included in the virtual machine management unit 102 (input transfer process S104, screen transfer process S105, virtual machine process S106, speculative execution process S107, virtual machine duplication process S108, virtual machine discard process S109). A program for realizing, a program for realizing other processing (communication unit 101), a data storage area of the determination information storage unit 103, and a program necessary for the operation of the determination information storage unit 103 are held.

CPU301は、該プログラムをメモリにロードし、実行する処理を有する。以後、「A処理」という記述は、メモリにロードされ、CPUによって実行されることによって実現される処理を指すこととする。また、「プログラムを実行する」および「A処理を実行する」という記述は、CPUが、メモリにロードした該処理を実現したプログラムを実行する操作、を指すこととする。   The CPU 301 has a process for loading the program into the memory and executing it. Hereinafter, the description “A processing” refers to processing realized by being loaded into the memory and executed by the CPU. The descriptions “execute the program” and “execute the process A” refer to operations that the CPU executes a program that implements the process loaded in the memory.

通信装置303は、サーバと、ネットワークと、を物理的、電気的に結線するためのインターフェイスを有する。   The communication device 303 has an interface for physically and electrically connecting a server and a network.

図3は、クライアントのハードウェア構成を例示する図である。クライアント20は、プログラムの実行、演算、および入出力処理を実行するCPU401と、主記憶装置であるメモリ402と、ネットワークを介して他装置と通信を行うための通信装置403と、補助記憶装置である外部記憶装置404と、オペレータなどからキーボード、マウスなどを介しデータ入力を受け付ける入力装置405と、オペレータなどにディスプレイなどを介しデータを出力する出力装置406と、以上の装置(CPU401と、メモリ402と、通信装置403と、外部記憶装置404と、入力装置405と、出力装置406)を電気的に接続する内部通信線407と、を有する。   FIG. 3 is a diagram illustrating a hardware configuration of the client. The client 20 includes a CPU 401 that executes program execution, computation, and input / output processing, a memory 402 that is a main storage device, a communication device 403 that communicates with other devices via a network, and an auxiliary storage device. An external storage device 404, an input device 405 that receives data input from an operator or the like via a keyboard, mouse, or the like, an output device 406 that outputs data to an operator or the like via a display, or the like (CPU 401 and memory 402) A communication device 403, an external storage device 404, an input device 405, and an internal communication line 407 that electrically connects the output device 406).

外部記憶装置404は、入出力制御処理S202を実現するプログラムと、その他の処理(通信部201、画面部204、入力デバイス部205)を実現するプログラムと、バッファ部203のデータ保管領域と、バッファ部203の動作に必要なプログラムを保持する。   The external storage device 404 includes a program that implements the input / output control process S202, a program that implements other processes (communication unit 201, screen unit 204, input device unit 205), a data storage area in the buffer unit 203, a buffer A program necessary for the operation of the unit 203 is held.

CPU401は、該プログラムをメモリにロードし、実行する処理を有する。通信装置403は、サーバと、ネットワークと、を物理的、電気的に結線するためのインターフェイスを有する。入力装置405は、クライアントと、入力デバイス部を物理的、電気的に結線するためのインターフェイスを有する。出力装置406は、クライアントと、画面部などと、を物理的、電気的に結線するためのインターフェイスを有する。   The CPU 401 has a process for loading the program into the memory and executing it. The communication device 403 has an interface for physically and electrically connecting a server and a network. The input device 405 has an interface for physically and electrically connecting the client and the input device unit. The output device 406 has an interface for physically and electrically connecting a client and a screen unit or the like.

図4は、判定情報保管部に登録されている利用者の複製条件テーブルおよび破棄条件テーブルのデータ構造を例示する図である。判定情報保管部103には、複製条件テーブル116および破棄条件テーブル117が格納されている。   FIG. 4 is a diagram illustrating an example of the data structure of the user copy condition table and the discard condition table registered in the determination information storage unit. The determination information storage unit 103 stores a replication condition table 116 and a discard condition table 117.

複製条件テーブル116は、複製実行条件1161および複製フラグ1162で構成される。複製実行条件1161は、複製条件判定プログラムコード11611と複製時実行プログラムコード11612の組で構成される。複製条件判定プログラムコード11611は、仮想マシン処理S106の内部状態が、仮想マシン処理S106を投機実行処理S107として複製すべき条件に該当するか否かを判定するためのプログラムコードである。複製時実行プログラムコード11612は、複製が実行された場合に、投機実行処理S107において実行するプログラムコードである。複製フラグ1162は、仮想マシン複製処理S108に複製生成を依頼する電文を送信するか否かを判定するためのフラグである。複製フラグ1162が0の場合、該電文を送信せず、複製フラグ1162が1の場合、該電文を送信する。   The replication condition table 116 includes a replication execution condition 1161 and a replication flag 1162. The replication execution condition 1161 includes a combination of a replication condition determination program code 11611 and a replication execution program code 11612. The replication condition determination program code 11611 is a program code for determining whether or not the internal state of the virtual machine process S106 corresponds to a condition to be replicated with the virtual machine process S106 as a speculative execution process S107. The duplication execution program code 11612 is a program code executed in the speculative execution processing S107 when duplication is executed. The replication flag 1162 is a flag for determining whether or not to send a message requesting the virtual machine replication processing S108 to generate a replication. When the replication flag 1162 is 0, the message is not transmitted, and when the replication flag 1162 is 1, the message is transmitted.

例えば、複製実行条件1161は、仮想マシン処理が実行中のオペレーティングシステムについて、デスクトップ内の、クリック可能な矩形のオブジェクト全てについて、デスクトップにおける物理的な占有領域の位置を調べ、いずれかのオブジェクトの、該占有領域内部にマウスカーソルが入っているか調べ、真の場合、該マウスカーソルの座標を返し、偽の場合、NULLを返すプログラムコードと、現在のマウスカーソルの座標でクリック操作を行ったと同等の効果を、オペレーティングシステムに投入するプログラムコードが登録される。   For example, the replication execution condition 1161 checks the position of the physical occupation area in the desktop for all the clickable rectangular objects in the desktop for the operating system in which the virtual machine process is being executed. Check if the mouse cursor is inside the occupied area, if true, return the coordinates of the mouse cursor, if false, return NULL, equivalent to performing a click operation with the coordinates of the current mouse cursor Program code for registering the effect into the operating system is registered.

複製フラグ1162には、該複製実行条件1161においてNULLが返ってきた場合は0、該カーソルの座標が返ってきた場合は1が登録される。   In the replication flag 1162, 0 is registered when NULL is returned in the replication execution condition 1161, and 1 is registered when the coordinates of the cursor are returned.

破棄条件テーブル117は、破棄実行条件1171および破棄フラグ1172で構成される。破棄実行条件1171は、仮想マシン処理破棄条件判定プログラムコード11711と投機実行処理破棄条件判定プログラムコード11712の組で構成される。仮想マシン処理破棄条件判定プログラムコード11711は、クライアントで実行された入力操作が、サーバで実行されている仮想マシン処理S106を破棄すべき条件に該当するかを判定するためのプログラムコードである。投機実行処理破棄条件判定プログラムコード11712は、該操作が、同様にサーバで実行されている投機実行処理S107を破棄すべき条件に該当するかを判定するためのプログラムコードである。破棄フラグ1172は、仮想マシン破棄処理S109に仮想マシン処理S106の破棄を依頼する電文を送信するか、投機実行処理S107の破棄を依頼する電文を送信するかを判定するためのフラグである。破棄フラグ1172が0の場合、仮想マシン処理S106の破棄を依頼する電文を送信し、破棄フラグ1172が1の場合、投機実行処理S107の破棄を依頼する電文を送信する。   The discard condition table 117 includes a discard execution condition 1171 and a discard flag 1172. The discard execution condition 1171 includes a set of a virtual machine process discard condition determination program code 11711 and a speculative execution process discard condition determination program code 11712. The virtual machine process discard condition determination program code 11711 is a program code for determining whether an input operation executed on the client corresponds to a condition for discarding the virtual machine process S106 executed on the server. The speculative execution process discarding condition determination program code 11712 is a program code for determining whether the operation corresponds to a condition for discarding the speculative execution process S107 executed on the server. The discard flag 1172 is a flag for determining whether to transmit a message requesting the discard of the virtual machine process S106 to the virtual machine discard process S109 or a message requesting the discard of the speculative execution process S107. When the discard flag 1172 is 0, a message requesting the discard of the virtual machine process S106 is transmitted. When the discard flag 1172 is 1, a message requesting the discard of the speculative execution process S107 is transmitted.

例えば、破棄実行条件1171は、複製条件判定プログラムコード11611の戻り値で作る矩形の範囲内がクリックされたか否かを判定するプログラムコードと、複製条件判定プログラムコード11611の戻り値で作る矩形の範囲内からマウスカーソルが外れたか否かを判定するプログラムコードが登録される。   For example, the discard execution condition 1171 includes a program code for determining whether or not a rectangular range created by the return value of the replication condition determination program code 11611 has been clicked, and a rectangular range created by the return value of the replication condition determination program code 11611. Program code for determining whether or not the mouse cursor is removed from the inside is registered.

破棄フラグ1172には、複製条件判定プログラムコード11611の戻り値で作る矩形の範囲内がクリックされた場合は0、複製条件判定プログラムコード11611の戻り値で作る矩形の範囲内からマウスカーソルが外れた場合は1が登録される。   In the discard flag 1172, the mouse cursor is moved out of the rectangle created by the return value of the replication condition determination program code 11611 when the rectangle range created by the return value of the replication condition determination program code 11611 is clicked. In this case, 1 is registered.

図5は、画像データを受信した場合の入出力制御処理を例示するフローチャートである。図5を参照して、クライアント20の入出力制御処理S202における、画像データを受信した場合の処理S10について説明する。   FIG. 5 is a flowchart illustrating an input / output control process when image data is received. With reference to FIG. 5, the process S10 when image data is received in the input / output control process S202 of the client 20 will be described.

最初に、入出力制御処理S202は、サーバ10の仮想マシン処理S106または投機実行処理S107で生成された仮想マシンの画面データをクライアント20の通信部201から受信する(処理S11)。   First, the input / output control process S202 receives the virtual machine screen data generated in the virtual machine process S106 or the speculative execution process S107 of the server 10 from the communication unit 201 of the client 20 (process S11).

次に、入出力制御処理S202は、受信した仮想マシン画面データに仮想マシン処理破棄条件判定プログラムコード11711または投機実行処理破棄条件判定プログラムコード11712が含まれているか否か判定する(処理S12)。処理S12において仮想マシン処理破棄条件判定プログラムコード11711または投機実行処理破棄条件判定プログラムコード11712が含まれる場合(処理S12のYes)、入出力制御処理S202は、受信した仮想マシン画面データをバッファ部203の画面データ206に格納する(処理S13)。次に、入出力制御処理S202は、受信した仮想マシン画面データに含まれていた仮想マシン処理破棄条件判定プログラムコード11711または投機実行処理破棄条件判定プログラムコード11712を実行し(処理S14)、処理S10を終了する。   Next, the input / output control process S202 determines whether or not the received virtual machine screen data includes the virtual machine process discard condition determination program code 11711 or the speculative execution process discard condition determination program code 11712 (process S12). If the virtual machine process discard condition determination program code 11711 or the speculative execution process discard condition determination program code 11712 is included in the process S12 (Yes in process S12), the input / output control process S202 uses the received virtual machine screen data as the buffer unit 203. Is stored in the screen data 206 (process S13). Next, the input / output control process S202 executes the virtual machine process discard condition determination program code 11711 or the speculative execution process discard condition determination program code 11712 included in the received virtual machine screen data (process S14), and process S10. Exit.

処理S12において仮想マシン処理破棄条件判定プログラムコード11711または投機実行処理破棄条件判定プログラムコード11712が含まれない場合(処理S12のNo)、受信した仮想マシン画面データを画面部204に表示し(処理S15)、処理S10を終了する。   When the process S12 does not include the virtual machine process discard condition determination program code 11711 or the speculative execution process discard condition determination program code 11712 (No in process S12), the received virtual machine screen data is displayed on the screen unit 204 (process S15). ), And ends the process S10.

図6は、入力情報を受信した場合の入出力制御処理を例示するフローチャートである。図6を参照して、クライアント20の入出力制御処理S202における、入力情報を受信した場合の処理S20について説明する。   FIG. 6 is a flowchart illustrating an input / output control process when input information is received. With reference to FIG. 6, the process S20 when the input information is received in the input / output control process S202 of the client 20 will be described.

最初に、入出力制御処理S202は、入力デバイス部205から入力情報を受信する(処理S21)。次に、入出力制御処理S202は、仮想マシン処理破棄条件判定プログラムコード11711または投機実行処理破棄条件判定プログラムコード11712を実行しているか否か判定する(処理S22)。処理S22において仮想マシン処理破棄条件判定プログラムコード11711または投機実行処理破棄条件判定プログラムコード11712を実行している場合(処理S22のYes)、実行したプログラムコードの戻り値を判定する(処理S23)。実行したプログラムコードの戻り値は、クライアントで実行された入力操作が、サーバで実行されている仮想マシン処理S106を破棄すべき条件に該当した場合「確定」ステータス、クライアントで実行された入力操作が、サーバで実行されている投機実行処理S107を破棄すべき条件に該当した場合「破棄」ステータスとなる。処理S23において、実行したプログラムコードの戻り値が「確定」ステータスでも「破棄」ステータスでもない場合、処理S26に進む。   First, the input / output control process S202 receives input information from the input device unit 205 (process S21). Next, the input / output control process S202 determines whether or not the virtual machine process discard condition determination program code 11711 or the speculative execution process discard condition determination program code 11712 is being executed (process S22). When the virtual machine process discard condition determination program code 11711 or the speculative execution process discard condition determination program code 11712 is executed in the process S22 (Yes in the process S22), the return value of the executed program code is determined (process S23). The return value of the executed program code is “confirmed” status when the input operation executed on the client meets the condition for discarding the virtual machine process S106 executed on the server, and the input operation executed on the client When the speculative execution process S107 executed on the server satisfies the condition to be discarded, the status is “discarded”. If the return value of the executed program code is neither the “confirmed” status nor the “discarded” status in processing S23, the processing proceeds to processing S26.

処理S23において実行したプログラムコードの戻り値が「確定」ステータスの場合、入出力制御処理S202は、バッファ部203の画面データ206を画面部204に表示し(処理S24)、処理S20を終了する。処理S23において実行したプログラムコードの戻り値が「破棄」ステータスの場合、入出力制御処理S202は、バッファ部203の画面データ206を破棄し(処理S25)、処理S20を終了する。   When the return value of the program code executed in the process S23 is “confirmed” status, the input / output control process S202 displays the screen data 206 of the buffer unit 203 on the screen unit 204 (process S24), and ends the process S20. When the return value of the program code executed in the process S23 is “discard” status, the input / output control process S202 discards the screen data 206 in the buffer unit 203 (process S25), and ends the process S20.

処理S22において仮想マシン処理破棄条件判定プログラムコード11711または投機実行処理破棄条件判定プログラムコード11712を実行していない場合(処理S22のNo)、受信した入力情報を通信部201に送信し(処理S26)、処理S20を終了する。   When the virtual machine process discard condition determination program code 11711 or the speculative execution process discard condition determination program code 11712 is not executed in the process S22 (No in process S22), the received input information is transmitted to the communication unit 201 (process S26). Then, the process S20 is terminated.

図7は、入力転送処理を例示するフローチャートである。図7を参照して、サーバ10の入力転送処理S104の詳細について説明する。最初に、入力転送処理S104は、通信部101から入力情報を受信する(処理S301)。次に、入力転送処理S104は、仮想マシン環境デスクトップ処理S110に入力情報を送信する(処理S302)。   FIG. 7 is a flowchart illustrating the input transfer process. Details of the input transfer processing S104 of the server 10 will be described with reference to FIG. First, the input transfer process S104 receives input information from the communication unit 101 (process S301). Next, the input transfer process S104 transmits the input information to the virtual machine environment desktop process S110 (process S302).

次に、入力転送処理S104は、複製条件テーブル116から読み出した複製時実行プログラムコード11612を仮想マシン複製処理S108から受信する(処理S303)。次に、入力転送処理S104は受信した複製時実行プログラムコード11612を投機実行処理S107の投機実行環境デスクトップ処理S113に投入し(処理S304)、入力転送処理S104を終了する。   Next, the input transfer process S104 receives the duplication execution program code 11612 read from the duplication condition table 116 from the virtual machine duplication process S108 (process S303). Next, the input transfer process S104 inputs the received duplication execution program code 11612 into the speculative execution environment desktop process S113 of the speculative execution process S107 (process S304), and ends the input transfer process S104.

図8は、画面転送処理を例示するフローチャートである。図8を参照して、サーバ10の画面転送処理S105の詳細について説明する。最初に、画面転送処理S105は、仮想マシン環境デスクトップ処理S110または投機実行環境デスクトップ処理S113で生成された画面データを受信する(処理S401)。   FIG. 8 is a flowchart illustrating the screen transfer process. Details of the screen transfer processing S105 of the server 10 will be described with reference to FIG. First, the screen transfer process S105 receives the screen data generated in the virtual machine environment desktop process S110 or the speculative execution environment desktop process S113 (process S401).

次に、画面転送処理S105は、破棄条件テーブル117から読み出した仮想マシン処理破棄条件判定プログラムコード11711および投機実行処理破棄条件判定プログラムコード11712を画面データに添付する指示を仮想マシン複製処理S108から受信する(処理S402)。   Next, the screen transfer process S105 receives from the virtual machine duplication process S108 an instruction to attach the virtual machine process discard condition determination program code 11711 and the speculative execution process discard condition determination program code 11712 read from the discard condition table 117 to the screen data. (Processing S402).

次に、受信した画面データおよび、仮想マシン処理破棄条件判定プログラムコード11711および投機実行処理破棄条件判定プログラムコード11712を通信部101に送信し(処理S403)、画面転送処理S105を終了する。   Next, the received screen data, virtual machine process discard condition determination program code 11711 and speculative execution process discard condition determination program code 11712 are transmitted to the communication unit 101 (process S403), and the screen transfer process S105 is terminated.

図9は、仮想マシン処理を例示するフローチャートである。図9を参照して、サーバ10の仮想マシン処理S106の詳細について説明する。最初に、仮想マシン処理S106は仮想マシン環境デスクトップ処理S110を実行する(処理S501)。なお、仮想マシン環境デスクトップ処理S110の詳細は図10を参照して後記する。   FIG. 9 is a flowchart illustrating virtual machine processing. Details of the virtual machine processing S106 of the server 10 will be described with reference to FIG. First, the virtual machine process S106 executes a virtual machine environment desktop process S110 (process S501). Details of the virtual machine environment desktop process S110 will be described later with reference to FIG.

次に、仮想マシン処理S106は仮想マシン環境複製判定処理S111を実行する(処理S502)。なお、仮想マシン環境複製判定処理S111の詳細は図11を参照して後記する。   Next, the virtual machine process S106 executes a virtual machine environment duplication determination process S111 (process S502). Details of the virtual machine environment duplication determination process S111 will be described later with reference to FIG.

次に、仮想マシン処理S106は仮想マシン環境破棄判定処理S112を実行し(処理S503)、仮想マシン処理S106を終了する。なお、仮想マシン環境破棄判定処理S112の詳細は図11を参照して後記する。   Next, the virtual machine process S106 executes a virtual machine environment destruction determination process S112 (process S503), and ends the virtual machine process S106. Details of the virtual machine environment destruction determination process S112 will be described later with reference to FIG.

図10は、仮想マシン環境デスクトップ処理を例示するフローチャートである。図10を参照して、サーバ10の仮想マシン処理S106の仮想マシン環境デスクトップ処理S110の詳細(処理S501の詳細)について説明する。最初に、仮想マシン環境デスクトップ処理S110は、入力転送処理S104から入力情報を受信する(処理S5011)。   FIG. 10 is a flowchart illustrating virtual machine environment desktop processing. Details of the virtual machine environment desktop process S110 of the virtual machine process S106 of the server 10 (details of the process S501) will be described with reference to FIG. First, the virtual machine environment desktop process S110 receives input information from the input transfer process S104 (process S5011).

次に、仮想マシン環境デスクトップ処理S110は、受信した入力情報を基に仮想マシンにおいて入力操作を行い(処理S5012)、入力操作に基づき、仮想マシンにおいて画面データを生成する(処理S5013)。そして、仮想マシン環境デスクトップ処理S110は、生成した画面データを画面転送処理S105に送信し(処理S5014)、仮想マシン環境デスクトップ処理S110を終了する。   Next, the virtual machine environment desktop process S110 performs an input operation in the virtual machine based on the received input information (process S5012), and generates screen data in the virtual machine based on the input operation (process S5013). Then, the virtual machine environment desktop process S110 transmits the generated screen data to the screen transfer process S105 (process S5014), and ends the virtual machine environment desktop process S110.

図11は、仮想マシン環境複製判定処理を例示するフローチャートである。図11を参照して、サーバ10の仮想マシン処理S106の仮想マシン環境複製判定処理S111の詳細(処理S502の詳細)について説明する。   FIG. 11 is a flowchart illustrating the virtual machine environment duplication determination process. Details of the virtual machine environment duplication determination processing S111 of the virtual machine processing S106 of the server 10 (details of processing S502) will be described with reference to FIG.

最初に、仮想マシン環境複製判定処理S111は、判定情報保管部103に格納されている複製条件テーブル116から複製条件判定プログラムコード11611を、破棄条件テーブル117から仮想マシン処理破棄条件判定プログラムコード11711および投機実行処理破棄条件判定プログラムコード11712を読み込む(処理S5021)。次に、仮想マシン環境複製判定処理S111は、読み込んだ複製条件判定プログラムコード11611を実行する(処理S5022)。なお、処理S5022の詳細については、図16を参照して後記する。   First, in the virtual machine environment duplication determination process S111, the duplication condition determination program code 11611 from the duplication condition table 116 stored in the determination information storage unit 103, the virtual machine process discard condition determination program code 11711 from the discard condition table 117, and The speculative execution process discarding condition determination program code 11712 is read (process S5021). Next, the virtual machine environment replication determination process S111 executes the read replication condition determination program code 11611 (process S5022). Details of the process S5022 will be described later with reference to FIG.

次に、仮想マシン環境複製判定処理S111は、複製フラグ1162が0か1の判定を行う(処理S5023)。処理S5023において複製フラグ1162が0の場合、読み込んだ複製条件判定プログラムコード11611の実行(処理S5022)を繰り返す。処理S5023において複製フラグ1162が1の場合、仮想マシン複製処理S108に複製条件テーブル116から読み出した複製時実行プログラムコード11612と破棄条件テーブル117から読み出した仮想マシン処理破棄条件判定プログラムコード11711および投機実行処理破棄条件判定プログラムコード11712を添付して複製を依頼し(処理S5024)、仮想マシン環境複製判定処理S111を終了する。   Next, the virtual machine environment duplication determination processing S111 determines whether the duplication flag 1162 is 0 or 1 (processing S5023). When the copy flag 1162 is 0 in the process S5023, the read copy condition determination program code 11611 is repeatedly executed (process S5022). When the replication flag 1162 is 1 in process S5023, the replication execution program code 11612 read from the replication condition table 116 in the virtual machine replication process S108, the virtual machine process discard condition determination program code 11711 read from the discard condition table 117, and speculative execution. The process discard condition determination program code 11712 is attached to request replication (process S5024), and the virtual machine environment replication determination process S111 is terminated.

図12は、仮想マシン環境破棄判定処理を例示するフローチャートである。図12を参照して、サーバ10の仮想マシン処理S106の仮想マシン環境破棄判定処理S112の詳細(処理S503の詳細)について説明する。   FIG. 12 is a flowchart illustrating the virtual machine environment discard determination process. Details of the virtual machine environment discard determination process S112 of the virtual machine process S106 of the server 10 (details of the process S503) will be described with reference to FIG.

最初に、仮想マシン環境破棄判定処理S112は、仮想マシン処理破棄条件判定プログラムコード11711および投機実行処理破棄条件判定プログラムコード11712を実行する(処理S5031)。なお、処理S5031の詳細については、図17、図18を参照して後記する。   First, the virtual machine environment discard determination process S112 executes the virtual machine process discard condition determination program code 11711 and the speculative execution process discard condition determination program code 11712 (process S5031). Details of the process S5031 will be described later with reference to FIGS.

次に、仮想マシン環境破棄判定処理S112は、破棄フラグ1172が0か1かまだわからないかの判定を行う(処理S5032)。処理S5032において破棄フラグ1172が0でも1でもない場合(まだわからない場合)、仮想マシン処理破棄条件判定プログラムコード11711および投機実行処理破棄条件判定プログラムコード11712の実行(処理S5031)を繰り返す。処理S5032において破棄フラグ1172が0の場合、仮想マシン破棄処理S109に仮想マシン処理S106の破棄を依頼し(処理S5033)、仮想マシン環境破棄判定処理S112を終了する。処理S5032において破棄フラグ1172が1の場合、仮想マシン破棄処理S109に投機実行処理S107の破棄を依頼し(処理S5034)、仮想マシン環境破棄判定処理S112を終了する。   Next, the virtual machine environment discard determination process S112 determines whether the discard flag 1172 is 0 or 1 yet (process S5032). If the discard flag 1172 is neither 0 nor 1 (not yet known) in the process S5032, the execution of the virtual machine process discard condition determination program code 11711 and the speculative execution process discard condition determination program code 11712 is repeated (process S5031). When the discard flag 1172 is 0 in process S5032, the virtual machine discard process S109 is requested to discard the virtual machine process S106 (process S5033), and the virtual machine environment discard determination process S112 is terminated. When the discard flag 1172 is 1 in process S5032, the virtual machine discard process S109 is requested to discard the speculative execution process S107 (process S5034), and the virtual machine environment discard determination process S112 is terminated.

図13は、投機実行環境デスクトップ処理を例示するフローチャートである。図13を参照してサーバ10の投機実行処理S107の投機実行環境デスクトップ処理S113の詳細について説明する。   FIG. 13 is a flowchart illustrating a speculative execution environment desktop process. Details of the speculative execution environment desktop process S113 of the speculative execution process S107 of the server 10 will be described with reference to FIG.

最初に、投機実行環境デスクトップ処理S113は、入力転送処理S104から複製時実行プログラムコード11612を受信する(処理S601)。次に、投機実行環境デスクトップ処理S113は、受信した複製時実行プログラムコード11612を実行する(処理S602)。   First, the speculative execution environment desktop process S113 receives the copy execution program code 11612 from the input transfer process S104 (process S601). Next, the speculative execution environment desktop process S113 executes the received duplication execution program code 11612 (process S602).

次に、投機実行環境デスクトップ処理S113は、投機実行された場合の画面データを生成する(処理S603)。そして、投機実行環境デスクトップ処理S113は、生成した画面データを画面転送処理S105に送信し(処理S604)、投機実行環境デスクトップ処理S113を終了する。   Next, the speculative execution environment desktop process S113 generates screen data when the speculative execution is performed (process S603). Then, the speculative execution environment desktop process S113 transmits the generated screen data to the screen transfer process S105 (process S604), and ends the speculative execution environment desktop process S113.

図14は、仮想マシン複製処理を例示するフローチャートである。図14を参照して、サーバ10の仮想マシン複製処理S108の詳細について説明する。最初に、仮想マシン複製処理S108は、仮想マシン環境複製判定処理S111から複製の依頼を受信する(処理S701)。次に、仮想マシン複製処理S108は、仮想マシン処理S106の複製として投機実行処理S107を生成する(処理S702)。   FIG. 14 is a flowchart illustrating a virtual machine replication process. Details of the virtual machine duplication processing S108 of the server 10 will be described with reference to FIG. First, the virtual machine duplication process S108 receives a duplication request from the virtual machine environment duplication determination process S111 (process S701). Next, the virtual machine duplication process S108 generates a speculative execution process S107 as a duplication of the virtual machine process S106 (process S702).

次に、仮想マシン複製処理S108は、複製条件テーブル116から読み出した複製時実行プログラムコード11612を投機実行処理S107に投入するよう、入力転送処理S104に指示する(処理S703)。   Next, the virtual machine duplication process S108 instructs the input transfer process S104 to input the duplication execution program code 11612 read from the duplication condition table 116 to the speculative execution process S107 (process S703).

次に、仮想マシン複製処理S108は、破棄条件テーブル117から読み出した仮想マシン処理破棄条件判定プログラムコード11711および投機実行処理破棄条件判定プログラムコード11712を投機実行処理S107から受信した画面データに添付するよう、画面転送処理S105に指示し(処理S704)、一連の処理を終了する。   Next, the virtual machine duplication process S108 attaches the virtual machine process discard condition determination program code 11711 and the speculative execution process discard condition determination program code 11712 read from the discard condition table 117 to the screen data received from the speculative execution process S107. The screen transfer process S105 is instructed (process S704), and the series of processes is terminated.

図15は、仮想マシン破棄処理を例示するフローチャートである。図15を参照して、サーバ10の仮想マシン破棄処理S109の詳細について説明する。最初に、仮想マシン破棄処理S109は、仮想マシン処理S106の仮想マシン環境破棄判定処理S112から仮想マシン処理S106または投機実行処理S107の破棄の依頼を受信する(処理S801)。   FIG. 15 is a flowchart illustrating the virtual machine discarding process. Details of the virtual machine discarding process S109 of the server 10 will be described with reference to FIG. First, the virtual machine discarding process S109 receives a request for discarding the virtual machine process S106 or the speculative execution process S107 from the virtual machine environment discarding determination process S112 of the virtual machine process S106 (process S801).

次に、仮想マシン破棄処理S109は、仮想マシン処理S106または投機実行処理S107を破棄し(処理S802)、仮想マシン破棄処理S109を終了する。   Next, the virtual machine discard process S109 discards the virtual machine process S106 or the speculative execution process S107 (process S802), and ends the virtual machine discard process S109.

図16は、複製条件判定プログラムコード実行処理を例示するフローチャートである。図16を参照して、複製条件判定プログラムコード11611の処理S5022について説明する。最初に、仮想マシン環境複製判定処理S111は、デスクトップ内のクリック可能なオブジェクトすべてについて、領域を調べる(処理S50221)。次に、仮想マシン環境複製判定処理S111は、デスクトップ内のクリック可能なオブジェクトすべてについて、領域の左上および右下の座標を調べる(処理S50222)。   FIG. 16 is a flowchart illustrating the copy condition determination program code execution process. With reference to FIG. 16, the processing S5022 of the replication condition determination program code 11611 will be described. First, the virtual machine environment duplication determination process S111 examines areas for all clickable objects in the desktop (process S50221). Next, the virtual machine environment duplication determination process S111 examines the coordinates of the upper left and lower right of the area for all clickable objects in the desktop (process S50222).

次に、仮想マシン環境複製判定処理S111は、デスクトップ内のクリック可能なオブジェクトすべてについて、範囲内にマウスカーソルが入っているか確認する(処理S50223)。処理S50223において条件を満たす場合(処理S50224のYes)、デスクトップ内のクリック可能なオブジェクトすべてについて、領域の左上および右下の座標を返す(処理S50225)。次に、仮想マシン環境複製判定処理S111は、複製条件テーブル116の複製フラグ1162に1を登録し(処理S50226)、処理S5022を終了する。   Next, the virtual machine environment duplication determination process S111 confirms whether or not the mouse cursor is in the range for all clickable objects in the desktop (process S50223). When the condition is satisfied in the process S50223 (Yes in the process S50224), the upper left and lower right coordinates of the area are returned for all the clickable objects in the desktop (process S50225). Next, the virtual machine environment duplication determination processing S111 registers 1 in the duplication flag 1162 of the duplication condition table 116 (processing S50226), and ends the processing S5022.

処理S50223において条件を満たさない場合(処理S50224のNo)、NULLを返す(処理S50227)。次に、仮想マシン環境複製判定処理S111は、複製条件テーブル116の複製フラグ1162に0を登録し(処理S50228)、処理S5022を終了する。   If the condition is not satisfied in process S50223 (No in process S50224), NULL is returned (process S50227). Next, the virtual machine environment duplication determination processing S111 registers 0 in the duplication flag 1162 of the duplication condition table 116 (processing S50228), and ends the processing S5022.

図17は、仮想マシン処理破棄条件判定プログラムコード実行処理を例示するフローチャートである。図17を参照して、仮想マシン処理破棄条件判定プログラムコード11711の処理S5031Aについて説明する。最初に、仮想マシン環境破棄判定処理S112は、複製条件判定プログラムコード11611の戻り値の座標で作る矩形の範囲内がクリックされたか否かを判定する(処理S50311)。   FIG. 17 is a flowchart illustrating the virtual machine process discard condition determination program code execution process. With reference to FIG. 17, the process S5031A of the virtual machine process discard condition determination program code 11711 will be described. First, the virtual machine environment discard determination processing S112 determines whether or not the inside of the rectangle created by the return coordinates of the replication condition determination program code 11611 has been clicked (processing S50311).

処理S50311において条件を満たす場合(処理S50311のYes)、仮想マシン環境破棄判定処理S112は、破棄条件テーブル117の破棄フラグ1172に0を登録し(処理S50312)、処理S5031Aを終了する。一方、処理S50311において条件を満たさない場合(処理S50311のNo)、仮想マシン環境破棄判定処理S112は、処理S5031Aを終了する。   When the condition is satisfied in the process S50311 (Yes in the process S50311), the virtual machine environment discard determination process S112 registers 0 in the discard flag 1172 of the discard condition table 117 (process S50312) and ends the process S5031A. On the other hand, when the condition is not satisfied in the process S50311 (No in the process S50311), the virtual machine environment discard determination process S112 ends the process S5031A.

図18は、投機実行処理破棄条件判定プログラムコード実行処理を例示するフローチャートである。図18を参照して、投機実行処理破棄条件判定プログラムコード11712の処理S5031Bについて説明する。仮想マシン環境破棄判定処理S112は、複製条件判定プログラムコード11611の戻り値の座標で作る矩形の範囲内からマウスカーソルが外れたか否かを判定する(処理S50313)。   FIG. 18 is a flowchart illustrating the speculative execution process discard condition determination program code execution process. With reference to FIG. 18, the process S5031B of the speculative execution process discard condition determination program code 11712 will be described. The virtual machine environment discard determination process S112 determines whether or not the mouse cursor has been removed from the range of the rectangle created by the return value coordinates of the replication condition determination program code 11611 (process S50313).

処理S50313において条件を満たす場合(処理S50313のYes)、仮想マシン環境破棄判定処理S112は、破棄条件テーブル117の破棄フラグ1172に1を登録し(処理S50314)、処理S5031Bを終了する。処理S50313において条件を満たさない場合(処理S50313のNo)、仮想マシン環境破棄判定処理S112は、処理S5031Bを終了する。   When the condition is satisfied in the process S50313 (Yes in the process S50313), the virtual machine environment discard determination process S112 registers 1 in the discard flag 1172 of the discard condition table 117 (process S50314), and ends the process S5031B. When the condition is not satisfied in the process S50313 (No in the process S50313), the virtual machine environment discard determination process S112 ends the process S5031B.

本実施形態では、クライアント20のデスクトップの状態が、1つ以上の複製条件のうち、1つの条件を満たしたとき、サーバ10の仮想マシン複製処理S108は、仮想マシン処理S106の複製として投機実行処理S107を作成する。該条件ごとに設定された動作が実際に行われたと仮定して、投機実行環境デスクトップ処理S113は、デスクトップの動作を投機実行する。画面転送処理S105は、投機動作後の画面データをクライアントへ20に送信する。送信された画面データは、クライアント20のバッファ部203にバッファされる。クライアント20で該動作が実際に実行された場合、入出力制御処理S202は、バッファされた画面データを即座に画面部204に反映することができる。すなわち、本実施形態のシンクライアントシステムでは、サーバ10の仮想マシン環境の複製として投機実行環境を生成し、作成した投機実行環境にて処理を投機実行し、投機実行後の画面データをクライアントに先に転送することができる。   In the present embodiment, when the desktop state of the client 20 satisfies one of one or more replication conditions, the virtual machine replication process S108 of the server 10 performs a speculative execution process as a replication of the virtual machine process S106. S107 is created. Assuming that the operation set for each condition is actually performed, the speculative execution environment desktop process S113 speculatively executes the desktop operation. The screen transfer process S105 transmits the screen data after the speculative operation to the client 20. The transmitted screen data is buffered in the buffer unit 203 of the client 20. When the operation is actually executed by the client 20, the input / output control process S202 can immediately reflect the buffered screen data on the screen unit 204. That is, in the thin client system of the present embodiment, a speculative execution environment is generated as a copy of the virtual machine environment of the server 10, speculative execution is performed in the created speculative execution environment, and screen data after speculative execution is sent to the client. Can be transferred to.

10 サーバ
20 クライアント
101,201 通信部
102 仮想マシン管理部
103 判定情報保管部
116 複製条件テーブル(複製条件情報)
117 破棄条件テーブル(破棄条件情報)
203 バッファ部
204 画面部
205 入力デバイス部
301 CPU(処理部)
302,402 メモリ
303,403 通信装置
304 外部記憶装置(記憶部)
305,407 内部通信線
401 CPU(クライアント処理部)
404 外部記憶装置
11611 複製条件判定プログラムコード
11612 複製時実行プログラムコード
11711 仮想マシン処理破棄条件判定プログラムコード(仮想マシン破棄条件判定プログラムコード)
11712 投機実行処理破棄条件判定プログラムコード(投機実行破棄条件判定プログラムコード)
S104 入力転送処理
S105 画像転送処理
S106 仮想マシン処理(仮想マシン)
S107 投機実行処理(複製仮想マシン)
S108 仮想マシン複製処理
S109 仮想マシン破棄処理
S110 仮想マシン環境デスクトップ処理
S111 仮想マシン環境複製判定処理
S112 仮想マシン環境破棄判定処理
S113 投機実行環境デスクトップ処理
S114 投機実行環境複製判定処理
S115 投機実行環境破棄判定処理
S202 入出力制御処理
10 server 20 client 101, 201 communication unit 102 virtual machine management unit 103 determination information storage unit 116 replication condition table (replication condition information)
117 Discard condition table (discard condition information)
203 Buffer Unit 204 Screen Unit 205 Input Device Unit 301 CPU (Processing Unit)
302, 402 Memory 303, 403 Communication device 304 External storage device (storage unit)
305, 407 Internal communication line 401 CPU (client processing unit)
404 External storage device 11611 Replication condition determination program code 11612 Execution program code at replication 11711 Virtual machine processing discard condition determination program code (virtual machine discard condition determination program code)
11712 Speculation execution process discard condition determination program code (Speculation execution discard condition determination program code)
S104 Input transfer process S105 Image transfer process S106 Virtual machine process (virtual machine)
S107 Speculation execution processing (replication virtual machine)
S108 Virtual machine duplication processing S109 Virtual machine destruction processing S110 Virtual machine environment desktop processing S111 Virtual machine environment duplication determination processing S112 Virtual machine environment destruction judgment processing S113 Speculation execution environment desktop processing S114 Speculation execution environment duplication determination processing S115 Speculation execution environment destruction judgment processing S202 Input / output control processing

Claims (5)

クライアントと、該クライアントとネットワークを介して通信可能にされており、該クライアントの仮想マシンを生成し、該仮想マシンにより、該クライアントの入力情報に基づき該クライアントに表示する画像データを生成し該クライアントに該画像データを送信するサーバとを含み、該サーバは前記クライアントから受信した入力情報から前記クライアントのデスクトップの動作を実行したならば必要となる画面データを予め作成して前記クライアントに送信しておくシンクライアントシステムであって、
前記サーバは、
前記仮想マシンが処理する仮想マシン環境デスクトップの状態を複製すべき状態にあるか否かを判定する複製条件判定プログラムコードと、前記仮想マシンが実行する仮想マシン環境デスクトップを破棄すべき状態にあるか否かまたは前記仮想マシンを元に複製された複製仮想マシンの投機実行環境デスクトップを破棄すべき状態にあるか否かを判定する破棄条件判定プログラムコードと、を格納した記憶部と、
前記クライアントから入力情報を受信した際に、前記複製条件判定プログラムコードを実行し、複製を実施する条件に該当する場合、前記仮想マシンの複製として前記複製仮想マシンを生成するとともに、前記生成された複製仮想マシンにより前記投機実行環境デスクトップの画像データを生成し、前記生成された画像データに、前記破棄条件判定プログラムコードを添付して前記クライアントへ送信し、その後、前記クライアントから受信した入力情報が前記複製を実施する条件に合致した場合、前記複製された複製仮想マシンを、前記クライアントの仮想マシンとして扱い、元の仮想マシンを廃棄し、処理を継続する処理部とを、備え、
前記クライアントは、
前記受信した画面データおよび該受信した画面データに添付されている前記破棄条件判定プログラムコードを格納するバッファ部と、
前記破棄条件判定プログラムコードを実行し、前記仮想マシン環境デスクトップを破棄すべき状態にある場合、前記受信した画面データを表示部に反映し、前記投機実行環境デスクトップを破棄すべき状態にある場合、前記バッファ部の画像データを破棄するクライアント処理部とを備える
ことを特徴とするシンクライアントシステム。
The client can communicate with the client via a network, generates a virtual machine of the client, generates image data to be displayed on the client based on input information of the client, and generates the client And a server for transmitting the image data, and the server creates screen data necessary for executing the operation of the desktop of the client from the input information received from the client and transmits the screen data to the client. A thin client system
The server
A replication condition determination program code for determining whether the virtual machine environment desktop processed by the virtual machine is in a state to be replicated, and whether the virtual machine environment desktop executed by the virtual machine is to be discarded Whether or not the speculative execution environment desktop of the replicated virtual machine copied based on the virtual machine is in a state to be discarded or not, a discard condition determination program code, and a storage unit storing
When the input information is received from the client, the replication condition determination program code is executed, and when the condition for executing replication is satisfied, the replication virtual machine is generated as a replication of the virtual machine and the generated The image data of the speculative execution environment desktop is generated by a duplicate virtual machine, and the generated image data is attached to the discard condition determination program code and transmitted to the client. Thereafter, the input information received from the client is A processing unit that treats the replicated virtual machine as the virtual machine of the client, discards the original virtual machine, and continues processing when the conditions for performing the replication are met,
The client
A buffer unit for storing the received screen data and the discard condition determination program code attached to the received screen data;
Execute the discard condition determination program code, if the virtual machine environment desktop is in a state to be discarded, reflect the received screen data on the display unit, if the speculative execution environment desktop is in a state to be discarded, A thin client system comprising: a client processing unit that discards image data in the buffer unit.
前記複製条件判定プログラムコードは、前記クライアントのデスクトップ内の、クリック可能なオブジェクトについて、該デスクトップにおける物理的な占有領域の位置を調べ、いずれかのオブジェクトの、該占有領域にマウスカーソルが入っているか調べるプログラムであり、
前記破棄条件判定プログラムコードは、前記占有領域で実行された場合、前記仮想マシンが実行する仮想マシン環境デスクトップを破棄する旨を出力し、前記占有領域からマウスカーソルが外れた場合、前記複製仮想マシンの投機実行環境デスクトップを破棄する旨を出力するプログラムである
ことを特徴とする請求項1に記載のシンクライアントシステム。
The duplication condition determination program code checks the position of the physical occupation area on the desktop of the clickable object in the client desktop, and whether the mouse cursor is in the occupation area of any object. A program to check
When the destruction condition determination program code is executed in the occupied area, the virtual machine environment desktop executed by the virtual machine is output to be discarded, and when the mouse cursor is removed from the occupied area, the duplicate virtual machine is output. The thin client system according to claim 1, wherein the program outputs that the speculative execution environment desktop is discarded.
クライアントとネットワークを介して通信可能にされており、該クライアントの仮想マシンを生成し、該仮想マシンにより、該クライアントの入力情報に基づき該クライアントに表示する画像データを生成し該クライアントに該画像データを送信するサーバであって、
前記サーバは、
前記仮想マシンが処理する仮想マシン環境デスクトップの状態を複製すべき状態にあるか否かを判定する複製条件判定プログラムコードを有する複製条件情報と、
前記仮想マシンが実行する仮想マシン環境デスクトップを破棄すべき状態にあるか否かを判定する仮想マシン破棄条件判定プログラムコードおよび前記仮想マシンを元に複製された複製仮想マシンの投機実行環境デスクトップを破棄すべき状態にあるか否かを判定する投機実行破棄条件判定プログラムコードを有する破棄条件情報と、を格納した記憶部と、
前記クライアントから入力情報を受信した際に、前記複製条件判定プログラムコードを実行し、
複製を実施する条件に該当する場合、前記仮想マシンの複製として前記複製仮想マシンを生成するとともに、前記生成された複製仮想マシンにより前記投機実行環境デスクトップの画像データを生成し、
前記生成された画像データに、前記仮想マシン破棄条件判定プログラムコードおよび投機実行破棄条件判定プログラムコードを添付して前記クライアントへ送信し、
その後、前記クライアントから受信した入力情報が前記複製を実施する条件に合致した場合、前記複製された複製仮想マシンを、前記クライアントの仮想マシンとして扱い、元の仮想マシンを廃棄し、処理を継続する処理部とを、備える
ことを特徴とするサーバ。
A virtual machine of the client is made communicable with the client via a network, and image data to be displayed on the client is generated by the virtual machine based on input information of the client, and the image data is transmitted to the client A server that sends
The server
Replication condition information having a replication condition determination program code for determining whether the virtual machine environment desktop processed by the virtual machine is in a state to be replicated;
Discards the virtual machine destruction condition determination program code for determining whether or not the virtual machine environment desktop to be executed by the virtual machine should be destroyed and the speculative execution environment desktop of the duplicate virtual machine copied based on the virtual machine A discarding condition information having a speculative execution discarding condition determination program code for determining whether or not it is in a state to be stored;
When receiving input information from the client, execute the replication condition determination program code,
When the conditions for performing the duplication are satisfied, the duplication virtual machine is generated as the duplication of the virtual machine, and the speculative execution environment desktop image data is generated by the generated duplication virtual machine,
The generated image data is sent to the client with the virtual machine discard condition determination program code and the speculative execution discard condition determination program code attached thereto,
Thereafter, when the input information received from the client matches the conditions for performing the replication, the replicated virtual machine is treated as the virtual machine of the client, the original virtual machine is discarded, and the processing is continued. A server comprising a processing unit.
前記複製条件判定プログラムコードは、前記クライアントのデスクトップ内の、クリック可能なオブジェクトについて、該デスクトップにおける物理的な占有領域の位置を調べ、いずれかのオブジェクトの、該占有領域にマウスカーソルが入っているか調べるプログラムであり、
前記仮想マシン破棄条件判定プログラムコードは、前記占有領域で実行された場合、前記仮想マシンが実行する仮想マシン環境デスクトップを破棄する旨を出力するプログラムであり、
前記投機実行破棄条件判定プログラムコードは、前記占有領域からマウスカーソルが外れた場合、前記複製仮想マシンの投機実行環境デスクトップを破棄する旨を出力するプログラムである
ことを特徴とする請求項3に記載のサーバ。
The duplication condition determination program code checks the position of the physical occupation area on the desktop of the clickable object in the client desktop, and whether the mouse cursor is in the occupation area of any object. A program to check
The virtual machine destruction condition determination program code is a program that, when executed in the occupied area, outputs that the virtual machine environment desktop executed by the virtual machine is destroyed,
The said speculative execution destruction condition determination program code is a program which outputs that the speculative execution environment desktop of the said replication virtual machine is destroyed when a mouse cursor remove | deviates from the said occupied area. Server.
請求項3に記載のサーバから受信した画面データに基づいて画面表示を行うクライアントであって、
前記受信した画面データおよび該受信した画面データに添付されている仮想マシン処理破棄条件判定プログラムコードおよび投機実行処理破棄条件判定プログラムコードを格納するバッファ部と、
前記仮想マシン破棄条件判定プログラムコードおよび前記投機実行破棄条件判定プログラムコードを実行し、前記仮想マシン環境デスクトップを破棄すべき状態にある場合、前記受信した画面データを表示部に表示し、前記投機実行環境デスクトップを破棄すべき状態にある場合、前記バッファ部の画像データを破棄するクライアント処理部とを備える
ことを特徴とするクライアント。
A client for performing screen display based on screen data received from the server according to claim 3,
A buffer unit for storing the received screen data and a virtual machine process discard condition determination program code and a speculative execution process discard condition determination program code attached to the received screen data;
When the virtual machine destruction condition determination program code and the speculative execution destruction condition determination program code are executed and the virtual machine environment desktop is in a state to be discarded, the received screen data is displayed on a display unit, and the speculative execution is performed. A client processing unit comprising: a client processing unit that discards image data in the buffer unit when the environment desktop is in a state to be discarded.
JP2012036913A 2012-02-23 2012-02-23 Thin client system, server and client Pending JP2013171545A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012036913A JP2013171545A (en) 2012-02-23 2012-02-23 Thin client system, server and client

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012036913A JP2013171545A (en) 2012-02-23 2012-02-23 Thin client system, server and client

Publications (1)

Publication Number Publication Date
JP2013171545A true JP2013171545A (en) 2013-09-02

Family

ID=49265415

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012036913A Pending JP2013171545A (en) 2012-02-23 2012-02-23 Thin client system, server and client

Country Status (1)

Country Link
JP (1) JP2013171545A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015082290A (en) * 2013-10-24 2015-04-27 富士通株式会社 Terminal device, information processing device, information processing system, display control method, and display control program
US11909754B2 (en) 2018-03-14 2024-02-20 Nec Corporation Security assessment system

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015082290A (en) * 2013-10-24 2015-04-27 富士通株式会社 Terminal device, information processing device, information processing system, display control method, and display control program
US11909754B2 (en) 2018-03-14 2024-02-20 Nec Corporation Security assessment system

Similar Documents

Publication Publication Date Title
US11206451B2 (en) Information interception processing method, terminal, and computer storage medium
US11061917B1 (en) Method and system for transparent database query caching
US10992786B2 (en) Apparatus, method and system for a tunneling client access point
US10353718B2 (en) Providing access to a remote application via a web client
US9864849B2 (en) View-based expiration of shared content
US10178077B2 (en) Preventing persistent storage of cryptographic information using signaling
US10530881B2 (en) Redirecting scanners and printers over a WAN
US11442897B2 (en) Optimizing content storage through stubbing
US11468175B2 (en) Caching for high-performance web applications
JP7317084B2 (en) REMOTE VERIFICATION METHOD, DEVICE, DEVICE, SYSTEM AND MEDIUM OF TRUSTED ENVIRONMENT
EP3617901A1 (en) Data storage method and system
CN111586177B (en) Cluster session loss prevention method and system
US10223538B1 (en) Preventing persistent storage of cryptographic information
JP2013171545A (en) Thin client system, server and client
US10341420B1 (en) Approaches for preparing and delivering bulk data to clients
US10664538B1 (en) Data security and data access auditing for network accessible content
CN115658745A (en) Data processing method, data processing device, computer equipment and computer readable storage medium
US11070654B2 (en) Sockets for shared link applications
CN111124261B (en) Methods, apparatus and computer program products for handling and managing memory cell accesses
US11755765B2 (en) Optimized directory enumeration and data copy for client drive redirection in virtual desktops
JP5770354B1 (en) Server system and request execution control method
JP6156116B2 (en) Session management system, session management device, and program
CN115118508B (en) Data management method, device, electronic equipment and storage medium
US20220405143A1 (en) Hardware Accelerator Service Discovery
JP2023151840A (en) Cloud print system, printing device, control method, and program