JP2011053769A - サーバ装置及び画面データの送信方法 - Google Patents

サーバ装置及び画面データの送信方法 Download PDF

Info

Publication number
JP2011053769A
JP2011053769A JP2009199848A JP2009199848A JP2011053769A JP 2011053769 A JP2011053769 A JP 2011053769A JP 2009199848 A JP2009199848 A JP 2009199848A JP 2009199848 A JP2009199848 A JP 2009199848A JP 2011053769 A JP2011053769 A JP 2011053769A
Authority
JP
Japan
Prior art keywords
virtual machine
screen data
drawing command
issued
server
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.)
Granted
Application number
JP2009199848A
Other languages
English (en)
Other versions
JP5515520B2 (ja
Inventor
Takashi Takeuchi
崇 竹内
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.)
NEC Embedded Products Ltd
Original Assignee
NEC Embedded Products 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 NEC Embedded Products Ltd filed Critical NEC Embedded Products Ltd
Priority to JP2009199848A priority Critical patent/JP5515520B2/ja
Publication of JP2011053769A publication Critical patent/JP2011053769A/ja
Application granted granted Critical
Publication of JP5515520B2 publication Critical patent/JP5515520B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Controls And Circuits For Display Device (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

【課題】実計算機であるサーバ装置で生成された仮想計算機の画面出力をクライアント装置に送信するシンクライアント・システムを実現する。
【解決手段】サーバ装置1には複数の仮想計算機202、VMM201、シンクライアント・サーバ・プログラム203が動作している。サーバ装置1は、仮想計算機の描画命令を保存する描画命令バッファ206と、描画命令を実行する描画命令バッファを選択するVMM201と、選択された描画命令バッファの描画命令に基づいて画面データを生成するGPU105と、生成した前記画面データを伝送路に適した形式に変換するエンコーダ107と、前記描画命令を発行した仮想計算機に、変換された前記画面データを、関連付ける描画・エンコード制御部204と通信手段とを備える。
【選択図】図2

Description

本発明は、サーバ装置及び画面データの送信方法に関し、特に、シンクライアント・システムにおけるサーバ装置で動作する仮想計算機の画面出力をクライアント装置に送信する技術に関する。
本発明の背景技術としては、シンクライアント技術、仮想化技術、前記の2つを組み合わせたデスクトップ仮想化技術が挙げられる。
シンクライアント技術とは、ユーザがシステムを利用して情報を処理するときに、ユーザが利用するクライアント装置では、ユーザ・インターフェースなどに関する処理だけを実行し、主な処理をサーバ装置で実行させるシステムを構築する技術である。また、そのようなシステムをシンクライアント・システムという。一方、仮想化技術とは、物理的な電子計算機上で、仮想的な電子計算機を構築する技術である。これらシンクライアント・システムと仮想化技術を組み合わせることは、「デスクトップ仮想化」として知られている。
本発明に関連する技術が記載された文献として特許文献1を挙げる。特許文献1には、デスクトップ仮想化とシンクライアント方式との組み合わせを実現する手段として、複数のOS(Operating System)から出力される画面の描画指示信号を受け付けて表示画面の画像信号を生成し、生成した画像信号を端末装置へ送信する画像送信装置を備えた発明を提供することが記載されている。
特開2009−009330号公報
しかしながら、上記の特許文献1には、高々画像送信装置の台数分しか仮想計算機をシンクライアント・サーバとして動作させられないという問題点があった。
また、従来からのデスクトップ仮想化では、例えば、仮想計算機内部でシンクライアント・サーバを動作させる方法や、VMM(Virtual Machine Monitor)でシンクライアント・サーバを動作させる方法が採られてきた。
しかしながら、サーバの画面出力をエンコードしてクライアントに送信するシンクライアント方式と仮想化技術を組み合わせたデスクトップ仮想化は、従来、一般的でなかった。サーバの画面出力をエンコードしてクライアントに送信するシンクライアント方式とは、実計算機であるサーバ装置においてサーバ装置のGPU(Graphics Processor Unit)からの画面出力をキャプチャしてエンコーダでエンコードし、クライアント装置のデコーダでデコードして表示する方式である。
サーバの画面出力をエンコードしてクライアントに送信するシンクライアント方式においては、シンクライアント・サーバは、実計算機で動作することが想定されている。そのため、GPUやエンコーダは、実計算機上で動作するシンクライアント・サーバから、直接利用されることのみに対応していた。
そこで本発明は、上記実情に鑑みて、実計算機であるサーバ装置で生成された仮想計算機の画面出力をクライアント装置に送信するシンクライアント・システムを実現するサーバ装置及び画面データの送信方法を提供することを目的とする。
上記目的を達成するために、本発明は、第1の態様として、複数の仮想計算機が動作するサーバ装置とクライアント装置とがネットワークを介して通信可能に接続するシンクライアント・システムにおけるサーバ装置であって、前記仮想計算機の描画命令を前記仮想計算機ごとに保存する描画命令バッファと、前記仮想計算機ごとに保存された描画命令バッファの中から前記描画命令を実行する描画命令バッファを選択する選択手段と、選択された前記描画命令バッファの前記描画命令に基づいて画面データを生成する描画装置と、生成した前記画面データを伝送路に適した形式に変換するエンコーダと、前記描画命令を発行した前記仮想計算機に、変換された前記画面データを、関連付ける描画・エンコード制御手段と、前記変換された前記画面データを、関連付けられた前記仮想計算機と対応付けられた前記クライアント装置へ送信する通信手段と、を備えることを特徴とする、サーバ装置を提供するものである。
また、上記目的を達成するために、本発明は、第2の態様として、複数の仮想計算機が動作するサーバ装置とクライアント装置とがネットワークを介して通信可能に接続するシンクライアント・システムにおける画面データの送信方法であって、前記仮想計算機の描画命令を前記仮想計算機ごとに保存し、前記仮想計算機ごとに保存された前記描画命令の中からいずれかを選択し、選択された前記描画命令に基づいて画面データを生成し、生成した前記画面データを伝送路に適した形式に変換し、前記描画命令を発行した前記仮想計算機に、変換された前記画面データを関連付け、前記変換された前記画面データを、関連付けられた前記仮想計算機と対応付けられた前記クライアント装置へ送信することを特徴とする、画面データの送信方法を提供するものである。
本発明によれば、実計算機であるサーバ装置で生成された仮想計算機の画面出力をクライアント装置に送信するシンクライアント・システムを、仮想計算機の台数を描画装置とエンコーダの台数によって制限されることなく、実現することが可能となる。
本発明の第1の実施形態のハードウェア構成を示す図である。 本発明の第1の実施形態のソフトウェア構成を示す図である。 本発明の第1の実施形態の対応表を示す図である。 本発明の第1の実施形態の動作を示すフローチャート図(その1)である。 本発明の第1の実施形態の動作を示すフローチャート図(その2)である。 図5の変形実施形態を説明するための図である。
本発明を実施するための形態について以下で説明する。
(第1の実施形態)
図1を参照すると、本実施形態のハードウェア構成が示されている。図示のように、本実施形態に係るシンクライアント・システムは、サーバ装置1とクライアント装置2と、これら2つの装置を通信可能に接続するネットワーク3とを含む構成である。クライアント装置2の台数は、複数であってもよい。
サーバ装置1は、CPU(Central Processing Unit)101と、メモリ制御部102と、メイン・メモリ103と、I/O(Input Output)制御部104と、GPU105と、GPU用メモリ106と、エンコーダ107と、通信部109とを有する構成である。CPU101,メモリ制御部102,メイン・メモリ103,I/O制御部104は、一般的なコンピュータ・アーキテクチャでよく用いられているものを利用することができる。
GPU105は、CPU101からの描画命令に基づいて、描画処理を実行する。
GPU用メモリ106は、GPU105の使用するメモリであって、例えば、フレーム・バッファとして使用されるメモリである。GPU用メモリ106は、メイン・メモリ103の一部の領域であってもよい。
GPU105は、CPU101からの命令に基づいて、描画命令を処理し、画面データを生成する。GPU105は、仮想計算機ごとに使用するGPU用メモリ106の領域を分けなくてはならない。GPU105は、CPU101から、CPU101上で動作するVMM201(後述)から、どの仮想計算機の描画命令を発行したか、若しくは、具体的に、GPU用メモリ106のうち、どの領域を使用するかを指定される。
エンコーダ107は、GPU105から出力される画面データをバッファ108に保存し、エンコードする。ここで「エンコードする」とは、伝送路に適した形式に変換することである。エンコードされたデータは、メイン・メモリ103に保存される。
通信部109は、メイン・メモリ103に保存されたエンコードされたデータを含むパケットを、CPU101上で動作するシンクライアント・サーバ・プログラム203(後述)によって指定されたクライアント装置2に送信する。
クライアント装置2やネットワーク3の構成は、本発明の本質ではなく、当業者には明らかであるので、説明を省略する。
図2を参照すると、本実施形態のソフトウェア構成が示されている。図示のように、サーバ装置1のソフトウェアは、CPU101上で動作する仮想計算機202、VMM201、シンクライアント・サーバ・プログラム203を含む。なお、図2には、説明の便宜のため、ハードウェアであるGPU105、エンコーダ107、通信部109も記載されている。また、図2において、上記各ソフトウェアがCPUに含まれているように描かれているが、メイン・メモリ104や補助記憶装置(不図示)に含まれることもある。一般的な電子計算機で、ソフトウェアがどのように処理されるかは、当業者には明らかである。
VMM201には、切替部208、エミュレータ207、描画命令バッファ206が含まれる。VMM201には、仮想計算機202を動作させるために、この他にも多くの構成要素が存在するが、本発明の本質ではないので説明を省略する。
切替部208は、仮想計算機202から発行される描画命令を、サーバ装置1のGPU105及びクライアント装置2の画像表示部(不図示)に適合するようにエミュレートする必要があるか否かを判定し、必要があると判定した場合、エミュレータ207に描画命令を転送する。エミュレートが必要であると判断される場合として、例えば、仮想計算機202に含まれる仮想的なGPUとサーバ装置1のGPU105とで命令セットが異なる場合や、サーバ装置1のモニタとクライアント装置2のモニタのサイズが異なる場合などが考えられる。
エミュレータ207は、切替部208で、仮想計算機202から送られた描画命令をエミュレートする必要があると判断されたなどの場合に、描画命令のエミュレートを実行する。
描画命令バッファ206は、仮想計算機202の画面表示のための描画命令を、仮想計算機ごとに保存する。
描画命令バッファ206は、一般的な時分割方式にとって常には必要でないが、本実施形態のように仮想計算機間でGPUを共有する場合、必要である。一般に、実計算機上で動作するプログラムが描画プログラム・インターフェースを呼び出すとき、その戻り値を取得することで、描画完了を前記のプログラムは検知する。一方、仮想計算機上で動作するプログラムによるプログラムが描画プログラム・インターフェースを呼び出し、且つ、VMMでの制御無く、直接、GPUに描画命令を発行するとき、VMMは、戻り値の取得などによる描画の完了を検知できない。このため、本実施形態においては、仮想計算機202の描画命令をVMM201がフックし、一度、VMM201が描画命令バッファ206に仮想計算機202からの描画命令を保存し、VMM201の制御の下で、描画命令を発行することで、VMM201は、描画・エンコード制御部204に、どの仮想計算機の描画命令を発行したかを通知できる。
VMM201がどの仮想計算機の描画命令を、どの描画命令バッファ206に保存するかは、描画・エンコード制御部204によって通知される、もしくは、描画・エンコード制御部に問い合わせることで、決定される。
VMM201は、選択した描画命令バッファ206の内容に基づいて、GPU105に対して描画命令を発行する。GPU105が何らかの処理を実行している場合、VMM201からの描画命令は、GPU105から当該処理を完了した旨、CPU101に通知され、VMM201が描画命令を発行できる状態になったあと、発行される。GPU105からCPU101への通知には、例えば、割り込み信号が利用される。
VMM201は、描画命令をGPU105に発行するときに、どの仮想計算機の描画命令バッファを選択するかを指示する機能と、エンコーダ107に対して、そのエンコードされたデータをメイン・メモリ103のどの領域に保存するかを指示する機能を備える。後者の指示の内容は、描画・エンコード制御部204によって通知される、もしくは、描画・エンコード制御部に問い合わせることで、決定される。前者の指示の結果は、描画命令発行のタイミングに、描画・エンコード制御部204に通知される。
VMM201は、描画命令バッファ206の選択に関し、それぞれの描画命令バッファを均等に選択しても、描画命令を頻繁に発行する仮想計算機の描画命令バッファを選択する回数が多くなるように重みづけして選択しても、仮想計算機の重要度に応じて重みづけして選択してもよく、本発明の実施者は、本発明の目的を逸脱しない範囲で、実施の対象に応じて変更できる。
シンクライアント・サーバ・プログラム203は、描画・エンコード制御部204と、送信制御部205を含む。描画・エンコード制御部204は、エンコーダ107から出力されたデータがどの仮想計算機から発行された描画命令によるものであるかを対応付ける。
描画・エンコード制御部204は、描画命令を発行した仮想計算機とエンコーダ107から出力される画面データとを対応付けるために存在する。描画・エンコード制御部204は、描画命令を発行した仮想計算機とエンコーダ107から出力される画面データを、例えば、図3に示される対応表を活用して対応付ける。
対応表に記載の「仮想計算機」の列には、仮想計算機の識別情報を記載する。仮想計算機の識別情報として、例えば、VMM201から仮想計算機を見たときのプロセスIDを活用できる。対応表に記載の「描画命令バッファ」の列には、描画命令バッファの識別情報を記載する。描画命令バッファの識別情報として、例えば、描画命令バッファのメイン・メモリ103内での開始アドレスを活用できる。対応表に記載の「エンコード・データ書込み領域」の列には、エンコード・データ書込み領域の識別情報を記載する。エンコード・データ書込み領域の識別情報として、例えば、エンコード・データ書込み領域のメイン・メモリ103内での開始アドレスを活用できる。対応表に記載の「クライアント装置」の列には、エンコード・データの送信先となるクライアント装置の識別情報を記載する。クライアント装置の識別情報として、例えば、クライアント装置の名前、IPアドレスを活用できる。
対応表の各行は、仮想計算機がシンクライアント・サーバとして設定されたときに、作成される。
描画・エンコード制御部204は、前記のVMM201から通知された、どの描画命令バッファの選択したかという情報と、対応表に記載のエンコード・データの書込み領域の情報を、後述するエンコーダ107からのエンコード完了の信号の受信後に、描画命令を発行した仮想計算機とエンコードされたデータを対応付ける。
描画・エンコード制御部204は、エンコーダが完了したことを、どの仮想計算機の画面データがエンコードされたかという情報とともに、送信制御部205に通知する。なお、どの仮想計算機の画面データがエンコードされたかという情報に関し、前記の対応表のいずれの行であるかが判別できればよく、どの列の情報が通知されてもよい。
送信制御部205は、通信部109に対して、エンコーダから出力された画面データを、どのクライアント装置に送信するかを通信部109に指示する機能を持つ。送信制御部205は、通信部109がメイン・メモリ103に保存されたエンコーダ107からの画面データをクライアント装置2に送信するように制御する。前記の指示の内容は、描画・エンコード制御部204によって通知される、もしくは、描画・エンコード制御部204に問い合わせることで、決定される。
なお、本実施の形態に記載のサーバ装置1が、エンコーダ107からのデータが、エンコーダ107から次の画面データが出力される前に、通信部109によって取得されるようになっている場合、メイン・メモリ103の特定の領域にエンコーダ107が出力した画面データを書き込んでも、通信部109が画面データを取得する前に次の画面データによって上書きされることがないため、エンコーダからのデータの書込み先を、仮想計算機ごとに分ける必要がなくなる。この場合においては、前記の対応表に関して、エンコード・データ書込み領域の列がなくともよい。この列がない場合、VMM201に含まれる、エンコーダ107に対してエンコードされたデータをメイン・メモリ103のどの領域に保存するかを指示する機能を省略できる。また、描画・エンコード制御部204は、前記のVMM201から通知された、どの描画命令バッファの選択したかという情報と、後述するエンコーダ107からのエンコード完了の信号から、描画命令を発行した仮想計算機とエンコードされたデータを対応付ける。
以上、図2を参照しながら本実施形態のソフトウェア構成を説明したが、以下では、上述した仮想計算機202による描画命令の発行から通信部109によるクライアント装置2への画面データの送信までの流れを整理して説明する。
仮想計算機202から発行された描画命令は、仮想計算機ごとに描画命令バッファ206に保存される。VMM201が実行状態になると、VMM201は、描画命令バッファ206に保存された1つの画面を生成する分だけの描画命令を実行するため、実計算機の描画プログラミング・インターフェースを呼び出す。このとき、VMM201は、どの描画命令バッファ(どの仮想計算機)の描画命令を実行したかを示す識別符号を、シンクライアント・サーバ・プログラム203の描画・エンコード制御部204に通知する。また、GPU105に対して、仮想計算機ごとに使用するメモリ領域を指定する。
実計算機の描画プログラミング・インターフェースが呼び出されることで、GPU105は描画処理を実行し、出力された画面データは、そのままエンコーダ107に送られ、エンコードされる。エンコードされた画面データは、メイン・メモリ103に書き出される。
エンコーダ107は、メイン・メモリ103への書込みが完了すると、例えば、割り込み信号を利用して、シンクライアント・サーバ・プログラム203の描画・エンコード制御部204にエンコード完了を通知する。当該通知を受け取った描画・エンコード制御部204は、シンクライアント・サーバ・プログラム203の送信制御部205に、仮想計算機の識別符号と、エンコードが完了した旨を通知する。送信制御部205は、通信部109に、エンコーダ107がメイン・メモリ103に書き込んだ画面データを読み出し、クライアント装置2に送信させる。
図4及び図5を参照して、上述した仮想計算機202による描画命令の発行から通信部109によるクライアント装置2への画面データの送信までの流れをさらに詳細に説明する。図4は、VMM201により実行される描画命令バッファ206への描画命令の格納処理の流れを示すフローチャート図である。図5は、描画・エンコード制御部204を中心とする本実施形態の各部により実行される描画命令の実行処理から描画された画面データの送信処理までの流れを示すフローチャート図である。
図4において、VMM201は、仮想計算機202のうちいずれか少なくとも一つの仮想計算機から描画命令をキャプチャしたと判断すると(ステップS101/Yes)、切替部208が描画のエミュレーションが必要であるか否かを判断し(ステップS102)、判断の結果、描画のエミュレーションが必要である場合にエミュレータ207が描画のエミュレーションを行い(ステップS103)、仮想計算機ごとに描画命令を描画命令バッファ206に格納する(ステップS104)。
なお、ステップS103で描画のエミュレーションを行った場合、ステップS104で格納される描画命令は、エミュレートされた描画命令である。
図5に示す描画命令の実行処理から描画された画面データの送信処理までの流れは、描画命令バッファ206に描画命令が無くなるまで繰り返して実行される(ステップS105)。
図5において、描画命令バッファ206に描画命令がある場合は、まず、GPU105が描画処理を実行可能になるまで待つ(ステップS106)。次に、VMM201は、複数の描画命令バッファ206の中から、これから描画命令を発行する描画命令バッファを選択する。これは、VMM201は、描画命令バッファ206に描画命令が格納されている仮想計算機の中から、描画命令を実行する仮想計算機を選択することと同義である(ステップS107)。次に、VMM201は、選択した仮想計算機の描画命令を実行するための領域をGPU用メモリ106の中から指定する(ステップS108)。次に、GPU105は、描画処理を実行する(ステップS109)。次に、VMM201は、エンコードされた画面データの保存先をメイン・メモリ103の中から指定し、エンコーダ107は、エンコード処理を実行する(ステップS110)。なお、装置によっては、ステップS109とステップS110が同時に実行されてもよい。
次に、描画・エンコード制御部204は、選択された仮想計算機とエンコードされた画面データの関連付けを行う(ステップS111)。次に、送信制御部205は、通信部109がデータの送信処理を実行可能であるか否かを調べ(ステップS112)、エンコードされた画面データの送信先(本実施形態においてはクライアント装置2)を指定する(ステップS113)。通信部109は、送信制御部205の制御にしたがい、メイン・メモリ103からエンコードされた画面データを読み出し、指定された送信先に向け送信する(ステップS114)。
図5に示した描画命令の実行処理から描画された画面データの送信処理までの流れは、説明のための一例である。例えば、図6に示すような、GPU105による描画処理、エンコーダ107によるエンコード処理、通信部109による送信処理をパイプラインで処理する場合などには、図5に示した流れを変形させて実施すればよい。
上記実施形態によれば、VMM201で仮想計算機の描画命令をエミュレート、バッファリングし、バッファされた描画命令のVMM201からの発行と、エンコーダ107からの出力、及び、通信部109によるクライアント装置2への送信を、シンクライアント・サーバ・プログラム203が制御することにより、サーバ装置1のGPU105とエンコーダ107を仮想計算機間で、時分割により共有することができるようになる。
すなわち、仮想計算機の画面出力をクライアント装置に送信するシンクライアント・システムが実現する。また、特に、GPU(描画装置)やエンコーダとして、物理的なハードウェアを用いるため、高速処理が可能となる。また、GPU105とエンコーダ107を仮想計算機間で、時分割により共有できるため、シンクライアント・サーバとして動作させる仮想計算機の台数がGPUやエンコーダの台数によって制限されない。
上記実施形態における描画命令バッファ206は、一般的な時分割方式にとって常には必要でないが、本実施形態のように仮想計算機間でGPUを共有する場合、常に必要である。一般に、実計算機上で動作するプログラムが描画プログラミング・インターフェースを呼び出すとき、その戻り値を取得することで、描画完了を前記のプログラムは検知する。一方、仮想計算機上で動作するプログラムによるプログラムが描画プログラミング・インターフェースを呼び出し、且つ、VMMでの制御無く、直接、GPUに描画命令を発行するとき、VMMは、戻り値の取得などによる描画の完了を検知できない。このため、本実施形態においては、仮想計算機202の描画命令をVMM201がフックし、一度、VMM201が描画命令バッファ206に仮想計算機202からの描画命令を保存し、VMM201の制御の下で、描画命令を発行することで、VMM201は、描画・エンコード制御部204に、どの仮想計算機の描画命令を発行したかを通知できる。
上記実施形態における描画・エンコード制御部204は、時分割方式において、データそのものに識別符号がある場合は不要である。しかしながら、本実施形態における方式のように、処理されるデータそのものに識別子がない場合、エンコーダ107から出力されたデータは、どの仮想計算機の画面データをエンコードしたデータであるかがわからない。上記実施形態においては、描画・エンコード制御部204が仮想計算機からGPU105へ入力される描画命令とエンコーダ107から出力されるエンコードされた画面データを関連付ける構成である。描画・エンコード制御部204は、VMM201からGPU105へどの仮想計算機の描画命令が入力されたかを通知され、エンコーダ107からエンコードの完了を通知されるため、描画命令を発行した仮想計算機とエンコードされた画面データとを関連付けられる。そのため、上記実施形態によれば、一般的なハードウェアを関連付けに関して改造することなくほぼそのまま利用できる。
1 サーバ装置
2 クライアント装置
3 ネットワーク
101 CPU
102 メモリ制御部
103 メイン・メモリ
104 I/O制御部
105 GPU
106 GPU用メモリ
107 エンコーダ
108 バッファ
109 通信部
201 VMM
202 仮想計算機
203 シンクライアント・サーバ・プログラム
204 描画・エンコード制御部
205 送信制御部
206 描画命令バッファ
207 エミュレータ
208 切替部

Claims (6)

  1. 仮想計算機が動作するサーバ装置とクライアント装置とを含み、前記仮想計算機の画面出力を前記クライアント装置で表示するシンクライアント・システムにおけるサーバ装置であって、
    前記仮想計算機が発行した描画命令に基づいて画面データを生成し、
    生成した前記画面データをエンコードし、
    エンコードされた前記画面データと描画命令を発行した前記仮想計算機とを対応付けて、
    エンコードされた前記画面データを、前記対応づけに基づいて前記クライアント装置へ送信することを特徴とする、サーバ装置。
  2. 複数の仮想計算機が動作するサーバ装置とクライアント装置とがネットワークを介して通信可能に接続するシンクライアント・システムにおけるサーバ装置であって、
    前記仮想計算機の描画命令を前記仮想計算機ごとに保存する描画命令バッファと、
    前記仮想計算機ごとに保存された描画命令バッファの中から前記描画命令を実行する描画命令バッファを選択する選択手段と、
    選択された前記描画命令バッファの前記描画命令に基づいて画面データを生成する描画装置と、
    生成した前記画面データを伝送路に適した形式に変換するエンコーダと、
    前記描画命令を発行した前記仮想計算機に、変換された前記画面データを、関連付ける描画・エンコード制御手段と、
    前記変換された前記画面データを、関連付けられた前記仮想計算機と対応付けられた前記クライアント装置へ送信する通信手段と、
    を備えることを特徴とする、サーバ装置。
  3. 前記描画装置と前記エンコーダが、ハードウェアであることを特徴とする、請求項1又は2記載のサーバ装置。
  4. 複数の仮想計算機が動作するサーバ装置とクライアント装置とがネットワークを介して通信可能に接続するシンクライアント・システムにおける画面データの送信方法であって、
    前記仮想計算機の描画命令を前記仮想計算機ごとに保存し、
    前記仮想計算機ごとに保存された前記描画命令の中からいずれかを選択し、
    選択された前記描画命令に基づいて画面データを生成し、
    生成した前記画面データを伝送路に適した形式に変換し、
    前記描画命令を発行した前記仮想計算機に、変換された前記画面データを関連付け、
    前記変換された前記画面データを、関連付けられた前記仮想計算機と対応付けられた前記クライアント装置へ送信することを特徴とする、画面データの送信方法。
  5. 仮想計算機が動作するサーバ装置であって、
    前記仮想計算機が発行した描画命令に基づいて画面データを生成し、
    前記画面データと描画命令を発行した前記仮想計算機との対応付けに基づいてネットワークに送出することを特徴とするサーバ装置。
  6. 仮想計算機が動作するサーバ装置を用いて、
    前記仮想計算機が発行した描画命令に基づいて画面データを生成し、
    前記画面データと描画命令を発行した前記仮想計算機との対応付けに基づいてネットワークに送出することを特徴とする画面データの送信方法。
JP2009199848A 2009-08-31 2009-08-31 サーバ装置及び画面データの送信方法 Expired - Fee Related JP5515520B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009199848A JP5515520B2 (ja) 2009-08-31 2009-08-31 サーバ装置及び画面データの送信方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009199848A JP5515520B2 (ja) 2009-08-31 2009-08-31 サーバ装置及び画面データの送信方法

Publications (2)

Publication Number Publication Date
JP2011053769A true JP2011053769A (ja) 2011-03-17
JP5515520B2 JP5515520B2 (ja) 2014-06-11

Family

ID=43942737

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009199848A Expired - Fee Related JP5515520B2 (ja) 2009-08-31 2009-08-31 サーバ装置及び画面データの送信方法

Country Status (1)

Country Link
JP (1) JP5515520B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018500646A (ja) * 2014-11-12 2018-01-11 インテル コーポレイション グラフィックス仮想化を用いたホストコンピュータからの/ホストコンピュータへの仮想マシンのライブマイグレーション
CN113254130A (zh) * 2021-05-13 2021-08-13 贵州海誉科技股份有限公司 一种自适应调整云桌面分辨率的方法
CN114968152A (zh) * 2022-04-29 2022-08-30 麒麟软件有限公司 减少virtio-gpu额外性能损耗的方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009009330A (ja) * 2007-06-27 2009-01-15 Fujitsu Ltd 情報処理装置、情報処理システム及び情報処理装置の制御方法
JP2009503647A (ja) * 2005-07-22 2009-01-29 マイクロソフト コーポレーション セキュアハードウェアデスクトップバッファ構成

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009503647A (ja) * 2005-07-22 2009-01-29 マイクロソフト コーポレーション セキュアハードウェアデスクトップバッファ構成
JP2009009330A (ja) * 2007-06-27 2009-01-15 Fujitsu Ltd 情報処理装置、情報処理システム及び情報処理装置の制御方法

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018500646A (ja) * 2014-11-12 2018-01-11 インテル コーポレイション グラフィックス仮想化を用いたホストコンピュータからの/ホストコンピュータへの仮想マシンのライブマイグレーション
US10324748B2 (en) 2014-11-12 2019-06-18 Intel Corporation Augmented tracking of modified memory pages during live migration of virtual machines from/to host computers with graphics processors
CN113254130A (zh) * 2021-05-13 2021-08-13 贵州海誉科技股份有限公司 一种自适应调整云桌面分辨率的方法
CN113254130B (zh) * 2021-05-13 2022-11-29 贵州海誉科技股份有限公司 一种自适应调整云桌面分辨率的方法
CN114968152A (zh) * 2022-04-29 2022-08-30 麒麟软件有限公司 减少virtio-gpu额外性能损耗的方法
CN114968152B (zh) * 2022-04-29 2024-04-19 麒麟软件有限公司 减少virtio-gpu额外性能损耗的方法

Also Published As

Publication number Publication date
JP5515520B2 (ja) 2014-06-11

Similar Documents

Publication Publication Date Title
KR101751936B1 (ko) 호스트 기반 단말 가상화 환경에서 공유 메모리를 이용한 입출력 디바이스 가상화 장치 및 방법
US8407717B2 (en) Parallel processing method for dual operating system
EP3046331A1 (en) Media control method and device based on desktop cloud
TWI470442B (zh) 利用複數個精簡型用戶端平台獲得交互相容性之系統及方法
JP6272331B2 (ja) ネットワークを介して接続された少なくとも2台の端末装置間でリモートプレゼンテーションをするための方法
WO2022068671A1 (zh) 云桌面的显示方法和系统
JP2015130088A (ja) 印刷制御システム、及び印刷制御方法
US20120166585A1 (en) Apparatus and method for accelerating virtual desktop
CN111078104A (zh) 一种云桌面上的多点触控设备的重定向方法及计算机设备
JP5515520B2 (ja) サーバ装置及び画面データの送信方法
JP4535314B2 (ja) 情報処理装置、システム、遠隔操作方法、プログラム及び記録媒体
WO2011041736A1 (en) System and method for a thin-client terminal system using a serial bus
US20030069998A1 (en) Motion services protocol accessible through uniform resource locator (URL)
CN111143017B (zh) 云操作系统交互处理方法、客户端及云操作系统
JP5147378B2 (ja) 画像表示装置
JP2007221364A (ja) コントローラ、制御システム及び制御装置の拡張方法
JP2021518695A (ja) ディスプレイ−サーバコンピューティングシステムにおいてオーディオ及びビデオデータストリームをリダイレクトするためのシステム及び方法
CN114028801A (zh) 基于云端的用户输入方法、装置、设备及存储介质
TWI540494B (zh) 虛擬桌面用戶端、虛擬桌面用戶端之控制晶片以及伺服裝置之控制方法
US20110231842A1 (en) Virtual calculating machine system, virtual calculating machine control apparatus and virtual calculating machine control method
WO2011041740A1 (en) System and method for a thin-client terminal system with a local screen buffer using a serial bus
CN105653995B (zh) 可复用通用计算机人机交互设备的可信计算装置
JP4535346B2 (ja) 情報処理装置、システム、遠隔操作方法、プログラム及び記録媒体
JP5376253B2 (ja) データ処理装置、データ処理システム、データ処理プログラム、及び、デバイスドライバ
JP5347271B2 (ja) 端末装置及びプログラム

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20110513

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20110920

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120717

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130909

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130917

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131107

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131210

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140204

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20140304

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140317

R150 Certificate of patent or registration of utility model

Ref document number: 5515520

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees