【手続補正書】
【提出日】平成24年11月2日(2012.11.2)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
コンピュータのユーザモード・アドレス空間においてグラフィックデータをコード化する方法であって、前記方法は、
クライアントからの要求に対応するグラフィックデータを、ユーザモード・セッション空間において実行するユーザアプリケーションから、カーネルモードにおいて実行するディスプレイドライバに送信するステップであって、前記ユーザモード・セッション空間は、ユーザセッションのために予約されるメモリ空間を含む、送信するステップと、
前記グラフィックデータを、前記ディスプレイドライバから、ユーザモード・システム空間において実行するリモートデスクトッププロトコル（ＲＤＰ）エンコーダプロセスに送信するステップであって、前記ユーザモード・システム空間は、システムのために予約されるメモリ空間を含む、送信するステップと、
前記グラフィックデータを、ＲＤＰエンコーダプロセスから前記クライアントに、通信ネットワーク上で、送信するステップと
を備えたことを特徴とする方法。
【請求項２】
前記グラフィックデータは、前記ＲＤＰエンコーダプロセスに共有メモリ機構を介して送信されることを特徴とする請求項１に記載の方法。
【請求項３】
前記グラフィックデータを、前記ＲＤＰエンコーダプロセスに送信する前に、前記グラフィックデータのメモリ表現を、第１のフォーマットから第２のフォーマットに変換するステップをさらに備えたことを特徴とする請求項２に記載の方法。
【請求項４】
前記ユーザアプリケーションは、前記コンピュータの仮想マシン（ＶＭ）上で実行するゲスト・オペレーティングシステム（ＯＳ）のユーザモード・セッション空間において実行し、前記ディスプレイドライバは、前記ゲストＯＳのカーネルモード・セション空間において実行することを特徴とする請求項１に記載の方法。
【請求項５】
前記ディスプレイドライバは、カーネルモード・セッション空間において実行することを特徴とする請求項１に記載の方法。
【請求項６】
前記グラフィックデータは、グラフィックデバイスインターフェース（ＧＤＩ）フォーマット、Ｄｅｓｋｔｏｐ  Ｗｉｎｄｏｗ  Ｍａｎａｇｅｒ（ＤＷＭ）フォーマット、またはＤｉｒｅｃｔＸ（ＤＸ）フォーマットのいずれかのデータを備えたことを特徴とする請求項１に記載の方法。
【請求項７】
前記クライアントからの要求に対応する仮想チャネルデータを、カーネルモードプロセスに送信することなく、ユーザモード・セッション空間において実行する仮想チャネルアプリケーションから前記ＲＤＰエンコーダプロセスに送信するステップと、
前記仮想チャネルデータを、前記ＲＤＰエンコーダプロセスから前記クライアントに、通信ネットワーク上で送信するステップと
をさらに備えたことを特徴とする請求項１に記載の方法。
【請求項８】
前記仮想チャネルデータは、前記ＲＤＰエンコーダプロセスに名前付きパイプを介して送信されることを特徴とする請求項７に記載の方法。
【請求項９】
前記仮想チャネルデータを前記ＲＤＰエンコーダプロセスに送信する前に、前記仮想チャネルデータのメモリ表現を、第１のフォーマットから第２のフォーマットに変換するステップをさらに備えたことを特徴とする請求項８に記載の方法。
【請求項１０】
前記仮想チャネルデータは、前記ユーザアプリケーションからクリップボードにコピーされたテキストデータまたはイメージデータを含むことを特徴とする請求項７に記載の方法。
【請求項１１】
前記ＲＤＰエンコーダプロセスは、前記グラフィックデータに関するセットから少なくとも１つを処理し、前記セットは、
前記グラフィックデータをフレーム化することと、
前記グラフィックデータを暗号化することと
を備えたことを特徴とする請求項１に記載の方法。
【請求項１２】
前記グラフィックデータを、前記ＲＤＰエンコーダプロセスに送信する前に、前記グラフィックデータを、前記ディスプレイドライバによって前記ＲＤＰエンコーダプロセスが認識できる、少なくとも１つのコマンドにコード化するステップをさらに備えたことを特徴とする請求項１に記載の方法。
【請求項１３】
コンピュータの前記ユーザモード・アドレス空間においてグラフィックデータをコード化するシステムであって、
プロセッサと、
ユーザモード・セッション空間において実行するユーザアプリケーションから、グラフィックデータを受信するように構成されるカーネルモード空間において実行するディスプレイドライバと、
前記ディスプレイドライバから、前記グラフィックデータを受信し、
前記グラフィックデータをコード化し、
前記グラフィックデータに対応する前記コード化されたデータを、通信ネットワーク経由でクライアントに伝送するように構成されるユーザモード・システム空間において実行するリモートデスクトッププロトコル（ＲＤＰ）エンコーダと
を備えたことを特徴とするシステム。
【請求項１４】
前記ＲＤＰエンコーダは、
ユーザモード・セッション空間において実行する仮想チャネルアプリケーションから仮想チャネルデータを、カーネルモードプロセスを介して送信されることなく、受信し、
前記仮想チャネルデータをコード化し、
前記コード化された仮想チャネルデータを、前記通信ネットワーク経由で前記クライアントに伝送する
ようにさらに構成されることを特徴とする請求項１３に記載のシステム。
【請求項１５】
前記ＲＤＰエンコーダは、前記仮想チャネルデータを、名前付きパイプを備えた仮想チャネルリフレクタ経由で受信するようにさらに構成されることを特徴とする請求項１４に記載のシステム。
【請求項１６】
前記ＲＤＰエンコーダは、
前記グラフィックデータを、グラフィックリフレクタ経由で受信するようにさらに構成され、前記グラフィックリフレクタは、共有メモリを備えたことを特徴とする請求項１３に記載のシステム。
【請求項１７】
前記ユーザアプリケーションは、前記コンピュータの仮想マシン（ＶＭ）上で実行するゲスト・オペレーティングシステム（ＯＳ）のユーザモード・セッション空間において実行し、前記ディスプレイドライバは、前記ゲストＯＳのカーネルモード・セッション空間において実行することを特徴とする請求項１３に記載のシステム。
【請求項１８】
前記エンコードされたグラフィックデータは、リモートデスクトッププロトコル（ＲＤＰ）フォーマットにおけるグラフィックデータを備えたことを特徴とする請求項１３に記載のシステム。
【請求項１９】
コンピュータのユーザモード・アドレス空間においてグラフィックデータをコード化する方法を前記コンピュータに実行させるコンピュータ実行可能命令を有するコンピュータ可読記憶媒体であって、前記方法は、
クライアントからの要求に対応するグラフィックデータを、ユーザモード・セッション空間において実行するユーザアプリケーションから、カーネルモードにおいて実行するディスプレイドライバに送信するステップと、
前記グラフィックデータを、前記ディスプレイドライバによって、ＲＤＰエンコーダプロセスによって認識可能なフォーマットにおける少なくとも１つのグラフィックコマンドに変換するステップであって、前記少なくとも１つのグラフィックコマンドは、プロトコルデータ単位（ＰＤＵ）を含む、変換するステップと、
各ＰＤＵをマーシャルするステップと、
マーシャルされた各ＰＤＵを、共有メモリを備えたグラフィックリフレクタ経由で、前記ディスプレイドライバから、ユーザモード・システム空間において実行する前記ＲＤＰエンコーダプロセスに送信するステップと、
各ＰＤＵをアンマーシャルするステップと、
前記ＲＤＰエンコーダプロセスによって、各ＰＤＵを圧縮するステップと、
圧縮された各ＰＤＵを、前記ＲＤＰエンコーダプロセスから前記クライアントに通信ネットワーク上で送信するステップと、
ユーザモード・セッション空間において実行する仮想チャネルアプリケーションからの前記クライアントからの要求に対応する仮想チャネルデータをマーシャルするステップと、
前記マーシャルされた仮想チャネルデータを、前記ＲＤＰエンコーダプロセスに、名前付きパイプを備えた仮想チャネルリフレクタ経由で送信するステップと、
前記仮想チャネルデータをアンマーシャルするステップと、
前記仮想チャネルデータを、少なくとも１つの仮想チャネルＲＤＰ  ＰＤＵに変換するステップと、
各仮想チャネルＲＤＰ  ＰＤＵを圧縮するステップと、
圧縮された各仮想チャネルＲＤＰ  ＰＤＵを、前記ＲＤＰエンコーダプロセスから前記クライアントに通信ネットワーク上で送信するステップと
を備えたことを特徴とするコンピュータ可読記憶媒体。
【請求項２０】
前記ユーザアプリケーションは、前記コンピュータの仮想マシン（ＶＭ）上で実行するゲスト・オペレーティングシステム（ＯＳ）のユーザモード・セッション空間において実行し、前記ディスプレイドライバは前記ゲストＯＳのカーネルモード・セッション空間において実行することを特徴とする請求項１９に記載のコンピュータ可読記憶媒体。