(57)【特許請求の範囲】
【請求項１】
ホストオペレーティングシステム上においてゲストオペレーティングシステムに対して配分された表示ウィンドウにより、前記ゲストオペレーティングシステムを表示する、ホストオペレーティングシステムを有するコンピュータデバイスにおけるゲストオペレーティングシステムのスクリーンショット方法であって、
ゲストオペレーティングシステムからのスクリーンショットのリクエストを受信することと、
ホストオペレーティングシステム上においてゲストオペレーティングシステムに対して配分された表示ウィンドウが対応するレイヤを検索することと、
前記レイヤを、表示されるゲストオペレーティングシステムのスクリーンショットとして前記ゲストオペレーティングシステムに送信することと、を含むことを特徴とするコンピュータデバイスにおけるゲストオペレーティングシステムのスクリーンショット方法。
【請求項２】
前記の、前記レイヤを前記ゲストオペレーティングシステムに送信することは、具体的に、
前記レイヤをスクリーンショット記憶領域のホストオペレーティングシステムでの仮想アドレスに描画することと、
スクリーンショット記憶領域に格納された内容を前記ゲストオペレーティングシステムに送信することと、を含むことを特徴とする請求項１に記載のコンピュータデバイスにおけるゲストオペレーティングシステムのスクリーンショット方法。
【請求項３】
前記の、前記レイヤをスクリーンショット記憶領域のホストオペレーティングシステムでの仮想アドレスに描画することは、具体的に、
スクリーンショット記憶領域のゲストオペレーティングシステムでの物理アドレスを受信することと、
前記物理アドレスをスクリーンショット記憶領域のホストオペレーティングシステムでの仮想アドレスに変換することと、
前記レイヤを前記仮想アドレスに描画することと、を含むことを特徴とする請求項２に記載のコンピュータデバイスにおけるゲストオペレーティングシステムのスクリーンショット方法。
【請求項４】
前記スクリーンショット記憶領域のゲストオペレーティングシステムでの物理アドレスは、ゲストオペレーティングシステムのカーネルがスクリーンショット記憶領域のゲストオペレーティングシステムでの仮想アドレスを変換して得られるものであることを特徴とする請求項３に記載のコンピュータデバイスにおけるゲストオペレーティングシステムのスクリーンショット方法。
【請求項５】
前記スクリーンショット記憶領域のゲストオペレーティングシステムでの物理アドレスは、具体的に、前記スクリーンショット記憶領域のゲストオペレーティングシステムでの物理開始アドレスと記憶領域の大きさを含み、
前記スクリーンショット記憶領域のホストオペレーティングシステムでの仮想アドレスは、具体的に、前記スクリーンショット記憶領域のホストオペレーティングシステムでの仮想開始アドレスと記憶領域の大きさを含むことを特徴とする請求項３に記載のコンピュータデバイスにおけるゲストオペレーティングシステムのスクリーンショット方法。
【請求項６】
前記スクリーンショット記憶領域のゲストオペレーティングシステムでの物理アドレスは、具体的に、前記スクリーンショット記憶領域のゲストオペレーティングシステムでの物理開始アドレスと記憶領域の大きさを含み、
前記スクリーンショット記憶領域のゲストオペレーティングシステムでの仮想アドレスは、具体的に、前記スクリーンショット記憶領域のゲストオペレーティングシステムでの仮想開始アドレスと記憶領域の大きさを含むことを特徴とする請求項４に記載のコンピュータデバイスにおけるゲストオペレーティングシステムのスクリーンショット方法。
【請求項７】
前記の、スクリーンショット記憶領域に格納された内容を前記ゲストオペレーティングシステムに送信することは、具体的に、
ホストオペレーティングシステムとゲストオペレーティングシステムとの間のチャンネルを介して、スクリーンショット記憶領域に格納された内容を前記ゲストオペレーティングシステムに送信することを含むことを特徴とする請求項２に記載のコンピュータデバイスにおけるゲストオペレーティングシステムのスクリーンショット方法。
【請求項８】
前記の、ホストオペレーティングシステム上においてゲストオペレーティングシステムに対して配分された表示ウィンドウが対応するレイヤを検索することは、具体的に、
表示レイヤリポジトリから、ゲストオペレーティングシステムに対して配分された表示ウィンドウが対応するレイヤを検索し、そのうち、前記表示レイヤリポジトリには、ホストオペレーティングシステム上において各ゲストオペレーティングシステムに対して配分された表示ウィンドウが対応するレイヤが格納されることを含むことを特徴とする請求項１に記載のコンピュータデバイスにおけるゲストオペレーティングシステムのスクリーンショット方法。
【請求項９】
ホストオペレーティングシステム上においてゲストオペレーティングシステムに対して配分された表示ウィンドウにより、前記ゲストオペレーティングシステムを表示する、ホストオペレーティングシステムを有するコンピュータデバイスにおけるゲストオペレーティングシステムのスクリーンショット装置であって、
ゲストオペレーティングシステムからのスクリーンショットのリクエストを受信するように配置された受信ユニットと、
ホストオペレーティングシステム上においてゲストオペレーティングシステムに対して配分された表示ウィンドウが対応するレイヤを検索するように配置された検索ユニットと、
前記レイヤを、表示されるゲストオペレーティングシステムのスクリーンショットとして前記ゲストオペレーティングシステムに送信するように配置された送信ユニットと、を含むことを特徴とするコンピュータデバイスにおけるゲストオペレーティングシステムのスクリーンショット装置。
【請求項１０】
前記送信ユニットは、さらに、
前記レイヤをスクリーンショット記憶領域のホストオペレーティングシステムでの仮想アドレスに描画し、
スクリーンショット記憶領域に格納された内容を前記ゲストオペレーティングシステムに送信するように配置されていることを特徴とする請求項９に記載のコンピュータデバイスにおけるゲストオペレーティングシステムのスクリーンショット装置。
【請求項１１】
前記の、前記レイヤをスクリーンショット記憶領域のホストオペレーティングシステムでの仮想アドレスに描画することは、具体的に、
スクリーンショット記憶領域のゲストオペレーティングシステムでの物理アドレスを受信することと、
前記物理アドレスをスクリーンショット記憶領域のホストオペレーティングシステムでの仮想アドレスに変換することと、
前記レイヤを前記仮想アドレスに描画することと、を含むことを特徴とする請求項１０に記載のコンピュータデバイスにおけるゲストオペレーティングシステムのスクリーンショット装置。
【請求項１２】
前記スクリーンショット記憶領域のゲストオペレーティングシステムでの物理アドレスは、ゲストオペレーティングシステムのカーネルがスクリーンショット記憶領域のゲストオペレーティングシステムでの仮想アドレスを変換して得られるものであることを特徴とする請求項１１に記載のコンピュータデバイスにおけるゲストオペレーティングシステムのスクリーンショット装置。。
【請求項１３】
前記スクリーンショット記憶領域のゲストオペレーティングシステムでの物理アドレスは、具体的に、前記スクリーンショット記憶領域のゲストオペレーティングシステムでの物理開始アドレスと記憶領域の大きさを含み、
前記スクリーンショット記憶領域のホストオペレーティングシステムでの仮想アドレスは、具体的に、前記スクリーンショット記憶領域のホストオペレーティングシステムでの仮想開始アドレスと記憶領域の大きさを含むことを特徴とする請求項１１に記載のコンピュータデバイスにおけるゲストオペレーティングシステムのスクリーンショット装置。
【請求項１４】
前記スクリーンショット記憶領域のゲストオペレーティングシステムでの物理アドレスは、具体的に、前記スクリーンショット記憶領域のゲストオペレーティングシステムでの物理開始アドレスと記憶領域の大きさを含み、
前記スクリーンショット記憶領域のゲストオペレーティングシステムでの仮想アドレスは、具体的に、前記スクリーンショット記憶領域のゲストオペレーティングシステムでの仮想開始アドレスと記憶領域の大きさを含むことを特徴とする請求項１２に記載のコンピュータデバイスにおけるゲストオペレーティングシステムのスクリーンショット装置。
【請求項１５】
前記の、スクリーンショット記憶領域に格納された内容を前記ゲストオペレーティングシステムに送信することは、具体的に、
ホストオペレーティングシステムとゲストオペレーティングシステムとの間のチャンネルを介して、スクリーンショット記憶領域に格納された内容を前記ゲストオペレーティングシステムに送信することを含むことを特徴とする請求項１０に記載のコンピュータデバイスにおけるゲストオペレーティングシステムのスクリーンショット装置。
【請求項１６】
前記検索ユニットは、さらに、
表示レイヤリポジトリから、ゲストオペレーティングシステムに対して配分された表示ウィンドウが対応するレイヤを検索し、そのうち、前記表示レイヤリポジトリには、ホストオペレーティングシステム上において各ゲストオペレーティングシステムに対して配分された表示ウィンドウが対応するレイヤが格納されるように配置されていることを特徴とする請求項９に記載のコンピュータデバイスにおけるゲストオペレーティングシステムのスクリーンショット装置。
【請求項１７】
コンピュータ読み取り可能なプログラム指令を格納するためのメモリと、
請求項１乃至８のいずれか一項に記載の前記ゲストオペレーティングシステムのスクリーンショット方法を実現するように、メモリに格納されたコンピュータ読み取り可能なプログラム指令を実行するためのプロセッサと、を含むことを特徴とするコンピュータデバイス
【請求項１８】
コンピュータ読み取り可能なプログラム指令が格納され、前記コンピュータ読み取り可能なプログラム指令がプロセッサによって実行される場合、請求項１乃至８のいずれか一項に記載の前記ゲストオペレーティングシステムのスクリーンショット方法を実現することを特徴とするコンピュータ読み取り可能な媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、オペレーティングシステムの分野に関し、特に、コンピュータデバイスにおけるゲストオペレーティングシステムのスクリーンショット方法及び装置に関する。
【背景技術】
【０００２】
コンピュータデバイスにおいて、複数のオペレーティングシステムが運行されることができる。例えば、ホストオペレーティングシステムといくつかのゲストオペレーティングシステムは、同時に同一のコンピュータデバイス上で運行されることができる。複数のオペレーティングシステムの間はコンピュータデバイスにおけるハードウェア、例えばＣＰＵ、メモリ、入出力デバイスを共有する。ホストオペレーティングシステム上においては、ゲストオペレーティングシステム毎に１つの表示ウィンドウが配分される。ゲストオペレーティングシステムを表示する必要がある場合、ホストオペレーティングシステム上において配分された表示ウィンドウで表示される。ゲストオペレーティングシステムがバックグランドで運行される場合、配分された表示ウィンドウを非表示状態にし、ゲストオペレーティングシステムがフォアグラウンドで運行される場合、配分された表示ウィンドウを表示状態にする。
【０００３】
複数のオペレーティングシステムが同時に運行される場合、あるゲストオペレーティングシステムに対してスクリーンショットを撮る必要があることがある。この場合のスクリーンショット方法は単一のオペレーティングシステムのスクリーンショット方法と同様である。即ち、当該ゲストオペレーティングシステムのプロッティングリポジトリにおける全てのレイヤをトラバースして、レイヤにおける内容をプロッティングに使用される一つの記憶領域に逐一描画する。そして、当該領域におけるデータを読み出してユーザの画像フォーマットに変換し、ディスプレイにレンダリングすると、一回のゲストオペレーティングシステムのスクリーンショットが完了する。当該スクリーンショット方法は煩雑である。
【発明の概要】
【０００４】
本開示は、複数のオペレーティングシステムが同時に運行される環境において、ゲストオペレーティングシステムのスクリーンショットをより迅速にすることを１つの目的とする。  
【０００５】
本開示の実施例の第１方面によれば、ホストオペレーティングシステム上においてゲストオペレーティングシステムに対して配分された表示ウィンドウにより、前記ゲストオペレーティングシステムを表示する、ホストオペレーティングシステムを有するコンピュータデバイスにおけるゲストオペレーティングシステムのスクリーンショット方法が提供され、前記方法は、
ゲストオペレーティングシステムからのスクリーンショットのリクエストを受信することと、
ホストオペレーティングシステム上においてゲストオペレーティングシステムに対して配分された表示ウィンドウが対応するレイヤを検索することと、
前記レイヤを、表示されるゲストオペレーティングシステムのスクリーンショットとして前記ゲストオペレーティングシステムに送信することと、を含む。
【０００６】
１つの実施例では、前記の、前記レイヤを前記ゲストオペレーティングシステムに送信することは、具体的に、
前記レイヤをスクリーンショット記憶領域のホストオペレーティングシステムでの仮想アドレスに描画することと、
スクリーンショット記憶領域に格納された内容を前記ゲストオペレーティングシステムに送信することと、を含む。
【０００７】
１つの実施例では、前記の、前記レイヤをスクリーンショット記憶領域のホストオペレーティングシステムでの仮想アドレスに描画することは、具体的に、
スクリーンショット記憶領域のゲストオペレーティングシステムでの物理アドレスを受信することと、
前記物理アドレスをスクリーンショット記憶領域のホストオペレーティングシステムでの仮想アドレスに変換することと、
前記レイヤを前記仮想アドレスに描画することと、を含む。
【０００８】
１つの実施例では、前記スクリーンショット記憶領域のゲストオペレーティングシステムでの物理アドレスは、ゲストオペレーティングシステムのカーネルがスクリーンショット記憶領域のゲストオペレーティングシステムでの仮想アドレスを変換して得られるものである。
【０００９】
１つの実施例では、前記クリーンショット記憶領域のゲストオペレーティングシステムでの物理アドレスは、具体的に、前記クリーンショット記憶領域のゲストオペレーティングシステムでの物理開始アドレスと記憶領域の大きさを含み、前記クリーンショット記憶領域のホストオペレーティングシステムでの仮想アドレスは、具体的に、前記クリーンショット記憶領域のホストオペレーティングシステムでの仮想開始アドレスと記憶領域の大きさを含む。
【００１０】
１つの実施例では、前記クリーンショット記憶領域のゲストオペレーティングシステムでの物理アドレスは、具体的に、前記クリーンショット記憶領域のゲストオペレーティングシステムでの物理開始アドレスと記憶領域の大きさを含み、前記クリーンショット記憶領域のゲストオペレーティングシステムでの仮想アドレスは、具体的に、前記クリーンショット記憶領域のゲストオペレーティングシステムでの仮想開始アドレスと記憶領域の大きさを含む。
【００１１】
１つの実施例では、前記の、スクリーンショット記憶領域に格納された内容を前記ゲストオペレーティングシステムに送信することは、具体的に、
ホストオペレーティングシステムとゲストオペレーティングシステムとの間のチャンネルを介して、スクリーンショット記憶領域に格納された内容を前記ゲストオペレーティングシステムに送信することを含む。
【００１２】
１つの実施例では、前記の、ホストオペレーティングシステム上においてゲストオペレーティングシステムに対して配分された表示ウィンドウが対応するレイヤを検索することは、具体的に、
表示レイヤリポジトリから、ゲストオペレーティングシステムに対して配分された表示ウィンドウが対応するレイヤを検索し、そのうち、前記表示レイヤリポジトリには、ホストオペレーティングシステム上において各ゲストオペレーティングシステムに対して配分された表示ウィンドウが対応するレイヤが格納されることを含む。  
【００１３】
本開示の実施例の第２方面によれば、ホストオペレーティングシステム上においてゲストオペレーティングシステムに対して配分された表示ウィンドウにより、前記ゲストオペレーティングシステムを表示する、ホストオペレーティングシステムを有するコンピュータデバイスにおけるゲストオペレーティングシステムのスクリーンショット装置が提供され、前記装置は、
ゲストオペレーティングシステムからのスクリーンショットのリクエストを受信するように配置された受信ユニットと、
ホストオペレーティングシステム上においてゲストオペレーティングシステムに対して配分された表示ウィンドウが対応するレイヤを検索するように配置された検索ユニットと、
前記レイヤを、表示されるゲストオペレーティングシステムのスクリーンショットとして前記ゲストオペレーティングシステムに送信するように配置された送信ユニットと、を含む。
【００１４】
１つの実施例では、前記送信ユニットは、さらに、
前記レイヤをスクリーンショット記憶領域のホストオペレーティングシステムでの仮想アドレスに描画し、
スクリーンショット記憶領域に格納された内容を前記ゲストオペレーティングシステムに送信するように配置されている。
【００１５】
１つの実施例では、前記の、前記レイヤをスクリーンショット記憶領域のホストオペレーティングシステムでの仮想アドレスに描画することは、具体的に、
スクリーンショット記憶領域のゲストオペレーティングシステムでの物理アドレスを受信することと、
前記物理アドレスをスクリーンショット記憶領域のホストオペレーティングシステムでの仮想アドレスに変換することと、
前記レイヤを前記仮想アドレスに描画することと、を含む。
【００１６】
１つの実施例では、前記スクリーンショット記憶領域のゲストオペレーティングシステムでの物理アドレスは、ゲストオペレーティングシステムのカーネルがスクリーンショット記憶領域のゲストオペレーティングシステムでの仮想アドレスを変換して得られるものである。
【００１７】
１つの実施例では、前記クリーンショット記憶領域のゲストオペレーティングシステムでの物理アドレスは、具体的に、前記クリーンショット記憶領域のゲストオペレーティングシステムでの物理開始アドレスと記憶領域の大きさを含み、前記クリーンショット記憶領域のホストオペレーティングシステムでの仮想アドレスは、具体的に、前記クリーンショット記憶領域のホストオペレーティングシステムでの仮想開始アドレスと記憶領域の大きさを含む。
【００１８】
１つの実施例では、前記クリーンショット記憶領域のゲストオペレーティングシステムでの物理アドレスは、具体的に、前記クリーンショット記憶領域のゲストオペレーティングシステムでの物理開始アドレスと記憶領域の大きさを含み、前記クリーンショット記憶領域のゲストオペレーティングシステムでの仮想アドレスは、具体的に、前記クリーンショット記憶領域のゲストオペレーティングシステムでの仮想開始アドレスと記憶領域の大きさを含む。
【００１９】
１つの実施例では、前記の、スクリーンショット記憶領域に格納された内容を前記ゲストオペレーティングシステムに送信することは、具体的に、ホストオペレーティングシステムとゲストオペレーティングシステムとの間のチャンネルを介して、スクリーンショット記憶領域に格納された内容を前記ゲストオペレーティングシステムに送信することを含む。
【００２０】
１つの実施例では、前記検索ユニットは、さらに、
表示レイヤリポジトリから、ゲストオペレーティングシステムに対して配分された表示ウィンドウが対応するレイヤを検索し、そのうち、前記表示レイヤリポジトリには、ホストオペレーティングシステム上において各ゲストオペレーティングシステムに対して配分された表示ウィンドウが対応するレイヤが格納されるように配置されている。
【００２１】
本開示の実施例の第３方面によれば、
コンピュータ読み取り可能なプログラム指令を格納するためのメモリと、
本開示の実施例の第１方面によるゲストオペレーティングシステムのスクリーンショット方法を実現するように、メモリに格納されたコンピュータ読み取り可能なプログラム指令を実行するためのプロセッサと、を含むコンピュータデバイスが提供される。
【００２２】
本開示の実施例の第４方面によれば、コンピュータ読み取り可能なプログラム指令が格納され、前記コンピュータ読み取り可能なプログラム指令がプロセッサによって実行される場合、本開示の実施例の第１方面によるゲストオペレーティングシステムのスクリーンショット方法を実現するコンピュータ読み取り可能な媒体が提供される。
【００２３】
本開示の実施例によって提供された技術案は、以下の有益な効果を奏し得る。
【００２４】
多オペレーティングシステムの場合、ホストオペレーティングシステム上においては、ゲストオペレーティングシステム毎に１つの表示ウィンドウが配分される。ゲストオペレーティングシステムを表示する必要がある場合、ホストオペレーティングシステム上において配分された表示ウィンドウで表示される。このような表示を行う際に、ゲストオペレーティングシステムの全てのレイヤをトラバースして、レイヤにおける内容をフレームバッファに逐一格納し、そして、フレームバッファに格納された内容に従って、ホストオペレーティングシステム上で配分された表示ウィンドウにレンダリングを行う。ゲストオペレーティングシステムがスクリーンショットを必要とする場合に、実際にホストオペレーティングシステム上で表示されるものと類似した操作が実行された。ただし、ホストオペレーティングシステム上で表示される場合、レイヤにおける内容がフレームバッファに格納され、これに対して、スクリーンショットの場合、レイヤにおける内容がスクリーンショット記憶領域に格納されている。したがって、本開示の実施例では、重複の操作を回避するために、ゲストオペレーティングシステムがスクリーンショットを撮る際に、ホストオペレーティングシステム上で表示される際の操作成果を利用し、即ち、ホストオペレーティングシステム上で表示される際に格納されたレイヤを直接にゲストオペレーティングシステムに送信し、ゲストオペレーティングシステムのスクリーンショット表示を行う。ホストオペレーティングシステム上で表示される際に取得されたゲストオペレーティングシステムのレイヤを利用したことによって新たに取得する必要がないため、ゲストオペレーティングシステムのスクリーンショットをより迅速にし、スクリーンショットの効率を向上させる。
【００２５】
本開示の他の特徴及び利点は、以下の詳細な説明により明らかになり、部分的に本開示の実施により習得される。
【００２６】
理解すべきことであるが、上記の一般的な説明と後述する細部の説明は、単なる例示的かつ説明的なものに過ぎず、本開示を限定するものではない。
【図面の簡単な説明】
【００２７】
【図１】図１は、本開示の１つの実施例による多オペレーティングシステムのコンピュータデバイスのブロック図である。
【図２】図２は、本開示の１つの実施例によって図１における各アドレス変換プロセスを示したコンピュータデバイスのブロック図である。
【図３】図３は、本開示の１つの実施例によるコンピュータデバイスにおけるゲストオペレーティングシステムのスクリーンショット方法のフローチャートである。
【図４】図４は、本開示の１つの実施例による図３におけるステップ３３０の詳細なフローチャートである。
【図５】図５は、本開示の１つの実施例による図４におけるステップ３３０１の詳細なフローチャートである。
【図６】図６は、本開示の１つの実施例によるコンピュータデバイスにおけるゲストオペレーティングシステムのスクリーンショット装置のブロック図である。
【図７】図７は、本開示の１つの実施例によるコンピュータデバイスのハードウェア構成図である。
【発明を実施するための形態】
【００２８】
以下、いくつかの例示的な実施形態を参照しながら本開示の原理と趣旨を説明する。理解すべきことは、これらの実施形態を提案するのは、当業者が本開示をより良く理解して、さらに実現するようにするためのものだけであり、いずれの方式で本開示の範囲を限定するものではない。逆に、これらの実施形態を提案するのは、本開示をより透徹かつ完全にするとともに、本開示の範囲を完全に当業者に知らせることができるようにするためのものである。
【００２９】
当業者が分かるように、本開示の実施形態は、システム、装置、デバイス、方法又はコンピュータプログラム製品として実現することができる。したがって、本開示は、具体的に、以下の態様として実現でき、即ち、完全なハードウェア、完全なソフトウェア（ファームウェア、常駐ソフトウェア、マイクロコード等を含む）、又はハードウェアとソフトウェアとの組み合わせの態様である。
【００３０】
図１は、本開示の１つの実施例による多オペレーティングシステムのコンピュータデバイスのブロック図である。
【００３１】
多オペレーティングシステムとは、一台のコンピュータデバイス上で運行される複数のオペレーティングシステムであり、そのうちの１つはホストオペレーティングシステム１でなければならず、残りは、１つ又は複数のゲストオペレーティングシステム２であってもよい。ホストオペレーティングシステムとは、コンピュータデバイスが優先して運行するオペレーティングシステムであって、コンピュータデバイスのハードウェアとソフトウェアリソースを管理かつ制御するコンピュータプログラムであり、他のいずれのソフトウェア又はシステムはいずれもホストオペレーティングシステムのサポートがなければ運行できない。ゲストオペレーティングシステムとは、ホストオペレーティングシステムに依存する、ゲスト向けのオペレーティングシステムである。ゲストオペレーティングシステムが運行される場合、それが使用するために仮想マシンがハードウェアデバイスをエミュレートしている。当該仮想マシンは、ホストオペレーティングシステムにおける一つのアプリケーションによって運行される。したがって、ゲストオペレーティングシステムはホストオペレーティングシステムに依存する。
【００３２】
図１に示されるように、ホストオペレーティングシステム１とゲストオペレーティングシステム２は、ＣＰＵ、メモリ、周辺機器等を含むコンピュータデバイスのハードウェア４を共有する。ホストオペレーティングシステム１は、ホストオペレーティングシステム・カーネル３とホストオペレーティングシステム・アプリケーション１１とを含む。上記のように、ゲストオペレーティングシステムはホストオペレーティングシステムに依存したため、ゲストオペレーティングシステム２もホストオペレーティングシステムカーネル３上に構築されている。。
【００３３】
ゲストオペレーティングシステム２は、仮想マシンによって管理された仮想ＣＰＵ、仮想クロック、仮想割り込み管理器及び仮想周辺機器からなるハードウェアプラットフォーム上で運行される。仮想ＣＰＵは、ゲストオペレーティングシステム２が指令と演算を実行する主なユニットである。仮想クロックは、ゲストオペレーティングシステムがプロセススケジューリング等の操作を行うクロックソースを提供する。仮想割り込み管理器は、各種の仮想周辺機器によって生成された、仮想ＣＰＵに提供される割り込み信号を管理する。仮想周辺機器は、仮想マシンによって実現された各種の入出力デバイスモジュールである。ホストオペレーティングシステム１上で運行される仮想マシンエミュレータ（ｅｍｕｌａｔｏｒ）１４は、ホストオペレーティングシステムの実際のＣＰＵが仮想マシンの指令の実行を開始すること、実際のＣＰＵ上にてホストオペレーティングシステムからゲストオペレーティングシステムに切り替えられること、及びゲストオペレーティングシステムからホストオペレーティングシステムに切り替えられた後、ゲストオペレーティングシステムが実行を継続するか等を制御する。仮想マシンエミュレータ１４は、仮想マシンの仮想周辺機器が使用できるように、ホストオペレーティングシステム上における実際の入出力デバイスと関連のファイルを操作かつ監視する必要もある。したがって、ゲストオペレーティングシステムも仮想マシンエミュレータ１４上に構築されている。  
【００３４】
仮想マシンエミュレータ１４にはアドレス変換機構１５が含まれ、アドレス変換機構１５の機能について、後で詳細に説明する。
【００３５】
ホストオペレーティングシステム・アプリケーション１１には、ホストオペレーティングシステム・バックエンド・プロッティングプログラム１３とホストオペレーティングシステム・レンダリング・モジュール１２が含まれる。上記のように、ホストオペレーティングシステム上においては、ゲストオペレーティングシステム毎に１つの表示ウィンドウが配分される。ゲストオペレーティングシステムを表示する必要がある場合、ホストオペレーティングシステム上において配分された表示ウィンドウで表示される。ホストオペレーティングシステム・バックエンド・プロッティングプログラム１３がこのような表示を行う際に、ゲストオペレーティングシステムの全てのレイヤをトラバースして、レイヤにおける内容をフレームバッファのプログラムに逐一格納する。ホストオペレーティングシステム・レンダリング・モジュール１２は、フレームバッファに格納された内容に従って、ホストオペレーティングシステム上で配分された表示ウィンドウにレンダリングを行う機能を果たす。
【００３６】
ゲストオペレーティングシステム２は、ゲストオペレーティングシステム・カーネル２３とゲストオペレーティングシステム・アプリケーション２１とを含む。ゲストオペレーティングシステム・カーネル２３は、ホストオペレーティングシステムとゲストオペレーティングシステムとの間のチャンネル２４を含み、それについては後で詳細に説明する。ゲストオペレーティングシステム・アプリケーション２１は、ゲストオペレーティングシステム・レンダリング・モジュール２２を含む。従来技術におけるゲストオペレーティングシステムのスクリーンショット方法は単一のオペレーティングシステムのスクリーンショット方法と同様である。即ち、当該ゲストオペレーティングシステムのプロッティングリポジトリにおける全てのレイヤをトラバースして、レイヤにおける内容をプロッティングに使用される一つの記憶領域に逐一描画する。そして、当該領域におけるデータを読み出してユーザの画像フォーマットに変換し、ディスプレイにレンダリングし、当該レンダリングはゲストオペレーティングシステム・レンダリング・モジュール２２によって実行される。
【００３７】
多オペレーティングシステムの場合、上記のように、ゲストオペレーティングシステムがスクリーンショットを必要とする場合に、実際にホストオペレーティングシステム上で表示されるものと類似した操作が実行された。ただし、ホストオペレーティングシステム上で表示される場合、レイヤにおける内容がフレームバッファに格納され、これに対して、スクリーンショットの場合、レイヤにおける内容がスクリーンショット記憶領域に格納されている。したがって、本開示の実施例では、重複の操作を回避するために、ゲストオペレーティングシステムがスクリーンショットを撮る際に、ホストオペレーティングシステム上で表示される際の操作成果を利用し、即ち、ホストオペレーティングシステム上で表示される際に格納されたレイヤを直接にゲストオペレーティングシステムに送信し、ゲストオペレーティングシステムのスクリーンショット表示を行う。ホストオペレーティングシステム上で表示される際に取得されたゲストオペレーティングシステムのレイヤを利用したことによって新たに取得する必要がないため、ゲストオペレーティングシステムのスクリーンショットをより迅速にし、スクリーンショットの効率を向上させた。
【００３８】
図３に示されるように、本開示の実施例によるゲストオペレーティングシステムのスクリーンショット方法は、
ゲストオペレーティングシステムからのスクリーンショットのリクエストを受信するステップ３１０と、
ホストオペレーティングシステム上においてゲストオペレーティングシステムに対して配分された表示ウィンドウが対応するレイヤを検索するステップ３２０と、
前記レイヤを、表示されるゲストオペレーティングシステムのスクリーンショットとして前記ゲストオペレーティングシステムに送信するステップ３３０と、を含む。
【００３９】
これらのステップについて、以下で詳細に説明する。
【００４０】
ステップ３１０において、ゲストオペレーティングシステムからのスクリーンショットのリクエストを受信する。
【００４１】
スクリーンショットのリクエストとは、スクリーンショット操作を行うリクエストである。ユーザがゲストオペレーティングシステムにスクリーンショットを撮ろうとするリクエストを送信するときに、それが対応するサービスエンドがゲストオペレーティングシステムのレイヤ描画サービスに含まれる。当該サービスエンドはこれに基づいてホストオペレーティングシステム１にスクリーンショットのリクエストを送信する。
【００４２】
ステップ３２０において、ホストオペレーティングシステム上においてゲストオペレーティングシステムに対して配分された表示ウィンドウが対応するレイヤを検索する。
【００４３】
上記のように、ゲストオペレーティングシステムがスクリーンショットを必要とする場合に、実際にホストオペレーティングシステム上で表示されるものと類似した操作が実行された。ただし、ホストオペレーティングシステム上で表示される場合、レイヤにおける内容がフレームバッファに格納され、これに対して、スクリーンショットの場合、レイヤにおける内容がスクリーンショット記憶領域に格納されている。したがって、本開示の実施例では、ゲストオペレーティングシステムがホストオペレーティングシステム上で表示される時に、ゲストオペレーティングシステムのレイヤ内容をフレームバッファに代えて、表示レイヤリポジトリに取り込んだり、フレームバッファに取り込むと同時に表示レイヤリポジトリに取り込んだりする。このように、ステップ３２０において、表示レイヤリポジトリから、ゲストオペレーティングシステムに対して配分された表示ウィンドウが対応するレイヤを検索することができる。そのうち、前記表示レイヤリポジトリには、ホストオペレーティングシステム上において各ゲストオペレーティングシステムに対して配分された表示ウィンドウが対応するレイヤが格納される。
【００４４】
ステップ３３０において、前記レイヤを、表示されるゲストオペレーティングシステムのスクリーンショットとして前記ゲストオペレーティングシステムに送信する。
【００４５】
１つの実施例では、ホストオペレーティングシステムとゲストオペレーティングシステムとの間のチャンネル２４を介して、スクリーンショット記憶領域に格納された内容を前記ゲストオペレーティングシステムに送信する。スクリーンショット記憶領域に格納された内容は、ホストオペレーティングシステムにより配分された表示ウィンドウの表示画面のゲストオペレーティングシステムのレイヤであり、そして、ゲストオペレーティングシステムはホストオペレーティングシステムの配分ウィンドウで表示される際に１つのレイヤのみがある。当該レイヤの内容はゲストオペレーティングシステムのスクリーンショットと同様である。当該レイヤを前記ゲストオペレーティングシステムに送信すれば、ゲストオペレーティングシステムのスクリーンショットを表示することができる。
【００４６】
１つの実施例では、図４に示されるように、ステップ３３０は、
前記レイヤをスクリーンショット記憶領域のホストオペレーティングシステムでの仮想アドレスに描画するステップ３３０１と、
スクリーンショット記憶領域に格納された内容を前記ゲストオペレーティングシステムに送信するステップ３３０２と、を含む。
【００４７】
１つの実施例では、図５に示されるように、ステップ３３０１は、
スクリーンショット記憶領域のゲストオペレーティングシステムでの物理アドレスを受信するステップ３３０１１と、
前記物理アドレスをスクリーンショット記憶領域のホストオペレーティングシステムでの仮想アドレスに変換するステップ３３０１２と、
前記レイヤを前記仮想アドレスに描画するステップ３３０１３と、を含む。
【００４８】
図２に示されるように、ゲストオペレーティングシステムがホストオペレーティングシステムにスクリーンショットのリクエストを送信した後、ゲストオペレーティングシステムにおいて、ゲストオペレーティングシステムのサービスエンドはスクリーンショットデータを格納、保存するスクリーンショット記憶領域を申し込み、申し込んだスクリーンショット記憶領域のゲストオペレーティングシステムでの仮想アドレスをゲストオペレーティングシステム・カーネル２３に送信する。１つの実施例では、当該アドレスは、前記スクリーンショット記憶領域のゲストオペレーティングシステムでの仮想開始アドレスと記憶領域の大きさを含んでもよい。あるいは、もう一つの実施例では、当該アドレスは、前記スクリーンショット記憶領域のゲストオペレーティングシステムでの仮想開始アドレスと仮想終了アドレスを含んでもよい。具体的な例として、当該アドレスはこのような情報の形式でゲストオペレーティングシステム・カーネル２３に送信することができる：｛プロッティング操作、スクリーンショット記憶領域のゲストオペレーティングシステムでの仮想開始アドレス、記憶領域の大きさ｝。
【００４９】
１つの実施例では、ゲストオペレーティングシステム・カーネル２３は、スクリーンショット記憶領域のゲストオペレーティングシステムでの仮想アドレス３１をスクリーンショット記憶領域のゲストオペレーティングシステムでの物理アドレス３２に変換する。当該変換は、ゲストオペレーティングシステム・カーネルの記憶管理メカニズムを採用することで実現できる。スクリーンショット記憶領域のゲストオペレーティングシステムでの仮想アドレスをスクリーンショット記憶領域のゲストオペレーティングシステムでの物理アドレスに変換する理由は、スクリーンショット記憶領域のゲストオペレーティングシステムでの仮想アドレスはゲストオペレーティングシステム・アプリケーション２１によって配分されたものであり、実際のアドレスというものではなく、ゲストオペレーティングシステム内部にのみ有効であることである。このような仮想アドレスをホストオペレーティングシステムに伝達すると、ホストオペレーティングシステムはホストオペレーティングシステム内の仮想アドレスとのマッピングを確立できず、あるいは、マッピングを確立したとしても、意味がないと言える。例えば、ゲストオペレーティングシステムが複数ある場合、同一の仮想アドレスが異なるゲストオペレーティングシステムにおいて実際に異なる２つの物理アドレスに対応する。このように、ゲストオペレーティングシステムが占用したいスクリーンショット記憶領域がホストオペレーティングシステムのどのような仮想アドレスに対応するかが分からないため、ホストオペレーティングシステム上においてゲストオペレーティングシステムに対して配分された表示ウィンドウが対応するレイヤをゲストオペレーティングシステムに伝達することができない。
【００５０】
１つの例では、もしゲストオペレーティングシステム・カーネル２３に送信されたアドレス情報が｛プロッティング操作、スクリーンショット記憶領域のゲストオペレーティングシステムでの仮想開始アドレス、記憶領域の大きさ｝であれば、ゲストオペレーティングシステム・カーネル２３によって変換されて、｛プロッティング操作、スクリーンショット記憶領域のゲストオペレーティングシステムでの物理開始アドレス、記憶領域の大きさ｝を得る。
【００５１】
そして、１つの実施例では、図２に示されるように、ゲストオペレーティングシステム・カーネル２３は、クリーンショット記憶領域のゲストオペレーティングシステムでの物理アドレス３２をアドレス変換機構１５に送信し、アドレス変換機構１５は、クリーンショット記憶領域のゲストオペレーティングシステムでの物理アドレス３２をクリーンショット記憶領域のホストオペレーティングシステムでの仮想アドレス３３に変換する。１つの実施例では、アドレス変換機構１５に、クリーンショット記憶領域のゲストオペレーティングシステムでの物理アドレス３２とクリーンショット記憶領域のホストオペレーティングシステムでの仮想アドレス３３の対応関係テーブルを予め格納することができる。前記変換は、この対応関係テーブルを検索することにより実現される。
【００５２】
１つの実施例では、前記クリーンショット記憶領域のゲストオペレーティングシステムでの物理アドレスは、具体的に前記クリーンショット記憶領域のゲストオペレーティングシステムでの物理開始アドレスと記憶領域の大きさを含み、前記クリーンショット記憶領域のホストオペレーティングシステムでの仮想アドレスは、具体的に前記クリーンショット記憶領域のホストオペレーティングシステムでの仮想開始アドレスと記憶領域の大きさを含む。一つの具体的な例として、前記クリーンショット記憶領域のゲストオペレーティングシステムでの物理アドレスは以下の情報のフォーマットを採用することができる：｛プロッティング操作、スクリーンショット記憶領域のゲストオペレーティングシステムでの物理開始アドレス、記憶領域の大きさ｝。前記クリーンショット記憶領域のホストオペレーティングシステムでの仮想アドレスは以下の情報のフォーマットを採用することができる：｛プロッティング操作、スクリーンショット記憶領域のホストオペレーティングシステムでの仮想開始アドレス、記憶領域の大きさ｝。
【００５３】
もう一つの実施例では、前記クリーンショット記憶領域のゲストオペレーティングシステムでの物理アドレスは、具体的に前記スクリーンショット記憶領域のゲストオペレーティングシステムでの物理開始アドレスと物理終了アドレスを含み、前記クリーンショット記憶領域のホストオペレーティングシステムでの仮想アドレスは、具体的に前記クリーンショット記憶領域のホストオペレーティングシステムでの仮想開始アドレスと仮想終了アドレスを含む。
【００５４】
そして、図２に示されるように、アドレス変換機構１５は、変換された前記クリーンショット記憶領域のホストオペレーティングシステムでの仮想アドレスをホストオペレーティングシステム・バックエンド・プロッティングプログラム１３に送信する。ホストオペレーティングシステム・バックエンド・プロッティングプログラム１３は、表示レイヤリポジトリ１９から取得された、ホストオペレーティングシステム上においてゲストオペレーティングシステムに対して配分された表示ウィンドウが対応するレイヤを前記クリーンショット記憶領域のホストオペレーティングシステムでの仮想アドレスの領域に描画する。描画か完了した後、前記クリーンショット記憶領域のホストオペレーティングシステムでの仮想アドレスの領域における内容、即ちゲストオペレーティングシステムのレイヤを、表示されるゲストオペレーティングシステムのスクリーンショットとして前記ゲストオペレーティングシステムに送信する。
【００５５】
本開示の実施例では、アドレス変換機構を採用して、スクリーンショット記憶領域のゲストオペレーティングシステムでの物理アドレスをスクリーンショット記憶領域のホストオペレーティングシステムでの仮想アドレスに変換する。このようにするメリットは、このようなアドレス変換によって、ホストオペレーティングシステムにおける仮想アドレスとゲストオペレーティングシステムにおける物理アドレスとの間にマッピングを容易に確立し、ホストオペレーティングシステム１はホストオペレーティングシステム上においてゲストオペレーティングシステムに対して配分された表示ウィンドウが対応するレイヤをホストオペレーティングシステムのどの仮想アドレスに配置することが分かるようになる。これは、ゲストオペレーティングシステムがスクリーンショットを表示できるための実際の物理アドレスに配置したことに相当し、ゲストオペレーティングシステムのスクリーンショットの効率を大幅に向上させる。
【００５６】
図６に示されるように、本開示の１つの実施例によれば、ホストオペレーティングシステム上においてゲストオペレーティングシステムに対して配分された表示ウィンドウにより、前記ゲストオペレーティングシステムを表示する、ホストオペレーティングシステムを有するコンピュータデバイスにおけるゲストオペレーティングシステムのスクリーンショット装置がさらに提供され、前記装置は、
ゲストオペレーティングシステムからのスクリーンショットのリクエストを受信するように配置された受信ユニット６１０と、
ホストオペレーティングシステム上においてゲストオペレーティングシステムに対して配分された表示ウィンドウが対応するレイヤを検索するように配置された検索ユニット６２０と、
前記レイヤを表示されるゲストオペレーティングシステムのスクリーンショットとして前記ゲストオペレーティングシステムに送信するように配置された送信ユニット６３０と、を含む。
【００５７】
選択できるように、前記送信ユニット６３０は、さらに、
前記レイヤをスクリーンショット記憶領域のホストオペレーティングシステムでの仮想アドレスに描画し、
スクリーンショット記憶領域に格納された内容を前記ゲストオペレーティングシステムに送信するように配置されている。
【００５８】
選択できるように、前記の、前記レイヤをスクリーンショット記憶領域のホストオペレーティングシステムでの仮想アドレスに描画することは、具体的に、
スクリーンショット記憶領域のゲストオペレーティングシステムでの物理アドレスを受信することと、
前記物理アドレスをスクリーンショット記憶領域のホストオペレーティングシステムでの仮想アドレスに変換することと、
前記レイヤを前記仮想アドレスに描画することと、を含む。
【００５９】
選択できるように、前記スクリーンショット記憶領域のゲストオペレーティングシステムでの物理アドレスは、ゲストオペレーティングシステムのカーネルがスクリーンショット記憶領域のゲストオペレーティングシステムでの仮想アドレスを変換して得られるものである。
【００６０】
選択できるように、前記クリーンショット記憶領域のゲストオペレーティングシステムでの物理アドレスは、具体的に、前記クリーンショット記憶領域のゲストオペレーティングシステムでの物理開始アドレスと記憶領域の大きさを含み、前記クリーンショット記憶領域のホストオペレーティングシステムでの仮想アドレスは、具体的に、前記クリーンショット記憶領域のホストオペレーティングシステムでの仮想開始アドレスと記憶領域の大きさを含む。
【００６１】
選択できるように、前記クリーンショット記憶領域のゲストオペレーティングシステムでの物理アドレスは、具体的に、前記クリーンショット記憶領域のゲストオペレーティングシステムでの物理開始アドレスと記憶領域の大きさを含み、前記クリーンショット記憶領域のゲストオペレーティングシステムでの仮想アドレスは、具体的に、前記クリーンショット記憶領域のゲストオペレーティングシステムでの仮想開始アドレスと記憶領域の大きさを含む。
【００６２】
選択できるように、前記の、スクリーンショット記憶領域に格納された内容を前記ゲストオペレーティングシステムに送信することは、具体的に、
ホストオペレーティングシステムとゲストオペレーティングシステムとの間のチャンネルを介して、スクリーンショット記憶領域に格納された内容を前記ゲストオペレーティングシステムに送信することを含む。
【００６３】
選択できるように、前記検索ユニットは、さらに、
表示レイヤリポジトリから、ゲストオペレーティングシステムに対して配分された表示ウィンドウが対応するレイヤを検索し、そのうち、前記表示レイヤリポジトリには、ホストオペレーティングシステム上において各ゲストオペレーティングシステムに対して配分された表示ウィンドウが対応するレイヤが格納されるように配置されている。
【００６４】
以下、図７を参照しながら本開示の実施形態によるコンピュータデバイス８００を説明する。図７に示されるコンピュータデバイス８００は単なる例示に過ぎず、本発明の実施例の機能と適用範囲を限定するものではない。
【００６５】
図７に示されるように、コンピュータデバイス８００は汎用コンピュータの態様で表され、コンピュータデバイス８００のコンポーネントは、少なくとも１つの処理ユニット８１０と、少なくとも１つの記憶ユニット８２０と、異なるシステムコンポーネントを接続する（処理ユニット８１０と記憶ユニット８２０とを含む）バス８３０とを含んでもよいが、これらに限らない。  
【００６６】
そのうち、前記記憶ユニットには、前記処理ユニット８１０によって実行可能なプログラムコードが格納されており、これによって、前記処理ユニット８１０は、本明細書の上記例示的な方法の説明部分に記載された本発明の各例示的な実施形態によるステップを実行することができる。例えば、前記処理ユニット８１０は図３に示される各ステップを実行することができる。
【００６７】
記憶ユニット８２０は、揮発性記憶ユニットの態様の読み取り可能な媒体、例えばランダムアクセス記憶ユニット（ＲＡＭ）８２０１及び／又はキャッシュ記憶ユニット８２０２を含んでもよく、読み取り専用記憶ユニット（ＲＯＭ）８２０３をさらに含んでもよい。
【００６８】
記憶ユニット８２０は、１組（少なくとも１つ）のプログラムモジュール８２０５を有するプログラム／ユーティリティ８２０４を含んでもよく、このようなプログラムモジュール８２０５は、オペレーティングシステム、１つ又は複数のアプリケーション、他のプログラムモジュール、およびプログラムデータを含むが、これらに限らず、これらの例示の各々又はある組み合わせには、ネットワーク環境の実現を含む可能性がある。
【００６９】
バス８３０は、いくつかのタイプのバス構成の一種又は多種であってもよく、記憶ユニットバス又は記憶ユニットコントローラ、周辺バス、グラフィックス加速ポート、処理ユニット、又は各種のバス構成のいずれかのバス構成を使用するローカルエリアバスを含む。
【００７０】
コンピュータデバイス８００は、１つ又は複数の外部デバイス７００（例えば、キーボード、ポインティングデバイス、ブルートゥースデバイス等）と通信することができ、ユーザが当該コンピュータデバイス８００と対話できるようにする１つ又は複数のデバイスと通信することもでき、及び／又は、当該コンピュータデバイス８００が１つ又は複数の他のコンピュータデバイスと通信できるようにする任意のデバイス（例えば、ルータ、変復調器等）と通信することができる。このような通信は、入出力（Ｉ／Ｏ）インターフェース８５０を介して行うことができる。また、コンピュータデバイス８００は、ネットワークアダプタ８６０を介して１つ又は複数のネットワーク（例えば、ローカルエリアネットワーク（ＬＡＮ）、ワイドエリアネットワーク（ＷＡＮ）、および／又は公衆ネットワーク、例えばインターネット）と通信することもできる。図７に示されるように、ネットワークアダプタ８６０はバス８３０を介してコンピュータデバイス８００の他のモジュールと通信する。理解すべきことは、図示されていないが、コンピュータデバイス８００を組み合わせて他のハードウェア及び／又はソフトウェアモジュールを使用することができ、マイクロコード、デバイスドライバー、冗長処理ユニット、外部磁気ディスクドライブアレイ、ＲＡＩＤシステム、磁気テープドライバ及びデータバックアップ記憶システム等を含むが、これらに限らない。
【００７１】
以上の実施形態の説明によれば、当業者が容易に理解できるように、ここで説明された例示的な実施形態はソフトウェアにより実現されてもよいし、ソフトウェアを必要なハードウェアと組み合わせることで実現されてもよい。したがって、本開示の実施形態による技術案は、ソフトウェア製品という態様で表されることができ、当該ソフトウェア製品は、不揮発性記憶媒体（ＣＤ−ＲＯＭ、ＵＳＢメモリ、リムーバブルハードディスク等であってもよい）又はネットワーク上に格納され、一台のコンピュータデバイス（パソコン、サーバ、端末装置、又はネットワークデバイス等であってもよい）が本開示の実施形態による方法を実行できるように、いくつかの指令を含んでもよい。
【００７２】
本開示の例示的な実施例では、コンピュータ読み取り可能な指令が格納され、前記コンピュータ読み取り可能な指令がコンピュータのプロセッサによって実行される場合、コンピュータが上記方法実施例部分に記載された方法を実行するようにするコンピュータプログラム媒体がさらに提供されている
【００７３】
本開示の１つの実施例によれば、ポータブル形コンパクト・ディスク−読み取り専用メモリ（ＣＤ−ＲＯＭ）を採用でき、かつプログラムコードを含み、端末装置、例えばパソコン上で運行できる、上記方法実施例における方法を実現するためのプログラム製品がさらに提供されている。しかしながら、本発明のプログラム製品はこれに限らず、本明細書では、読み取り可能な記憶媒体は、プログラムを包含又は記憶する任意の実体媒体であってもよく、当該プログラムは指令実行システム、装置又はデバイスによって使用され、又はそれらと組み合わせて使用されてもよい。
【００７４】
前記プログラム製品は１つ又は複数の読み取り可能な媒体の任意の組み合わせを使用してもよい。読み取り可能な媒体は、読み取り可能な信号媒体又は読み取り可能な記憶媒体であってもよい。読み取り可能な記憶媒体は、例えば電気、磁気、光、電磁気、赤外線、又は半導体のシステム、装置又はデバイス、又は任意の以上の組み合わせであってもよいが、これらに限らない。読み取り可能な記憶媒体のさらなる具体的な例（非網羅的なリスト）として、１つ又は複数のワイヤを有する電気接続、ポータブル形ディスク、ハードディスク、ランダムアクセスメモリ（ＲＡＭ）、読み取り専用メモリ（ＲＯＭ）、消去可能・プログラム可能な読み取り専用メモリ（ＥＰＲＯＭ又はフラッシュメモリ）、光ファイバー、ポータブル形コンパクト・ディスク−読み取り専用メモリ（ＣＤ−ＲＯＭ）、光学メモリ、磁気メモリ、又は上記の任意の適切な組み合わせを含む。
【００７５】
コンピュータ読み取り可能な信号媒体は、ベースバンドにおいて、又は搬送波の一部として伝播されるデータ信号を含んでもよく、そのうち、読み取り可能なプログラムコードが搭載されている。このように伝播されるデータ信号は、種々の態様を採用することができ、電磁信号、光信号、又は前述の任意の適切な組み合わせを含むが、これらに限らない。読み取り可能な信号媒体は、読み取り可能な記憶媒体以外の任意の読み取り可能な媒体であってもよく、当該読み取り可能な媒体は、指令実行システム、装置又はデバイスによって使用され、又はそれらと組み合わせて使用されたプログラムを送信、伝播又は伝送することができる。
【００７６】
読み取り可能な媒体に含まれるプログラムコードは、任意の適切な媒体で伝送されることができ、無線、有線、光ケーブル、ＲＦ等、又は上記の任意の適切な組み合わせを含むが、これらに限らない。
【００７７】
１つ又は複数のプログラミング言語の任意の組み合わせで本発明の操作を実行するためのプログラムコードを作成することができ、前記プログラミング言語は、Ｊａｖａ、Ｃ＋＋等のオブジェクト向けのプログラミング言語を含み、「Ｃ」言語又は類似するプログラミング言語等の通常の手続き型プログラミング言語も含む。プログラムコードは、完全にユーザコンピューティングデバイス上で実行され、部分的にユーザデバイス上で実行され、独立したソフトウェアパッケージとして実行され、一部がユーザコンピューティングデバイス上で実行され、一部がリモートコンピューティングデバイス上で実行され、あるいは、完全にリモートコンピューティングデバイス又はサーバ上で実行される。リモートコンピューティングデバイスに係る場合、リモートコンピューティングデバイスは、ローカルエリアネットワーク（ＬＡＮ）又はワイドエリアネットワーク（ＷＡＮ）を含む任意のタイプのネットワークを通じてユーザコンピューティングデバイスに接続されることができ、あるいは、外部コンピューティングデバイスに接続される（例えば、インターネットサービスプロバイダを利用してインターネットを通じて接続される）ことができる。
【００７８】
注意すべきことであるが、上記の詳細な説明では、動作実行のためのデバイスのいくつかのモジュール又はユニットが言及されているが、このような区分は強制的なものではない。実際には、本開示の実施形態によれば、上記に記載された２つ以上のモジュール又はユニットの特徴と機能は１つのモジュール又はユニットで具体化されることができる。逆に、上記に記載された１つのモジュール又はユニットの特徴と機能はさらに複数のモジュール又はユニットによって具体化されるように区分されることができる。
【００７９】
なお、図面では、特定の順序で本開示の方法の各ステップが説明されているが、これは、当該特定の順序でこれらのステップを実行しなければならないことを要求又は示唆し、又はすべての示されるステップを実行しなければ希望の結果を実現できないというわけではない。追加的又は代替的に、いくつかのステップを省略したり、複数のステップを１つのステップに併合して実行したり、及び／又は１つのステップを複数のステップに分解して実行したりしてもよい。
【００８０】
以上の実施形態の説明によれば、当業者が容易に理解できるように、ここで説明された例示的な実施形態はソフトウェアにより実現されてもよいし、ソフトウェアを必要なハードウェアと組み合わせることで実現されてもよい。したがって、本開示の実施形態による技術案は、ソフトウェア製品という態様で表されることができ、当該ソフトウェア製品は、不揮発性記憶媒体（ＣＤ−ＲＯＭ、ＵＳＢメモリ、リムーバブルハードディスク等であってもよい）又はネットワーク上に格納され、一台のコンピュータデバイス（パソコン、サーバ、端末装置、又はネットワークデバイス等であってもよい）が本開示の実施形態による方法を実行できるように、いくつかの指令を含んでもよい。
【００８１】
当業者は、本明細書を考慮し、かつここで開示された発明を実施した後、本開示の他の実施案を容易に想到し得る。本願は、本開示のいかなる変形、用途又は適応的な変化も含むことを意図しており、これらの変形、用途又は適応的な変化は、本開示の一般的な原理に従っており、本開示に開示されていない本分野の公知常識又は慣用の技術的手段を含む。本明細書及び実施例は例示的なものとみなされるだけであり、本開示の実際の範囲と趣旨は添付の特許請求の範囲によって指摘される。
【図１】
0006858885.tif 000002
【図２】
0006858885.tif 000003
【図３】
0006858885.tif 000004
【図４】
0006858885.tif 000005
【図５】
0006858885.tif 000006
【図６】
0006858885.tif 000007
【図７】
0006858885.tif 000008