(57)【特許請求の範囲】
【請求項１】
一又は複数の外部装置と接続され、各外部装置に対応して一又は複数のオペレーションシステムを実行し、該オペレーションシステムによる情報処理の実行結果を、対応する外部装置へ送信する情報処理装置であって、
各オペレーションシステムからの描画指示に基づく画像の生成、及び生成した画像の外部装置への逐次送信を含む画像処理をハードウェアにより実行する一又は複数のハード画像処理手段と、
前記画像処理をソフトウェアにより実行する一又は複数のソフト画像処理手段と、
前記ハード画像処理手段又はソフト画像処理手段のいずれかの画像処理手段により画像処理を実行させるかを外部装置毎に選択する手段と、
外部装置毎に、対応するオペレーションシステムに対して前記ハード画像処理手段又はソフト画像処理手段のいずれか一方による画像処理を実行している間に、前記オペレーションシステムからの描画指示が所定の条件を満たす場合、画像処理手段を他方へ切り替える切替手段と
を備えることを特徴とする情報処理装置。
【請求項２】
実行される情報処理に応じて各オペレーションシステムから与えられる描画指示の種別が特定の種別であるか否か、又は描画指示の数が所定値以上であるか否かを判定する判定手段を更に備え、
前記切替手段は、
前記ハード画像処理手段による画像処理の実行中に、前記判定手段が特定の種別でない、又は所定値未満であると判定した場合、ソフト画像処理手段へ切り替え、
前記ソフト画像処理手段による画像処理の実行中に、前記判定手段が特定の種別である、又は所定値以上であると判定した場合、ハード画像処理手段へ切り替えるようにしてある請求項１に記載の情報処理装置。
【請求項３】
切替指示を受け付け、前記切替手段へ通知する手段を更に備え、
前記切替手段は、通知された切替指示に応じて画像処理手段を切り替えるようにしてある請求項１に記載の情報処理装置。
【請求項４】
前記切替手段は、各オペレーションシステムにより実行されるアプリケーションプログラムが特定のアプリケーションプログラムであるか否かを判断する判断手段を更に備え、
該判断手段が特定のアプリケーションプログラムであると判断した場合にハード画像処理手段へ切り替え、前記判断手段が否と判断した場合にソフト画像処理手段へ切り替えるようにしてある請求項１に記載の情報処理装置。
【請求項５】
前記ハード画像処理手段は生成した画像を記憶する第１の画像記憶領域を備えて用い、
前記ソフト画像処理手段には生成した画像を記憶する第２の画像記憶領域が対応付けられて用いるようにしてあり、
前記切替手段が画像処理手段を切り替える場合、
切り替え前の画像処理手段が用いる画像記憶領域から、記憶してある画像を読み出し、
読み出した画像を切り替え後の画像処理手段が用いる画像記憶領域に書き込み、
切り替え後のハード画像処理手段又はソフト画像処理手段は、用いる画像記憶領域に書き込まれた画像を元に画像を生成して送信するようにしてある請求項１に記載の情報処理装置。
【請求項６】
実行される情報処理に応じて変化する画像の変化の有無を判断する手段を備え、
前記ソフト画像処理手段は、画像処理を実行中に画像の変化は無しと判断される間、生成した画像を記憶すべく対応付けられている画像記憶領域に記憶した画像を送信し続けるようにしてある請求項１乃至５のいずれかに記載の情報処理装置。
【請求項７】
前記ソフト画像処理手段は、
生成した画像を圧縮符号化する手段と、
対応付けられている前記画像記憶領域に圧縮符号化後の画像を記憶する手段と
を備え、
画像の変化が無しと判断される間は前記画像記憶領域に記憶してある圧縮符号化後の画像を送信するようにしてある請求項６に記載の情報処理装置。
【請求項８】
画像を表示する手段を備える一又は複数の端末装置と、該一又は複数の端末装置に接続され、各端末装置に対応する一又は複数のオペレーションシステムを実行し、該オペレーションシステムによる情報処理の実行結果を、対応する端末装置へ送信する中央装置とを含む情報処理システムであって、
前記中央装置は、
各オペレーションシステムからの描画指示に基づく画像の生成、及び生成した画像の端末装置への逐次送信を含む画像処理をハードウェアにより実行する一又は複数のハード画像処理手段と、
前記画像処理をソフトウェアにより実行する一又は複数のソフト画像処理手段と、
前記ハード画像処理手段又はソフト画像処理手段のいずれの画像処理手段により画像処理を実行させるかを端末装置毎に選択する手段と、
端末装置毎に、対応するオペレーションシステムに対して前記ハード画像処理手段又はソフト画像処理手段のいずれか一方による画像処理を実行している間に、前記オペレーションシステムからの描画指示が所定の条件を満たす場合、画像処理手段を他方へ切り替える切替手段と
を備え、
前記端末装置は、
自身の動作状態を判別する手段と、
判別された動作状態に基づく切替指示を前記中央装置へ送信する手段とを備え、
前記中央装置は、
切替指示を受け付けて前記切替手段へ通知する手段を備え、
前記切替手段は、通知された切替指示に従って画像処理手段を切り替えるようにしてある情報処理システム。
【請求項９】
一又は複数の外部装置と接続され、各外部装置に対応する複数のオペレーションシステムを実行し、該オペレーションシステムによる情報処理の実行結果を、対応する外部装置へ送信する情報処理装置の制御方法であって、
前記情報処理装置は、
各オペレーションシステムからの描画指示に基づく画像の生成、及び生成した画像の外部装置への逐次送信を含む画像処理をハードウェアにより実行する一又は複数のハード画像処理手段と、前記画像処理をソフトウェアにより実行する一又は複数のソフト画像処理手段とを用い、
前記ハード画像処理手段又はソフト画像処理手段のいずれの画像処理手段により画像処理を実行させるかを外部装置毎に選択し、
外部装置毎に、対応するオペレーションシステムに対して前記ハード画像処理手段又はソフト画像処理手段のいずれか一方による画像処理を実行している間に、前記オペレーションシステムからの描画指示が所定の条件を満たす場合、画像処理手段を他方へ切り替える情報処理装置の制御方法。
【請求項１０】
ネットワークを介して一又は複数の外部装置と接続され、更に、オペレーションシステムからの描画指示に基づく画像の生成、及び生成した画像の外部への逐次送信を含む画像処理を実行する一又は複数のハード画像処理装置と接続する手段を備えるコンピュータに、各外部装置に対応する一又は複数のオペレーションシステムを実行させるコンピュータプログラムであって、
前記コンピュータを、
各オペレーションシステムからの描画指示に基づく画像の生成、及び生成した画像の外部装置への逐次送信を実行する一又は複数の画像処理手段、
前記ハード画像処理装置又は画像処理手段のいずれにより画像処理を実行させるかを外部装置毎に選択する手段、及び、
外部装置毎に、対応するオペレーションシステムに対して前記ハード画像処理装置又は前記画像処理手段のいずれか一方による画像処理を実行している間に、前記外部装置に対応するオペレーションシステムからの描画指示が所定の条件を満たす場合、画像処理手段を他方へ切り替える切替手段
として機能させるコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画面転送方式により遠隔のユーザへコンピュータによる処理を提供することができる情報処理装置に関する。特に、少ないハードウェア資源でより多数のユーザへ対応させることを可能とする情報処理装置、情報処理システム、情報処理装置の制御方法及びコンピュータプログラムに関する。
【背景技術】
【０００２】
ユーザが使用する端末装置と接続される情報処理装置で実際の処理を実行し、端末装置は処理要求の送信及び処理結果の受信を行ない、離れた場所に在る情報処理装置を端末装置から制御することができる遠隔制御技術がある。情報処理装置での実行処理に応じて作成される画面を端末装置へ送信し、端末装置側でこれを受信して画面を表示し、情報処理装置で実現されるＧＵＩ（Graphical User Interface）を利用することにより遠隔制御を実現する。
【０００３】
また、ハードディスク等の大容量の記憶媒体を備えない端末装置を含み、実際の処理は端末装置とネットワークを介して接続される情報処理装置（サーバ装置）で行なうシンクライアント（thin client）システムがある。この場合、端末装置はメモリ、ネットワークカード等の必要最低限のハードウェアを備え、各種アプリケーションプログラム及び設定情報、処理結果等のデータを記憶しない。各種アプリケーションプログラムは情報処理装置で実行され、端末装置は情報処理装置で作成される描画信号又は画面データを受信して結果をディスプレイに表示する。これにより、各端末装置は各ユーザのパーソナルコンピュータとして動作することが可能である。
【０００４】
上述のような各システムにおける端末装置に用いられるコンピュータ装置は、ディスプレイ、メモリ等のハードウェアを備え、情報処理装置とネットワークを介して接続されており、画面を受信して表示させる所定の端末装置用プログラムが実行されている状態であれば、情報処理装置を遠隔から制御すること又は情報処理装置から各サービスの提供を受けることが可能である。
【０００５】
また、情報処理装置から画面を描画信号又は特定の画面データではなく映像として送信し、端末装置側では映像を受信して表示させる構成とする場合がある。この場合、端末装置側では映像を受信して表示する最低限の機能があればよい。したがって、端末装置側で最新のアプリケーションプログラムを実行できる環境、又は特定の制御が実行可能な環境が整えられていないときには動作しないなどの事態が回避され、ユーザにとって利便性が向上する。
【０００６】
送受信される映像の生成についてはハードウェアエンコードにより圧縮符号化して送信する構成とすることにより、処理を高速化すると共に送受信されるデータ量を削減して帯域を節約することができる（特許文献１）。また、映像化される画面の構成要素の内の一部については解像度を自動的に下げる等のデフォーカス処理を行ない、データ量を削減すると共に復号処理の負荷を低減させる技術も提案されている（特許文献２）。
【特許文献１】特開平８−６９５４５号公報
【特許文献２】特開２００６−１３４３２６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
情報処理装置から送信する画面を映像として送信する場合、操作に対応した画面を表示させる必要性から映像化処理を高速化するためにハードウェアエンコードさせる構成が望ましい。しかしながら、利用するユーザの数に応じてハードウェアエンコーダを各端末装置に対して用意することは非現実的である。そこで、ユーザの利用率を考慮してユーザ数よりも少ない数のハードウェアエンコーダを備える構成とした場合、想定された利用率を超えてユーザが利用を試みたときには一部のユーザがサービスの提供を受けることができない。
【０００８】
本発明は斯かる事情に鑑みてなされたものであり、ハードウェア処理による画像生成及び送信と、ソフトウェア処理による画像生成及び送信とを切り替える構成とすることにより、少ないハードウェア資源でより多数のユーザへ情報処理の結果に基づく画面の送信を実現することができる情報処理装置、情報処理システム、情報処理装置の制御方法及びコンピュータを前記情報処理装置として機能させるコンピュータプログラムを提供することを目的とする。
【０００９】
本発明の他の目的は、ユーザによる利用状態に応じてハードウェア処理とソフトウェア処理とを切り替えることにより効率的にハードウェア資源を割り当て、少ないハードウェア資源でより多数のユーザへ情報処理の結果に基づく画面の送信を実現することができる情報処理装置を提供することにある。
【００１０】
本発明の他の目的は、切り替えがスムーズに行なわれてユーザが快適に利用することができる情報処理装置を提供することにある。
【００１１】
本発明の他の目的は、通信量を削減し、且つ処理負荷を低減して少ないハードウェア資源でもより多くのユーザが快適に利用することができる情報処理装置を提供することにある。
【課題を解決するための手段】
【００１２】
本発明に係る情報処理装置は、一又は複数の外部装置と接続され、各外部装置に対応して一又は複数のオペレーションシステムを実行し、該オペレーションシステムによる情報処理の実行結果を、対応する外部装置へ送信する情報処理装置であって、各オペレーションシステムからの描画指示に基づく画像の生成、及び生成した画像の外部装置への逐次送信を含む画像処理をハードウェアにより実行する一又は複数のハード画像処理手段と、前記画像処理をソフトウェアにより実行する一又は複数のソフト画像処理手段と、前記ハード画像処理手段又はソフト画像処理手段のいずれかの画像処理手段により画像処理を実行させるかを外部装置毎に選択する手段と、外部装置毎に、対応するオペレーションシステムに対して前記ハード画像処理手段又はソフト画像処理手段のいずれか一方による画像処理を実行している間に、前記オペレーションシステムからの描画指示が所定の条件を満たす場合、画像処理手段を他方へ切り替える切替手段とを備える。
【００１３】
本発明に係る情報処理装置は、実行される情報処理に応じて各オペレーションシステムから与えられる描画指示の種別が特定の種別であるか否か、又は描画指示の数が所定値以上であるか否かを判定する判定手段を更に備え、前記切替手段は、前記ハード画像処理手段による画像処理の実行中に、前記判定手段が特定の種別でない、又は所定値未満であると判定した場合、ソフト画像処理手段へ切り替え、前記ソフト画像処理手段による画像処理の実行中に、前記判定手段が特定の種別である、又は所定値以上であると判定した場合、ハード画像処理手段へ切り替えるようにしてある。
【００１４】
本発明に係る情報処理装置は、切替指示を受け付け、前記切替手段へ通知する手段を更に備え、前記切替手段は、通知された切替指示に応じて画像処理手段を切り替えるようにしてある。
【００１５】
本発明に係る情報処理装置は、前記切替手段は、各オペレーションシステムにより実行されるアプリケーションプログラムが特定のアプリケーションプログラムであるか否かを判断する判断手段を更に備え、該判断手段が特定のアプリケーションプログラムであると判断した場合にハード画像処理手段へ切り替え、前記判断手段が否と判断した場合にソフト画像処理手段へ切り替えるようにしてある。
【００１６】
本発明に係る情報処理装置は、前記ハード画像処理手段は生成した画像を記憶する第１の画像記憶領域を備えて用い、前記ソフト画像処理手段には生成した画像を記憶する第２の画像記憶領域が対応付けられて用いるようにしてあり、前記切替手段が画像処理手段を切り替える場合、切り替え前の画像処理手段が用いる画像記憶領域から、記憶してある画像を読み出し、読み出した画像を切り替え後の画像処理手段が用いる画像記憶領域に書き込み、切り替え後のハード画像処理手段又はソフト画像処理手段は、用いる画像記憶領域に書き込まれた画像を元に画像を生成して送信するようにしてある。
【００１７】
本発明に係る情報処理装置は、実行される情報処理に応じて変化する画像の変化の有無を判断する手段を備え、前記ソフト画像処理手段は、画像処理を実行中に画像の変化は無しと判断される間、生成した画像を記憶すべく対応付けられている画像記憶領域に記憶した画像を送信し続けるようにしてある。
【００１８】
本発明に係る情報処理装置は、前記ソフト画像処理手段は、生成した画像を圧縮符号化する手段と、対応付けられている前記画像記憶領域に圧縮符号化後の画像を記憶する手段とを備え、画像の変化が無しと判断される間は前記画像記憶領域に記憶してある圧縮符号化後の画像を送信するようにしてある。
【００１９】
本発明に係る情報処理システムは、画像を表示する手段を備える一又は複数の端末装置と、該一又は複数の端末装置に接続され、各端末装置に対応する一又は複数のオペレーションシステムを実行し、該オペレーションシステムによる情報処理の実行結果を、対応する端末装置へ送信する中央装置とを含む情報処理システムであって、前記中央装置は、各オペレーションシステムからの描画指示に基づく画像の生成、及び生成した画像の端末装置への逐次送信を含む画像処理をハードウェアにより実行する一又は複数のハード画像処理手段と、前記画像処理をソフトウェアにより実行する一又は複数のソフト画像処理手段と、前記ハード画像処理手段又はソフト画像処理手段のいずれの画像処理手段により画像処理を実行させるかを端末装置毎に選択する手段と、端末装置毎に、対応するオペレーションシステムに対して前記ハード画像処理手段又はソフト画像処理手段のいずれか一方による画像処理を実行している間に、前記オペレーションシステムからの描画指示が所定の条件を満たす場合、画像処理手段を他方へ切り替える切替手段とを備え、前記端末装置は、自身の動作状態を判別する手段と、判別された動作状態に基づく切替指示を前記中央装置へ送信する手段とを備え、前記中央装置は、切替指示を受け付けて前記切替手段へ通知する手段を備え、前記切替手段は、通知された切替指示に従って画像処理手段を切り替えるようにしてある。
【００２０】
本発明に係る情報処理装置の制御方法は、一又は複数の外部装置と接続され、各外部装置に対応する複数のオペレーションシステムを実行し、該オペレーションシステムによる情報処理の実行結果を、対応する外部装置へ送信する情報処理装置の制御方法であって、前記情報処理装置は、各オペレーションシステムからの描画指示に基づく画像の生成、及び生成した画像の外部装置への逐次送信を含む画像処理をハードウェアにより実行する一又は複数のハード画像処理手段と、前記画像処理をソフトウェアにより実行する一又は複数のソフト画像処理手段とを用い、前記ハード画像処理手段又はソフト画像処理手段のいずれの画像処理手段により画像処理を実行させるかを外部装置毎に選択し、外部装置毎に、対応するオペレーションシステムに対して前記ハード画像処理手段又はソフト画像処理手段のいずれか一方による画像処理を実行している間に、前記オペレーションシステムからの描画指示が所定の条件を満たす場合、画像処理手段を他方へ切り替える。
【００２１】
本発明に係るコンピュータプログラムは、ネットワークを介して一又は複数の外部装置と接続され、更に、オペレーションシステムからの描画指示に基づく画像の生成、及び生成した画像の外部への逐次送信を含む画像処理を実行する一又は複数のハード画像処理装置と接続する手段を備えるコンピュータに、各外部装置に対応する一又は複数のオペレーションシステムを実行させるコンピュータプログラムであって、前記コンピュータを、各オペレーションシステムからの描画指示に基づく画像の生成、及び生成した画像の外部装置への逐次送信を実行する一又は複数の画像処理手段、前記ハード画像処理装置又は画像処理手段のいずれにより画像処理を実行させるかを外部装置毎に選択する手段、及び、外部装置毎に、対応するオペレーションシステムに対して前記ハード画像処理装置又は前記画像処理手段のいずれか一方による画像処理を実行している間に、前記外部装置に対応するオペレーションシステムからの描画指示が所定の条件を満たす場合、画像処理手段を他方へ切り替える切替手段として機能させる。
【００２２】
本発明では、情報処理装置（中央装置）は、オペレーションシステムからの描画指示に基づく画像について、ハードウェアによる画像の生成及び送信のみならず、ソフトウェアによる画像の生成及び送信をも可能としていずれかを外部装置（端末装置）毎に選択するので、画像の生成及び送信を行なうハードウェアの数よりも多い数のユーザに対してオペレーションシステムからの描画指示に基づく画像を生成して送信することが可能となる。そして、各ユーザが使用する外部装置（端末装置）夫々に対して画像を送信するために画像処理を実行中でも、所定の条件によりハードウェアによる画像処理とソフトウェアによる画像処理とを切り替え可能とするので、ハードウェア資源の利用が効率的となる。
【００２３】
本発明では、一の外部装置に対応するオペレーションシステムから与えられる描画指示の種別が特定の種別でなく、又は描画指示の数が所定値未満である場合にはソフトウェアによって画像生成及び送信が実行されるように切り替えられる。描画指示の種別又は頻度によってはソフトウェアによって画像生成及び送信が行なわれても情報処理装置の処理負荷が少なく処理速度も間に合う場合がある。描画指示の種別が特定の種別である場合、又は頻度が高い場合にはハードウェアによって高速に実行するようにすることにより、ハードウェア資源の利用が効率的となる。
【００２４】
本発明では、切替指示に応じてソフトウェアによる画像処理からハードウェアによる画像処理へ、又はハードウェアによる画像処理からソフトウェアによる画像処理へ切り替えられる。これにより、外部装置（端末装置）における動作状態に応じた切り替え又は外部装置を利用するユーザによる切り替えが可能となり、外部装置の利用状態に応じた効率的なハードウェア資源の利用が可能となる。
【００２５】
本発明では、実行されるアプリケーションプログラムが特定のアプリケーションプログラムであるか否かによってソフトウェアによる画像処理からハードウェアによる画像処理へ、又はハードウェアによる画像処理からソフトウェアによる画像処理へ切り替えられる。これにより、一の外部装置に対応してハードウェア資源の利用が必要ない情報処理が実行される間は、他の外部装置に対してハードウェアによる画像処理を実行させることが可能となり、ハードウェア資源の利用が効率的となる。
【００２６】
本発明では、ハードウェアによる画像処理からソフトウェアによる画像処理へ、又はソフトウェアによる画像処理からハードウェアによる画像処理へ切り替えられる場合、それまでに生成されていた画像の移動が行なわれ、生成されていた画像を元に画像が生成される。画像処理手段が切り替えられても、過去の画像を元にスムーズに画像の生成が開始される。
【００２７】
本発明では、画像の変化が無い場合はソフトウェアによって画像処理を行なうように切り替えられ、画像が生成されて記憶された後、画像の変化がない間は記憶されている画像が外部へ送信され続ける。これにより、情報処理装置における処理負荷が低減される。
【００２８】
本発明では、更に生成された画像は圧縮符号化されて送信される。圧縮符号化された画像は逐次記憶される。ソフトウェアによって画像処理が行なわれるように切り替えられた場合、画像の変化が無い間は、画像の生成及び圧縮符号かを逐次することなしに既に生成され圧縮符号化されて記憶されている画像が送信され続ける。これにより、通信量が削減され、且つ情報処理装置における処理負荷が低減される。
【発明の効果】
【００２９】
本発明による場合、オペレーションシステムからの描画指示に基づく画像の生成及び送信について、ハードウェアによる画像処理とソフトウェアによる画像処理とが適宜切り替えられてハードウェア資源の利用が効率的となるので、少ないハードウェア資源でより多くのユーザへ、オペレーションシステムからの描画指示に基づく画像の送信を実現することができる。
【００３０】
本発明による場合、画像の変化量に応じてハードウェアによる画像処理とソフトウェアによる画像処理とが切り替えられてハードウェア資源の利用が効率的となるので、少ないハードウェア資源でより多くのユーザへの処理結果に基づく画像の送信を実現することができる。
【００３１】
本発明による場合、外部装置（端末装置）の利用状態に応じた効率的なハードウェア資源の利用が可能となるので、少ないハードウェア資源でより多くのユーザへの処理結果に基づく画像の送信を実現することができる。
【００３２】
本発明による場合、一の外部装置に対応してハードウェア資源の利用が必要ない処理が実行される間は、他の外部装置にハードウェア資源を対応させることが可能となり、ハードウェア資源の利用が効率的となるので、少ないハードウェア資源でより多くのユーザへの処理結果に基づく画像の送信を実現することができる。
【００３３】
本発明による場合、切り替えがスムーズに行なわれるので、少ないハードウェア資源でもより多数のユーザへ情報処理の結果に基づく画像を送信することができ、ユーザはより快適に利用することが可能となる。
【００３４】
本発明による場合、画像の変化が無い場合には画像生成処理が省略されて処理負荷が低減される。したがって、少ないハードウェア資源でもより多数のユーザへ情報処理の結果に基づく画面の送信を実現することができ、ユーザはより快適に利用することが可能となる。
【００３５】
本発明による場合、情報処理装置から送信される画像は圧縮符号化されるので通信量が削減され、更に画像の変化が無い場合には画像の生成及び圧縮符号化処理も省略されて処理負荷が低減される。したがって、少ないハードウェア資源でもより多数のユーザへ情報処理の結果に基づく画像の送信を実現することができ、ユーザはより快適に利用することが可能となる。
【発明を実施するための最良の形態】
【００３６】
以下本発明をその実施の形態を示す図面に基づき具体的に説明する。
【００３７】
なお、以下に説明する実施の形態１乃至３では、シンクライアントシステムを実現するシンクライアントサーバに、本発明に係る情報処理装置を適用した場合の例を用いて説明する。
【００３８】
（実施の形態１）
図１は、実施の形態１におけるシンクライアントシステムの構成の概要を示す構成図である。シンクライアントシステムは、本発明に係る情報処理装置を適用したサーバ装置１と、サーバ装置１にネットワークＮを介して接続される端末装置２，２，…とを含んで構成される。端末装置２が携帯型端末装置である場合には、アクセスポイントＡＰを介してネットワークＮに接続される。
【００３９】
サーバ装置１はサーバコンピュータ装置により構成されている。サーバ装置１には一の装置で複数の情報処理装置として動作する仮想化技術が適用されており、各端末装置２，２，…に対応する（各ユーザ用に設定が保存されている）ＯＳを起動して実行するようにしてある。サーバ装置１では、端末装置２，２，…からのユーザによる操作に応じた処理要求に応じて端末装置２，２，…夫々に対応するＯＳが情報処理を実行し、実行結果に基づいて生成されるＧＵＩ（Graphical User Interface）、ＣＵＩ（Command User Interface）等のユーザインタフェースを含む画面を表わす画像を各端末装置２，２，…へ送信する。
【００４０】
端末装置２，２，…は、シンクライアント（thin client）として使用されるコンピュータ装置により構成されている。端末装置２，２，…は、液晶表示装置等の表示装置に接続するセットトップボックス（ＳＴＢ：Set Top Box）でも、ＰＤＡ（Personal Digital Assistant）、携帯電話機等の携帯型端末装置でもよい。ただし、端末装置２，２，…は、大容量のハードディスク等の各ユーザ用の情報が記憶される記憶媒体を備えず、基本ソフトであるオペレーションシステム（以下ＯＳ（Operation System））、各種アプリケーションプログラム自体、それらの動作に対する設定事項、及び実行結果のデータを記憶していない。端末装置２，２，…は、サーバ装置１に接続して自身に対応するＯＳの起動を要求する接続要求を送信すると共に、上述のようにユーザの操作に応じた処理要求をサーバ装置１へ送信する。サーバ装置１からは、処理要求に対して行なわれた情報処理の実行結果に基づく画像が送信されるので、端末装置２，２，…は画像を受信して表示装置又は自身が備える表示部に表示し、シンクライアントとして動作する。
【００４１】
このように、ユーザに使用される端末装置２，２，…ではＯＳ、及びＯＳ上で動作する各種アプリケーションプログラムは実行されず、各処理は端末装置２，２，…が接続しているサーバ装置１で実行される。端末装置２，２，…は受信した画像の出力、操作の受け付け、受け付けた操作に応じた処理要求の送信等、端末装置としての処理を最低限行なうように構成されている。
【００４２】
実施の形態１におけるシンクライアントシステムは、サーバ装置１から送信される画像は描画コマンド等ではなく、画面の画像を時系列に並べて圧縮符号化した映像として送信される構成とする。端末装置２，２，…では受信した映像を復号する機能を有しており、復号後の画面の映像を表示部又は接続されている表示装置で表示させる。画面を映像として送信する画面転送方式を採用することにより、端末装置２，２，…ではサーバ装置１のＯＳ及びＯＳのバージョン等の環境の違いによって描画コマンドの解釈が異なる場合、又は解釈の拡張がされている場合等に端末装置２，２，…でこれらに対応せずとも映像を受信して表示させることができればよく、保守管理性に優れる。
【００４３】
このように、画面転送方式によるシンクライアントシステムにより、各ユーザは端末装置２，２，…では操作に応じた実際の処理が行なわれていないにも拘わらず、各端末装置２，２，…を介してＯＳを利用して各種アプリケーションプログラムを実行させることが可能な自分用のパーソナルコンピュータ（ＰＣ；Personal Computer）装置として使用することができるネットワークＰＣサービスが実現される。ネットワークＰＣサービスにより、各端末装置２，２，…はネットワークを介した通信機能、画面の表示機能等の最低限の機能を有する構成としてコストを下げることができると共に、各ユーザは自身で管理せずとも多様な最新のアプリケーションプログラムを安全に利用することができる。
【００４４】
一のサーバ装置１が通信を確立して画面の映像を送受信することができる端末装置２，２，…の数はサーバ装置１の処理能力に応じて異なる。ただし、実施の形態１におけるシンクライアントシステムでは、サーバ装置１から端末装置２，２，…へ送信する画面の映像は基本的にハードウェア処理により画面を表わす画像を生成し、生成された順に画像を映像に圧縮符号化して送信する。したがって、対応させることができる端末装置２，２，…の数は、画像の生成、圧縮符号化及び送信処理を実現するハードウェア資源の数で決まる。
【００４５】
実施の形態１におけるサーバ装置１ではｎ台の情報処理装置として動作してｎ人のユーザに対応できるのに対し、グラフィックコントローラ及びハードウェアエンコーダを含む、対応可能ユーザ数ｎよりも少ないｍ台（ｎ＞ｍ）の画像送信装置１４，１４，…（図２参照）を備える構成とする。そして、サーバ装置１ではソフトウェア処理によっても画像生成、圧縮符号化及び送信処理を実行することができる構成とする。サーバ装置１は、（ｍ＋１）人目のユーザが端末装置２，２，…を利用する状況となった場合、ハードウェア処理とソフトウェア処理とを切り替える。これにより、本実施の形態１におけるシンクライアントシステムでは、サーバ装置１によってｍを超える端末装置２，２，…との通信の確立を可能とし、より多数のユーザがネットワークＰＣサービスを利用することができる。
【００４６】
以下に、より多数のユーザによるネットワークＰＣサービスの利用を実現するためのサーバ装置１の構成について詳細を説明する。図２は、実施の形態１におけるシンクライアントシステムを構成するサーバ装置１及び端末装置２の内部構成を示すブロック図である。また、図３は、実施の形態１におけるサーバ装置１が備える画像送信装置１４の内部構成を示すブロック図である。
【００４７】
サーバ装置１は、各構成部を制御するＣＰＵを利用した制御部１０と、ハードディスクを利用した記憶部１１と、ＤＲＡＭ（Dynamic Random Access Memory），ＳＲＡＭ（Static Random Access Memory）等の揮発性メモリを利用した一時記憶領域１２と、ネットワークカードを利用した通信部１３と、映像を送信する複数（ｍ台）の画像送信装置１４，１４，…と、ＤＶＤ（Digital Versatile Disk）、ＣＤ−ＲＯＭ等の記憶媒体１５からデータを読み取る補助記憶部１６とを備えている。
【００４８】
記憶部１１には、制御部１０が読み出して実行するＯＳプログラム１１１、ＶＭＭ（Virtual Machine Monitor）プログラム１１２、サーバ装置用プログラム１１３、各種アプリケーションプログラム１１４，１１４，…が記憶されている。各プログラムはＤＶＤ、ＣＤ−ＲＯＭ等の記憶媒体１５に記憶されており、制御部１０が補助記憶部１６により記憶媒体１５から読み出して記憶部１１に記憶したものでもよい。
【００４９】
制御部１０は記憶部１１に記憶されているＶＭＭプログラム１１２を読み出して実行することにより、サーバ装置１が論理的に複数の情報処理装置として動作する仮想化環境を提供する。これにより、サーバ装置１では制御部１０も論理的に分割され、夫々で複数の独立したＯＳが動作可能である。制御部１０は、記憶部１１からＯＳプログラム１１１を一時記憶領域１２に読み出して実行する。なお、サーバ装置用プログラム１１３は、ＶＭＭプログラム１１２に組み込まれている構成としてもよい。
【００５０】
記憶部１１には、制御部１０が複数のＯＳを実行する場合の対応する端末装置２，２，…毎の設定情報が記憶される。記憶部１１も、ＶＭＭプログラム１１２が読み出して実行されることによってＶＭＭとして動作する制御部１０により、複数の記憶部１１として論理的に分割されてＯＳ夫々に割り当てられる。ＯＳプログラム１１１は、Windows（登録商標）、Linux（登録商標）等のＯＳを実現するプログラムである。ＶＭＭプログラム１１２は、仮想化環境を提供するソフトウェアプログラムである。サーバ装置用プログラム１１３は、サーバコンピュータ装置が本発明に係る情報処理装置として動作するために必要な各種処理を行なうための主要なプログラムである。
【００５１】
一時記憶領域１２には、制御部１０の処理によって発生する各種情報が記憶されるＶＭＭとして動作する制御部１０により、一時記憶領域１２も論理的に複数の記憶領域に分割されて動作するＯＳ夫々に割り当てられ、ユーザデータ領域として用いられる。
【００５２】
通信部１３は、ネットワークＮを介したデータ通信を実現する。制御部１０は通信部１３により、端末装置２，２，…からの接続要求及び処理要求を受信する。また、制御部１０が、後述するようにソフトウェア処理によって画面の画像を生成する場合には、制御部１０は、生成した画像を圧縮符号化して通信部１３により端末装置２，２，…へ送信する。
【００５３】
画像送信装置１４，１４，…は、ＰＣＩ（ＰＣＩ−Ｅｘｐｒｅｓｓ）ボードで構成されており、ＯＳから出力される描画コマンドに基づき表示画面を表わす画像を生成するＧＰＵ（Graphics Processing Unit）１４１と、マウス、キーボード、スピーカ等の入出力装置との入出力信号を中継する入出力部１４２と、ＧＰＵ１４１で生成された表示画面を一時的に記憶しておく画像記憶部１４３と、表示画面を表わす画像を圧縮符号化する符号化部１４４と、ネットワークカードを利用した通信部１４５とを備えている。
【００５４】
画像送信装置１４は、ＧＰＵ１４１により描画コマンドを受け付ける構成としてあり、制御部１０がＯＳとして動作した場合に描画コマンドを出力する先として画像送信装置１４を考えた場合、グラフィックカード又はグラフィックアクセラレータと呼ばれる装置と同等である。したがって、画像送信装置１４が備えられることによって、ＯＳからの描画コマンドの出力処理を改める必要はない。
【００５５】
入出力部１４２は、キーボード、マウス、スピーカ等の各入出力装置とＯＳとの間で入出力信号を中継する機能を有しているほか、制御部１０からの描画コマンド以外の制御信号を受け付ける機能を有する。
【００５６】
画像記憶部１４３は、ＳＲＡＭ，ＤＲＡＭ等の高速書き込みに適した不揮発性メモリを利用してあり、ＧＰＵ１４１によって生成された画面の画像を記憶するようにしてある。
【００５７】
符号化部１４４は、ＧＰＵ１４１により生成されて画像記憶部１４３に記憶されている画像をＨ．２６４等のデジタル映像信号へ圧縮符号化するエンコーダチップを利用してある。そして符号化部１４４は、ＯＳから出力される音声信号を受け付けて画像と多重化して出力するようにしてもよい。
【００５８】
通信部１４５は、制御部１０から映像信号の送信先を示す送信先情報を受け付け、送信先情報に基づきＩＰパケットに映像信号を格納して出力するようにしてある。
【００５９】
端末装置２は、各構成部を制御するＣＰＵを利用した制御部２０と、ネットワークカードを利用した通信部２１と、サーバ装置１から受信する映像信号を表示画面を表わす画像へ復号する復号部２２と、復号した画像を表示させる表示部２３と、ユーザによる操作を受け付ける操作部２４とを備えている。
【００６０】
通信部２１は、対応するＯＳが実行されるサーバ装置１からの画面の映像信号の受信、ＯＳと端末装置２の入出力装置との間でやりとりされる入出力信号の送受信を実現する。
【００６１】
復号部２２は、画像送信装置１４の符号化部１４４に対応するデコーダチップを利用してあり、符号化部１４４で圧縮符号化されたデジタル映像信号を、表示画面を表わす画像へ復号して出力する。制御部２０は通信部２１により受信した映像信号を復号部２２へ与えて画像を取得する。
【００６２】
表示部２３は、液晶パネル等の表示デバイスを利用したディスプレイである。端末装置２と異なる筐体で構成される表示装置であってもよい。制御部２０は、復号部２２から出力される画像を表示部２３に与えて表示画面を表示させる。
【００６３】
操作部２４は、キーボード、マウス、スピーカ等の入出力装置と接続されており、各入出力装置との間で入出力信号を送受信する。制御部２０は、操作部２４によってキーボード、マウス等の入力装置から入力信号を受け付けた場合、通信部２１により入力信号を対応するＯＳへ通知するべくサーバ装置１へ送信する。
【００６４】
次に、上述のように構成されるシンクライアントシステムにおいて、より多数のユーザへサービスを提供するためにサーバ装置１で実現される機能について詳細を説明する。図４は、実施の形態１におけるサーバ装置１の制御部１０により実現される機能を概念的に示す機能ブロック図である。
【００６５】
制御部１０は、記憶部１１からＶＭＭプログラム１１２を読み出して実行することによりＶＭＭ１０２として動作し、サーバ装置１が論理的に複数の情報処理装置として動作する仮想化環境を提供する。制御部１０は、ＶＭＭプログラム１１２を読み出して実行することにより、論理的に分割されて複数（ｎ個）の制御部１０，１０，…として動作し、夫々独立したＯＳ１０１，１０１，…を実行することが可能となる。制御部１０は、ＶＭＭ１０２として動作することにより各ＯＳ１０１，１０１，…に対応するハードウェアの動作を制御する。例えば、一時記憶領域１１は各ＯＳ１０１，１０１，…に対応するように論理的に分割され、夫々のユーザデータを記憶するユーザデータ領域として用いられる。
【００６６】
制御部１０は、サーバ装置用プログラム１１３を読み出して実行することにより、端末装置２，２，…から送信される接続要求を処理するサーバ管理部１０３、ソフトウェア処理により画像生成、圧縮符号化及び送信処理を行なうソフト画像送信部１０４、画面の変化量の大小を判定する判定部１０５、及び、各ＯＳ１０１，１０１，…に対しソフト画像送信部１０４による処理と画像送信装置１４による処理とを切り替える切替部１０６として動作する。
【００６７】
制御部１０はサーバ管理部１０３として動作することにより、サーバ装置１との通信が認められた端末装置２，２，…からの起動要求に応じ、対応するＯＳプログラム１１１を制御部１０に読み出させて実行させ、各ＯＳ１０１，１０１，…を起動する。また、サーバ管理部１０３として動作することにより、空いている画像送信装置１４，１４，…を探索し、各端末装置２，２，…に対応するＯＳ１０１，１０１，…からの描画コマンドの出力先として画像送信装置１４，１４，…を対応付ける。このとき制御部１０はサーバ管理部１０３として動作することにより、端末装置２，２，…へ映像信号を送信するためのＩＰアドレス等の通信情報を対応する画像送信装置１４，１４，…へ通知する。
【００６８】
制御部１０はソフト画像送信部１０４として動作することにより、ソフトウェア処理によって画像送信装置１４における画像生成及び圧縮符号化と同様の処理を行なうことが可能である。ソフト画像送信部１０４は、ＯＳ１０１から出力される描画コマンドを解釈して画像を生成する画像生成部１０７と、画像生成部１０７が生成した画像を符号化する符号化部１０８としての機能を夫々ソフトウェア処理によって実現し、ソフト画像送信部１０４としての動作に割り当てられる通信部１３により対応する端末装置２へ映像信号を送信する。なお、制御部１０がソフト画像送信部１０４として動作する場合、対応するＯＳ１０１に割り当てられている一時記憶領域１２のユーザデータ領域をフレームバッファとして用い、画像生成部１０４の機能により生成した画像を記憶し、記憶しておいた画像から符号化部１０８としての機能によりデジタル映像信号へ圧縮符号化する。また、制御部１０はソフト画像送信部１０４としての動作を、複数のＯＳ１０１，１０１，…に対応付け、夫々のユーザデータ領域をフレームバッファとして用い、画像生成、圧縮符号化及び送信処理を時分割で並列に行なうことが可能である。
【００６９】
制御部１０は判定部１０５として動作することにより、各ＯＳ１０１，１０１，…から出力される描画コマンドに基づきＯＳ１０１，１０１，…毎に画面の変化を検知し、生成される画像での変化量の多少を判定する。画像送信装置１４による処理を行なっている場合に変化量が少ないとき又は変化量がゼロであるとき、及び、ソフト画像送信部１０４による処理を行なっている場合に変化量が多いときは切り替えが必要であるとして切替部１０６へ通知する。
【００７０】
制御部１０は切替部１０６として動作することにより、各ＯＳ１０１，１０１，…からの描画コマンドを画像送信装置１４，１４，…の内のいずれかへ出力するか、又はソフト画像送信部１０４へ出力するかを判定部１０５からの通知に基づいて切り替える。なお、空いている画像送信装置１４，１４，…が存在する場合には優先的に画像送信装置１４，１４，…によって処理を行なうように切り替えられるとする。
【００７１】
切替部１０６としての動作によって画像送信装置１４による処理からソフト画像送信部１０４による処理へ切り替える場合、制御部１０は、切替対象のＯＳ１０１に対応されている画像送信装置１４の画像記憶部１４３から画像を読み出すことが可能に構成されている。制御部１０は画像送信装置１４による処理からソフト画像送信部１０４による処理へ切り替える場合、画像送信装置１４の画像記憶部１４３から読み出した画像を、切替対象のＯＳ１０１に対応する一時記憶領域１２のユーザデータ領域へ書き込む。ソフト画像送信部１０４は、画像の生成の際にＯＳ１０１に対応する一時記憶領域１２のユーザデータ領域をフレームバッファとして用いるので、書き込まれた画像に続けて画像を生成しスムーズに映像信号へ圧縮符号化する処理を実行することができる。逆に、制御部１０はソフト画像送信部１０４による処理から画像送信装置１４による処理へ切り替える場合、フレームバッファとして用いられていた一時国領域１２のユーザデータ領域から読み出した画像を切替対象のＯＳ１０１に対応する画像送信装置１４の画像記憶部１４３へ書き込む。これにより、切り替え後の画像生成は切り替え前から継続的に行なわれてユーザは切り替えられたことを特に意識することなくスムーズに端末装置２の利用を継続できる。
【００７２】
そして、制御部１０の切替部１０６としての動作により、画像の生成、圧縮符号化及び送信の処理が画像送信装置１４による処理からソフト画像送信部１０４による処理へ切り替えられた場合、画像送信装置１４は他のＯＳ１０１に対応させることが可能な状態となるようにＶＭＭ１０２により制御される。またこの際、ＯＳ１０１の終了、再起動等が不要な構成とする。そして制御部１０は、サーバ管理部１０３として動作することにより他の端末装置２、即ち他のＯＳ１０１に画像送信装置１４へ割り当てる。これにより、切り替えがスムーズに行なわれてユーザは快適に端末装置２の利用を継続できる。
【００７３】
次に、サーバ装置１の各機能により実行される処理をフローチャートを参照して説明する。図５は、実施の形態１におけるサーバ装置１の制御部１０がサーバ管理部１０３として動作し、端末装置２からの接続要求を受信した場合の処理手順の一例を示すフローチャートである。
【００７４】
制御部１０はサーバ管理部１０３として動作し、通信部１３により接続要求を受信したか否かを判断する（ステップＳ１１）。制御部１０は接続要求を受信していないと判断した場合（Ｓ１１：ＮＯ）、処理をステップＳ１１へ戻す。制御部１０は接続要求を受信したと判断した場合（Ｓ１１：ＹＥＳ）、接続要求元の端末装置２から接続要求と共に送信されるログイン名、端末装置２の識別情報等を参照し、端末装置２を利用するユーザに対応するＯＳを特定する（ステップＳ１２）。
【００７５】
次に制御部１０は、ＯＳ１０１で出力される画面の画像を生成し、映像信号へ符号化して送信するに際し、初期的には画像送信装置１４による処理を行なうことを選択し、空いている画像送信装置１４を探索して対応付ける（ステップＳ１３）。このとき、画像送信装置１４，１４，…がいずれも空いていない場合は、ソフト画像送信部１０４による処理を行なうことを選択するか又はエラーを端末装置２へ返してもよい。そして制御部１０は、ステップＳ１２で特定したＯＳ１０１を起動し（ステップＳ１４）、接続要求を受信した場合の処理を終了する。
【００７６】
これにより、以後は端末装置２に対応して起動されたＯＳ１０１で、端末装置２からの処理要求に応じた情報処理が実行され、実行結果に応じた画面を描画するための描画コマンドが逐次出力される。
【００７７】
図６は、実施の形態１におけるサーバ装置１の制御部１０が判定部１０５として動作することによって行なう判定処理手順の一例を示すフローチャートである。
【００７８】
制御部１０は判定部１０５として動作することにより、各ＯＳ１０１から出力される描画コマンドに基づき、画面の変化量が少ないか否かを判定する（ステップＳ２１）。
【００７９】
制御部１０はステップＳ２１において、変化量の多少を判定するため以下に示す第１の基準を設定しておく。変化量の多少を判定する際、制御部１０は例えば描画コマンドの種別によって判定する。描画コマンドがマウスの移動である場合、画面に表示される文字の変更である場合、カーソルの移動のみである場合等は制御部１０は変化量が少ないと判定する。また、制御部１０は所定時間以内に検知した描画コマンドの数が所定値以下である場合に変化量が少ないと判定してもよい。逆に、描画コマンドがアプリケーションウィンドウの生成、消滅、又は大きさの変更である場合は変化量が多いと判定する。また、描画コマンドがマウスの移動であっても所定時間以内に検知した描画コマンドの数が所定値を超える場合には変化量が多いと判定してもよい。制御部１０は、検知した描画コマンドが上述のような特定の描画コマンドでない場合には変化量は少なくも多くもないと判定する。
【００８０】
制御部１０は、画面の変化量が少ないと判定した場合（Ｓ２１：ＹＥＳ）、判定対象の画面に対応するＯＳ１０１では画像送信装置１４による処理を行なうことが選択されて対応付けられているか否かを判断する（ステップＳ２２）。制御部１０は、画像送信装置１４ではなく、ソフト画像送信部１０４が対応付けられていると判断した場合（Ｓ２２：ＮＯ）、そのままソフト画像送信部１０４による画像生成、圧縮符号化及び送信処理を継続するため処理をステップＳ２１へ戻す。制御部１０は、画像送信装置１４が対応付けられていると判断した場合（Ｓ２２：ＹＥＳ）、ソフト画像送信部１０４による処理へ切り替えるべく切替部１０６へ通知し（ステップＳ２３）、処理をステップＳ２１へ戻して以後の処理を継続する。
【００８１】
制御部１０は、画面の変化量が少なくないと判定した場合（Ｓ２１：ＮＯ）、逆に画面の変化量が多いか否かを判定する（ステップＳ２４）。制御部は画面の変化量は少なくも多くもないと判定した場合（Ｓ２４：ＮＯ）、処理をステップＳ２１へ戻す。制御部１０は、画面の変化量が多いと判断した場合（Ｓ２４：ＹＥＳ）、判定対象の画面に対応するＯＳ１０１では画面送信装置１４による処理を行なうことが選択されて対応付けられているか否かを判断する（ステップＳ２５）。制御部１０は、画像送信装置１４が対応付けられていると判断した場合（Ｓ２５：ＹＥＳ）、そのまま画像送信装置１４による画像生成、圧縮符号化及び送信処理を継続するため処理をステップＳ２１へ戻す。制御部１０は、ソフト画像送信部１０４が対応付けられていないと判断した場合（Ｓ２５：ＮＯ）、画像送信装置１４による処理へ切り替えるべく切替部１０６へ通知し（ステップＳ２６）、処理をステップＳ２１へ戻して以後の処理を継続する。
【００８２】
なお、制御部１０は判定部１０５として動作することにより、判定対象の画面に対応するＯＳ１０１が終了されるまで上述のステップＳ２１からステップＳ２６までの処理を繰り返し、全てのＯＳ１０１が終了した場合、処理を終了する。
【００８３】
図７は、実施の形態１におけるサーバ装置１の制御部１０が切替部１０６として動作することによって行なう切り替え処理手順の一例を示すフローチャートである。
【００８４】
制御部１０は、ＯＳ１０１から出力される描画コマンドを検知したか否かを判断する（ステップＳ３１）。制御部１０は、描画コマンドを検知したと判断した場合（Ｓ３１：ＹＥＳ）、対応する画像送信装置１４又はソフト画像送信部１０４へ描画コマンドを出力し（ステップＳ３２）、処理をステップＳ３１へ戻す。
【００８５】
制御部１０は、描画コマンドを検知していないと判断した場合（Ｓ３１：ＮＯ）、判定部１０５による通知に基づき画像送信装置１４からソフト画像送信部１０４へ又はソフト画像送信部１０４から画像送信装置１４へ切り替えるか否かを判断する（ステップＳ３３）。制御部１０は、ステップＳ３３で切り替えないと判断した場合（Ｓ３３：ＮＯ）、処理をステップＳ３１へ戻す。
【００８６】
制御部１０は、ステップＳ３３で切り替えると判断した場合（Ｓ３３：ＹＥＳ）、画像送信装置１４又はソフト画像送信部１０４による画像の生成を中止させ（ステップＳ３４）、画像送信装置１４又はソフト画像送信部１０４で生成済みの画像を画像記憶部１４４又はフレームバッファとして用いられている一時記憶領域１２のユーザデータ領域から読み出す（ステップＳ３５）。
【００８７】
制御部１０は、読み出した画像を切り替え後の画像送信装置１４又はソフト画像送信部１０４が生成する画像を記憶する画像記憶部１４４又は一時記憶領域１２のユーザデータ領域へ書き込み（ステップＳ３６）、画像送信装置１４又はソフト画像送信部１０４で画像生成、圧縮符号化及び送信の処理を行なうように切り替え（ステップＳ３７）、処理を終了する。
【００８８】
サーバ装置１の制御部１０が上述の処理を行なうことにより、各ＯＳ１０１，１０１，…が起動したまま、画像送信装置１４が一のＯＳ１０１から他のＯＳ１０１へ対応付けられることが可能となる。画面の変化量が少ない期間ではＯＳ１０１から出力される描画コマンドに基づいてソフトウェア処理によって画像を生成し、圧縮符号化し、更に送信する構成としてもサーバ装置１への処理負荷は軽く、ユーザの利用に問題は生じない。そして、画像送信装置１４をユーザの利用状態に応じて効率的に対応を切り替えることができる。
【００８９】
例えばサーバ装置１に３台の画像送信装置１４，１４，…が備えられているとする。この場合、サーバ装置１に対して４人以上のユーザが端末装置２，２，…を利用しようとするときでも４人目のユーザの端末装置２には画像送信装置１４を対応させることができない。しかしながら、画像送信装置１４が対応付けられている一のＯＳ１０１で、例えばテキストエディタが起動しているが、１秒間に２、３文字が加えられる程度の頻度で画面が更新される場合、画面の変化量が少ないと判断されてソフト画像送信部１０４による処理へ切り替えられ、それまで対応付けられていた画像送信装置１４が他のＯＳ１０１へ対応可能となる。これにより、３台の画像送信装置１４，１４，…しか備えられていない場合であっても４人のユーザによる端末装置２，２，…の利用が可能となる。そしてソフト画像送信部１０４は複数のＯＳ１０１，１０１，…から出力される描画コマンドを時分割で夫々処理可能であるので、他のＯＳ１０１，１０１，…でも画面の変化量が少ない場合は同様にソフト画像送信部１０４での処理に切り替えられ、４人以上のユーザによる端末装置２，２，…の利用が可能となる。
【００９０】
このように、端末装置２，２，…の利用状態に応じた効率的なハードウェア資源の利用が可能となるので、少ないハードウェア資源でもより多くのユーザの端末装置２，２，…への画面の送信を実現することができる点、優れた効果を奏する。
【００９１】
また、図７のフローチャートに示した処理手順で切り替えが行なわれ、特にフレームバッファとして用いる記憶領域に最新の画像を移してから切り替えられることにより、スムーズに切り替えが行なわれるので、ユーザは画像送信装置１４による処理とソフト画像送信部１０４による処理との切り替えを意識することなく快適に端末装置２，２，…を利用することが可能である。
【００９２】
（実施の形態２）
実施の形態１では、制御部１０が判定部１０５として動作することにより、ＯＳ１０１から出力される描画コマンドに基づく画面の変化量の多少を判定し、変化量の多少の判定に応じて切替部１０６へ切り替え通知を行なう構成とした。これに対し、実施の形態２では、サーバ装置１の制御部１０で外部から切替指示を受け付け、切替指示に従って切替部１０６へ切り替え通知を行なう。また、実施の形態２では、ソフトウェア処理によって画像を生成し、圧縮符号化して送信する際に画面の変化が無い場合には画像の生成及び圧縮符号化を省略する。
【００９３】
実施の形態２におけるシンクライアントシステムを構成するサーバ装置１及び端末装置２，２，…のハードウェア構成は、実施の形態１と同様である。したがって以下の説明では同一の符号を付して各構成部の詳細な説明を省略し、相違点である端末装置２における処理及びサーバ装置１における処理について説明する。
【００９４】
実施の形態２におけるサーバ装置１の制御部１０への切替指示の一は、端末装置２から直接出力される。例えば、端末装置２の制御部２０は、端末装置２の動作状態が、フル稼働状態であるのか、入力待ち状態であるのか又はスタンバイ状態であるのか等を判別し、フル稼働状態でない場合にはソフト画像送信部１０４による処理への切り替えを指示する切替指示をサーバ装置１へ送信する。
【００９５】
また、端末装置２にユーザがスタンバイ状態への遷移を選択できるスタンバイボタンを設け、端末装置２の制御部２０は、操作部２４を介してスタンバイボタンの押下を検知した場合に、ソフト画像送信部１０４による処理への切り替えを指示する切替指示をサーバ装置１へ送信する構成としてもよい。
【００９６】
図８は、実施の形態２における端末装置２の制御部２０によって切替指示が送信される手順の一例を示すフローチャートである。
【００９７】
制御部２０は、端末装置２の動作状態がフル稼働状態でないと判別したか、又はスタンバイボタンの押下を検知したかを判断する（ステップＳ４１）。なお、ステップＳ４１に示したフル稼働状態であるか否かの判別は、例えば制御部２０は操作部２４を介して入出力装置からの入力信号を所定期間中に受け付けたか否かによって判断してもよい。
【００９８】
制御部２０は、端末装置２の動作状態がフル稼働状態でないと判別したか、又はスタンバイボタンの押下を検知したと判断した場合（Ｓ４１：ＹＥＳ）、ソフト画像送信部１０４による処理への切り替えを指示する切替指示をサーバ装置１へ送信し（ステップＳ４２）、処理を終了する。
【００９９】
また、制御部２０は、端末装置２の動作状態がフル稼働状態であり、スタンバイボタンの押下も検知していないと判断した場合（Ｓ４１：ＮＯ）、端末装置２の動作状態がフル稼働状態へ変化したか、又は、操作部２４を介してスタンバイ状態からの復帰を示すスタンバイボタンの再度の押下を検知したかを判断する（ステップＳ４３）。制御部２０は、動作状態のフル稼働状態への変化も、スタンバイボタンの再度の押下も検知していないと判断した場合（Ｓ４３：ＮＯ）、処理をステップＳ４１へ戻す。
【０１００】
制御部２０は、動作状態のフル稼働状態への変化、又は、スタンバイボタンの再度の押下を検知した場合（Ｓ４３：ＹＥＳ）、画像送信装置１４による処理への切り替えを指示する切替指示をサーバ装置１へ送信し（ステップＳ４４）、処理を終了する。
【０１０１】
端末装置２，２，…から切替指示がサーバ装置１へ送信される場合、サーバ装置１の制御部１０はサーバ管理部１０３としての動作によって通信部１３から切替指示を受信する。制御部１０はサーバ管理部１０３としての動作により、いずれの端末装置２，２，…からの切替指示であるか否かを特定し、特定された端末装置２から切替指示を受け付けたと判定する。制御部１０は、端末装置２に対応するＯＳ１０１に対応付けられた画像送信装置１４の通信部１４４及び入出力部１４２を介して切替指示を受信する構成としてもよい。
【０１０２】
実施の形態２におけるサーバ装置１の制御部１０への切替指示の他の一は、ＯＳ１０１から出力されてもよい。例えば、端末装置２，２，…に対応して起動されるＯＳ１０１，１０１，…は、ＯＳの動作状態がフル稼働状態であるのか、入力待ち状態であるのか又はスタンバイ状態であるのか等を判別し、フル稼働状態でない場合にはソフト画像送信部１０４による処理への切り替えを指示する切替指示を出力する。なお、画像送信装置１４の通信部１４４及び入出力部１４２によって中継される入出力信号に基づいてスタンバイ状態へ遷移する際に、ソフト画像送信部１０４による処理への切り替えを指示する切替指示を出力する構成としてもよい。なお、画像送信装置１４の入出力部１４２によって、端末装置２，２，…から入出力信号を所定期間受け付けていないことを検知し、切替指示を出力する構成としてもよい。
【０１０３】
そして、サーバ装置１の制御部１０は、端末装置２，２，…から直接送信される切替指示又は対応するＯＳ１０１から出力される切替指示を受け付け、切替指示に従って切り替えを切替部１０６へ通知する。
【０１０４】
図９は、実施の形態２におけるサーバ装置１の制御部１０が切替指示に従って切り替えを通知する処理手順の一例を示すフローチャートである。図９のフローチャートに示す処理は、制御部１０のサーバ管理部１０３としての処理に含まれてもよいし、判定部１０５としての処理に含まれてもよい。
【０１０５】
制御部１０は、端末装置２から送信される切替指示又はＯＳ１０１から出力される切替指示を受け付けたか否かを判断する（ステップＳ５１）。制御部１０は、切替指示を受け付けていないと判断した場合（Ｓ５１：ＮＯ）、処理をステップＳ５１へ戻す。
【０１０６】
制御部１０は、切替指示を受け付けたと判断した場合（Ｓ５１：ＹＥＳ）、受け付けた切替指示がソフト画像送信部１０４による処理への切り替えを示す切替指示であるか否かを判断する（ステップＳ５２）。制御部１０は、切替指示がソフト画像送信部１０４による処理への切り替えを示す切替指示であると判断した場合（Ｓ５２：ＹＥＳ）、処理をステップＳ２２へ進め、既にソフト画像送信部１０４による処理を行なっているときは（Ｓ２２：ＮＯ）、処理をステップＳ５１へ戻し、画像送信装置１４による処理を行なっているときは（Ｓ２２：ＹＥＳ）、ソフト画像送信部１０４による処理へ切り替えるべく切り替え通知を切替部１０６へ通知する（Ｓ２３）。
【０１０７】
そして制御部１０は、切替指示が画像送信装置１４による処理への切り替えを示す切替指示であると判断した場合（Ｓ５２：ＮＯ）、処理をステップＳ２５へ進め、既に画像送信装置１４による処理を行なっているときは（Ｓ２５：ＹＥＳ）、処理をステップＳ５１へ戻し、ソフト画像送信部１０４による処理を行なっているときは（Ｓ２５：ＮＯ）、画像送信装置１４による処理へ切り替えるべく切り替え通知を切替部１０６へ通知する（Ｓ２６）。
【０１０８】
サーバ装置１の制御部１０が図９のフローチャートに示したように切替指示に従って切り替えを通知し、切替部１０６の機能により切り替え処理を行なうことにより、ユーザによるスタンバイ状態への遷移指示に応じて効率的に画像送信装置１４の解放が可能となり、各ユーザの利用状態に応じた画像送信装置１４，１４，…の効率的な利用が可能となる。サーバ装置１に３台の画像送信装置１４，１４，…が備えられている場合、４人目のユーザの端末装置２には画像送信装置１４を対応させることができない。しかしながら、既に画像送信装置１４が対応付けられているＯＳ１０１に対応する端末装置２でユーザが一時的に離席する場合など、ユーザがスタンバイボタンを押下するか又は何の入力もされないことから描画コマンドがＯＳ１０１から出力されなくなったときには対応付けられていた画像送信装置１４を開放し、４人目のユーザの端末装置２に対応するＯＳ１０１へ画像送信装置１４を対応させることが可能となる。これにより、３台の画像送信装置１４，１４，…しか備えられていない場合であっても４人のユーザによる端末装置２，２，…の利用が可能となる。
【０１０９】
また、実施の形態２におけるサーバ装置１の制御部１０は、ソフト画像送信部１０４として動作する際、各ＯＳ１０１に対応させて利用するユーザデータ領域に、符号化部１０８として圧縮符号化済みの最新のデジタル映像信号を所定の単位、例えば２、３秒分単位で記憶する。したがって、ソフト画像送信部１０４としての動作を開始した後はユーザデータ領域には所定の単位の最新のデジタル映像信号が記憶されている。
【０１１０】
そして制御部１０は、判定部１０５として動作して画面の変化量の多少を判定するに際し、画面の変化量がゼロであるときに特にソフト画像送信部１０４へ通知する。なお、画面の変化量がゼロであるか否かの判断は、ソフト画像送信部１０４による処理が対応しているＯＳ１０１から出力される描画コマンドが所定時間以内に検知されるか否かにより判断する。制御部１０は、所定時間以内に一つの描画コマンドも検知しなかった場合にゼロであると判断してもよいし、描画コマンドを検知したとしてもリフレッシュのみで実質的に変化がないか否かにより判断してもよい。制御部１０は、ソフト画像送信部１０４として動作している場合に判定部１０５から画面の変化量がゼロである旨の通知を受けたときは画像生成部１０７及び符号化部１０８としての動作を休止し、一時記憶領域１２の対応するユーザデータ領域に記憶してある圧縮符号化済みのデジタル映像信号を読み出して端末装置２へ送信する。
【０１１１】
図１０は、実施の形態２におけるサーバ装置１の制御部１０が、ソフト画像送信部１０４として動作する場合の画面の変化の有無に応じた処理手順の一例を示すフローチャートである。なお、以下に示す処理手順は、ソフト画像送信部１０４による動作に切り替えられているＯＳ１０１が存在する場合に行なわれる。
【０１１２】
制御部１０は、画面の変化の有無を判断に基づいて変化がゼロである旨の通知を受けたか否かを判断する（ステップＳ６１）。制御部１０は、変化がゼロである旨の通知を受けていないと判断した場合（Ｓ６１：ＮＯ）、処理を終了する。制御部１０は、変化がゼロである旨の通知を受けたと判断した場合（Ｓ６１：ＹＥＳ）、画像生成部１０７及び符号化部１０８としての動作を休止し、一時記憶領域１２の対応するユーザデータ領域に記憶してある圧縮符号化済みのデジタル映像信号を読み出して端末装置２へ送信する処理を開始し（ステップＳ６２）、処理を終了する。
【０１１３】
なお、既に画像生成部１０７及び符号化部１０８としての動作を休止している状態で変化があったことを示す通知を受けたときには逆に、画像生成部１０７及び符号化部１０８としての動作を開始する。
【０１１４】
制御部１０は、ソフト画像送信部１０４による動作が対応しているＯＳ１０１が存在する間、継続して図１０のフローチャートに示した処理手順を繰り返し行なう。ソフト画像送信部１０４によって画像生成及び圧縮符号化を行なう場合には少なからず制御部１０の処理負荷が重くなるが、画面の変化が無い場合には画像生成及び圧縮符号化を省略することにより処理負荷を軽くすることができる。これにより、他の端末装置２，２，…への対応に処理負荷を割くことができ、より多くのユーザによる端末装置２，２，…の利用を実現することが可能となる。
【０１１５】
（実施の形態３）
実施の形態１では画面の変化量の多少に基づき切り替え、実施の形態２では外部から送信される切替指示又は内部から出力される切替指示に従い、画像送信装置１４による処理とソフト画像送信部１０４による処理の切り替えを行なう構成とした。これに対し、実施の形態３では、サーバ装置１の制御部１０が、ＯＳ１０１で起動される又は実行されているアプリケーションプログラムを検知し、アプリケーションプログラムに応じて切替部１０６へ切り替えを通知する構成とする。
【０１１６】
実施の形態３におけるシンクライアントシステムを構成するサーバ装置１及び端末装置２，２，…のハードウェア構成は、実施の形態１と同様である。したがって以下の説明では同一の符号を付して各構成部の詳細な説明を省略し、相違点である端末装置２における処理及びサーバ装置１における処理について説明する。
【０１１７】
実施の形態３におけるサーバ装置１の制御部１０は、サーバ管理部１０３として動作することにより、各ＯＳ１０１，１０１，…で実行されているアプリケーションプログラムを認識する機能を有している。即ちサーバ管理部１０３として動作する制御部１０は、各ＯＳ１０１，１０１，…と対応する端末装置２，２，…との間での入出力信号、又は、各ＯＳ１０１，１０１，…で発生しているイベント通知に基づき、起動されるアプリケーションプログラム及び実行されているアプリケーションプログラムの名前を取得可能である。
【０１１８】
サーバ装置１の記憶部１１には、例えば映像再生アプリケーションプログラム、高速演算を伴なう特殊なアプリケーションプログラム等の画像送信装置１４を使用すべき特定のアプリケーションプログラムの名前が記憶されている。制御部１０は、記憶部１１の特定のアプリケーションプログラムの名前を参照し、起動されるアプリケーションプログラム及び実行されているアプリケーションプログラムが特定のアプリケーションプログラムである場合には画像送信装置１４による処理を行なうようにし、特定のアプリケーションプログラムでない場合にはソフト画像送信部１０４による処理を行なうようにする。
【０１１９】
図１１は、実施の形態３におけるサーバ装置１の制御部１０が実行されているアプリケーションプログラムに応じて切り替えを通知する処理手順の一例を示すフローチャートである。図１１のフローチャートに示す処理は、制御部１０のサーバ管理部１０３としての処理に含まれてもよいし、判定部１０５としての処理に含まれてもよい。
【０１２０】
制御部１０は、一のＯＳ１０１で起動しているアプリケーションプログラム（ＡＰ）が特定のアプリケーションプログラムであるか否かを判断する（ステップＳ７１）。制御部１０は、特定のアプリケーションプログラムでないと判断した場合（Ｓ７１：ＮＯ）、処理をステップＳ２２へ進め、既にソフト画像送信部１０４による処理を行なっているときは（Ｓ２２：ＮＯ）、処理をステップＳ７１へ戻し、画像送信装置１４による処理を行なっているときは（Ｓ２２：ＹＥＳ）、ソフト画像送信部１０４による処理へ切り替えるべく切り替え通知を切替部１０６へ通知する（Ｓ２３）。
【０１２１】
制御部１０は、特定のアプリケーションプログラムであると判断した場合（Ｓ７１：ＹＥＳ）、処理をステップＳ２５へ進め、既に画像送信装置１４による処理を行なっているときは（Ｓ２５：ＹＥＳ）、処理をステップＳ７１へ戻し、ソフト画像送信部１０４による処理を行なっているときは（Ｓ２５：ＮＯ）、画像送信装置１４による処理へ切り替えるべく切り替え通知を切替部１０６へ通知する（Ｓ２６）。
【０１２２】
サーバ装置１の制御部１０が図１１のフローチャートに示したように実行されているアプリケーションプログラムに応じて切り替えを行なうことにより、ハードウェア資源の利用が必要ない処理が実行される間は、他の端末装置２へ対応させることを可能とし、実行されている情報処理の内容に応じた画像送信装置１４の効率的な利用が可能となる。
【０１２３】
例えば、サーバ装置１に３台の画像送信装置１４，１４，…が備えられている場合、４人目のユーザの端末装置２には画像送信装置１４を対応させることができない。しかしながら、既に画像送信装置１４が対応付けられているＯＳ１０１でテキストエディタを起動させている場合、ソフト画像送信部１０４による処理でも処理負荷が軽く、処理速度も十分に間に合うときには対応付けられていた画像送信装置１４を開放し、４人目のユーザの端末装置２に対応するＯＳ１０１へ画像送信装置１４を対応させることが可能となる。これにより、３台の画像送信装置１４，１４，…しか備えられていない場合であっても４人のユーザによる端末装置２，２，…の利用が可能となる。このように、少ないハードウェア資源でもより多くのユーザによる端末装置２，２，…の利用を実現することが可能となる。
【０１２４】
なお、実施の形態１乃至３では、夫々ハードウェア処理による動作とソフトウェア処理による動作との切り替えを夫々の基準に応じて行なう構成とした。しかしながら、サーバ装置１の制御部１０は、図７、図９及び図１１のフローチャートに示した処理を組み合わせて切り替えを行なう構成としてもよい。すなわち、画面の変化の多少及び実行されているアプリケーションプログラムに応じて切り替えるが、切替指示を受け付けた場合はこれを優先して切り替えるようにする。
【０１２５】
また、実施の形態１乃至３では、ソフト画像送信部１０４としての処理には符号化１０８による圧縮符号化処理も含まれ、特に実施の形態２では画面の変化が無いときには画像生成及び圧縮符号化を省略する構成とした。しかしながら、本発明はこれに限らず、ソフト画像送信部１０４としての処理には符号化１０８による圧縮符号化処理を行なわずに生成した画像を逐次端末装置２，２，…へ送信する構成としてもよい。この場合、実施の形態２で画面の変化が無い場合には画像生成処理を省略し、フレームバッファとして用いる一時記憶領域１２のユーザデータ領域に記憶されている最新の画像を端末装置２，２，…へ送り続ける構成とする。
【０１２６】
更に、実施の形態１乃至３では、仮想化環境は一個の筺体で構成されるサーバ装置１内で実現されるように説明した。しかしながら、複数の筺体で構成されるサーバ装置群で複数のＯＳを実行するように構成し、ＶＭＭ１０２として動作する制御部１０は異なる装置におけるハードウェア資源の割り当て、及び入出力命令の制御を行なう構成としてもよい。
【図面の簡単な説明】
【０１２７】
【図１】実施の形態１におけるシンクライアントシステムの構成の概要を示す構成図である。
【図２】実施の形態１におけるシンクライアントシステムを構成するサーバ装置及び端末装置の内部構成を示すブロック図である。
【図３】実施の形態１におけるサーバ装置が備える画像送信装置の内部構成を示すブロック図である。
【図４】実施の形態１におけるサーバ装置の制御部により実現される機能を概念的に示す機能ブロック図である。
【図５】実施の形態１におけるサーバ装置の制御部がサーバ管理部として動作し、端末装置からの接続要求を受信した場合の処理手順の一例を示すフローチャートである。
【図６】実施の形態１におけるサーバ装置の制御部が判定部として動作することによって行なう判定処理手順の一例を示すフローチャートである。
【図７】実施の形態１におけるサーバ装置の制御部が切替部として動作することによって行なう切り替え処理手順の一例を示すフローチャートである。
【図８】実施の形態２における端末装置の制御部によって切替指示が送信される手順の一例を示すフローチャートである。
【図９】実施の形態２におけるサーバ装置の制御部が切替指示に従って切り替えを通知する処理手順の一例を示すフローチャートである。
【図１０】実施の形態２におけるサーバ装置の制御部が、ソフト画像送信部として動作する場合の画面の変化の有無に応じた処理手順の一例を示すフローチャートである。
【図１１】実施の形態３におけるサーバ装置の制御部が実行されているアプリケーションプログラムに応じて切り替えを通知する処理手順の一例を示すフローチャートである。
【符号の説明】
【０１２８】
１  サーバ装置
１０  制御部
１０１  ＯＳ
１０２  ＶＭＭ
１０３  サーバ管理部
１０４  ソフト画像送信部（ソフト画像処理手段）
１０５  判定部
１０６  切替部
１０７  画像生成部
１０８  符号化部
１１  記憶部
１１１  ＯＳプログラム
１１２  ＶＭＭプログラム
１１３  サーバ装置用プログラム
１２  一時記憶領域
１３  通信部
１４  画像送信装置（ハード画像処理手段）
１４１  ＧＰＵ
１４３  画像記憶部
１４５  通信部
２  端末装置
２１  通信部
２４  操作部
【図１】
0005029443.tif 000002
【図２】
0005029443.tif 000003
【図３】
0005029443.tif 000004
【図４】
0005029443.tif 000005
【図５】
0005029443.tif 000006
【図６】
0005029443.tif 000007
【図７】
0005029443.tif 000008
【図８】
0005029443.tif 000009
【図９】
0005029443.tif 000010
【図１０】
0005029443.tif 000011
【図１１】
0005029443.tif 000012