(57)【要約】【課題】モデリングを行うためのサービスをウェブアプリケーションサーバ装置からウェブクライアント装置に提供する場合であっても、ウェブクライアント装置において三次元モデルのＣＧが高速描画されるようにできるウェブアプリケーションシステムを、提供する。【解決手段】ウェブクライアント装置１０のウェブブラウザ１７ウインドウ内に、ウェブアプリケーションサーバ装置２０内のモデリング用アプリケーション２９を操作するための画面のイメージが表示されている場合において、その画面にＣＧを表示すべき三次元モデルについて操作がなされたときには、ウェブアプリケーションサーバ装置２０は、その三次元モデルのＣＧを描画するための描画コマンドを、ウェブクライアント装置１０へ送信する。ウェブクライアント装置１０は、その描画コマンドに従って、自己のグラフィックアクセラレータを用いて、三次元モデルのＣＧを描画する。【選択図】図１４
2007004228.tif 000002
【特許請求の範囲】
【請求項１】
一台以上のウェブクライアント装置のウェブブラウザウインドウ内においてウェブアプリケーションサーバ装置内のモデリング用アプリケーションを遠隔操作するためのウェブアプリケーションシステムであって、
前記ウェブアプリケーションサーバ装置が、
何れかの前記ウェブクライアント装置からの要求を受けて、前記モデリング用アプリケーションを操作するための画面のイメージを表示するための画面イメージデータを前記ウェブクライアント装置へ送信する画面送信部，
前記ウェブクライアント装置から前記画面上でなされた操作イベントを示す操作イベント情報を前記ウェブクライアント装置から受信する操作受信部，
前記操作受信部が受信した操作イベント情報により示される操作イベントが、前記画面にＣＧを表示すべき三次元モデルについてなされたものである場合に、前記モデリング用アプリケーションから、そのＣＧを描画するための描画コマンドを取得する描画コマンド取得部，及び、
前記描画コマンド取得部が取得した描画コマンドを前記ウェブクライアント装置へ送信する描画コマンド送信部
を備え、
前記ウェブクライアント装置が、
前記モデリング用アプリケーションを遠隔操作する要求を入力装置において操作者から受け付けると、その要求を前記ウェブアプリケーションサーバ装置へ送信する要求送信部，
前記ウェブアプリケーションサーバ装置から前記画面イメージデータを受信すると、その画面イメージデータに基づいて画面を表示する画面表示部，
前記画面上でなされた操作イベントを検出すると、その操作イベントを示す操作イベント情報を前記ウェブアプリケーションサーバ装置へ送信する操作送信部，
前記ウェブアプリケーションサーバ装置から描画コマンドを受信すると、その描画コマンドに基づく三次元モデルのＣＧを、前記画面のうちの三次元モデルのＣＧを描画すべき領域に描画するＣＧ描画部
を備える
ことを特徴とするウェブアプリケーションシステム。
【請求項２】
コンピュータを、
通信装置を介して接続される一台以上のウェブクライアント装置の何れかからの要求を受けて、モデリング用アプリケーションを操作するための画面のイメージを表示するための画面イメージデータを、前記通信装置を介して前記ウェブクライアント装置へ送信する画面送信手段，
前記ウェブクライアント装置から前記画面上でなされた操作イベントを示す操作イベント情報を、前記通信装置を介して前記ウェブクライアント装置から受信する操作受信手段，
前記操作受信手段が受信した操作イベント情報により示される操作イベントが、前記画面にＣＧを表示すべき三次元モデルについてなされたものである場合に、前記モデリング用アプリケーションから、そのＣＧを描画するための描画コマンドを取得する描画コマンド取得手段，及び、
前記描画コマンド取得手段が取得した描画コマンドを、前記通信装置を介して前記ウェブクライアント装置へ送信する描画コマンド送信手段
として機能させる
ことを特徴とする遠隔操作サーバプログラム。
【請求項３】
前記コンピュータを、更に、
前記操作受信手段が受信した操作イベント情報により示される操作イベントが、前記画面にＣＧを表示すべき三次元モデルについての操作以外の操作の操作イベントである場合に、前記モデリング用アプリケーションから、その操作イベントに対応する処理がなされた後の画面を表示するための画面データを取得する画面データ取得手段，
前記画面データ取得手段が取得した画面データの示す画面のイメージのイメージデータを生成する画面イメージ生成手段，及び、
前記画面イメージ生成手段が生成した画面イメージデータを、前記通信装置を介して前記ウェブクライアント装置へ送信する画面イメージ送信手段
として機能させる
ことを特徴とする請求項２記載の遠隔操作サーバプログラム。
【請求項４】
前記コンピュータを、更に、
前記操作受信手段が受信した操作イベント情報により示される操作イベントが、三次元モデルについての操作以外の操作の操作イベントである場合に、その操作がなされることにより、三次元モデルを表示すべき領域に表示されない部分が生ずるときには、その部分以外の残りの領域を三次元モデルのＣＧの描画領域として特定する表示領域特定手段，及び、
前記表示領域特定手段が特定したＣＧ描画領域を規定する情報を、前記通信装置を介して前記ウェブクライアント装置へ送信する表示領域送信手段
として機能させる
ことを特徴とする請求項２又は３記載の遠隔操作サーバプログラム。
【請求項５】
コンピュータを、
通信装置を介して接続されるウェブアプリケーションサーバ装置のモデリング用アプリケーションを遠隔操作する要求を入力装置において操作者から受け付ける要求受付手段，
前記要求受付手段が受け付けた要求を前記ウェブアプリケーションサーバ装置へ前記通信装置を介して送信する要求送信手段，
前記ウェブアプリケーションサーバ装置から前記通信装置を介して前記画面イメージデータを受信すると、その画面イメージデータに基づいて画面を表示装置に表示する画面表示手段，
前記画面上でなされた操作イベントを検出すると、その操作イベントを示す操作イベント情報を前記ウェブアプリケーションサーバ装置へ前記通信装置を介して送信する操作送信手段，及び、
前記ウェブアプリケーションサーバ装置から前記通信装置を介して描画コマンドを受信すると、その描画コマンドに基づく三次元モデルのＣＧを、前記画面のうちの三次元モデルのＣＧを描画すべき領域に描画するＣＧ描画手段
として機能させる
ことを特徴とする遠隔操作クライアントプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ウェブクライアント装置のウェブブラウザウインドウ内においてウェブアプリケーションサーバ装置内のモデリング用アプリケーションを遠隔操作するためのウェブアプリケーションシステムと、このようなウェブアプリケーションシステムのウェブアプリケーションサーバ装置及びウェブクライアント装置としてコンピュータを機能させるための遠隔操作サーバプログラム及び遠隔操作クライアントプログラムとに、関する。
【背景技術】
【０００２】
周知のように、ウェブアプリケーションサーバ装置は、サーバ側で起動されたアプリケーションによるサービスを、ネットワークを介してウェブクライアント装置上で提供する装置である。
【０００３】
従来、二次元モデルの作成（製図）を行うためのＣＡＤ［Computer Aided Design］サービスをウェブアプリケーションサーバ装置から提供することが、行われてきたが、最近では、３ＤＣＡＤやアニメーション製作のような三次元モデルの作成（モデリング）を行うためのサービスをウェブアプリケーションサーバ装置から提供することが、要求されつつある。
【０００４】
このようなモデリングに関するサービスを提供するに当たっては、ウェブアプリケーションサーバ装置が、三次元モデルについてアプリケーションが作成したＣＧ［Computer Graphics］に基づいてビットマップ等のイメージデータを生成し、そのイメージデータをウェブクライアントへ送信する。ウェブクライアント装置は、そのイメージデータに基づいて、三次元モデルを一方向から見た状態のイメージを表示することとなる。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ところで、スタンドアロンのコンピュータにおいてモデリングを行うためのアプリケーションを起動している場合において、例えば三次元モデルのワイヤーフレームモデルやサーフェイスモデルをそれを見る方向を変化させて表示するときには、その三次元モデルが滑らかに向きを変えるようにＣＧが高速描画される。このような高速描画には、そのコンピュータに内蔵されるグラフィックアクセラレータが利用され、そのコンピュータのＣＰＵに掛かる負荷の低減が図られている。
【０００６】
しかしながら、ウェブアプリケーションサーバ装置が提供するサービスによって、このような三次元モデルの向きを変えるようなＣＧの高速描画をウェブクライアント装置において行おうとしても、ウェブクライアント装置には、イメージデータしか提供されないため、グラフィックアクセラレータを用いたＣＧの高速描画は行えない。
【０００７】
また、ウェブアプリケーションサーバ装置において、ＣＧの高速描画に追従させてイメージデータを高速で順次生成させることも考えられなくはないが、そうすると、ウェブアプリケーションサーバ装置に掛かる負荷がとてつもなく増大するとともに、ネットワークトラフィックが増加してしまうため、結局のところ、ウェブクライアント装置において、三次元モデルを、その向きが滑らかに変化するように表示させることができなくなると考えられる。
【０００８】
本発明は、前述した従来技術の有する問題点に鑑みてなされたものであり、その課題は、モデリングを行うためのサービスをウェブアプリケーションサーバ装置からウェブクライアント装置に提供する場合であっても、ウェブクライアント装置において三次元モデルのＣＧが高速描画されるようにすることにある。
【課題を解決するための手段】
【０００９】
上記の課題を解決するために発明されたウェブアプリケーションシステムは、一台以上のウェブクライアント装置のウェブブラウザウインドウ内においてウェブアプリケーションサーバ装置内のモデリング用アプリケーションを遠隔操作するためのウェブアプリケーションシステムであって、そのウェブアプリケーションサーバ装置が、何れかの前記ウェブクライアント装置からの要求を受けて、前記モデリング用アプリケーションを操作するための画面のイメージを表示するための画面イメージデータを前記ウェブクライアント装置へ送信する画面送信部，前記ウェブクライアント装置から前記画面上でなされた操作イベントを示す操作イベント情報を前記ウェブクライアント装置から受信する操作受信部，前記操作受信部が受信した操作イベント情報により示される操作イベントが、前記画面にＣＧを表示すべき三次元モデルについてなされたものである場合に、前記モデリング用アプリケーションから、そのＣＧを描画するための描画コマンドを取得する描画コマンド取得部，及び、前記描画コマンド取得部が取得した描画コマンドを前記ウェブクライアント装置へ送信する描画コマンド送信部を備え、一方、ウェブクライアント装置が、前記モデリング用アプリケーションを遠隔操作する要求を入力装置において操作者から受け付けると、その要求を前記ウェブアプリケーションサーバ装置へ送信する要求送信部，前記ウェブアプリケーションサーバ装置から前記画面イメージデータを受信すると、その画面イメージデータに基づいて画面を表示する画面表示部，前記画面上でなされた操作イベントを検出すると、その操作イベントを示す操作イベント情報を前記ウェブアプリケーションサーバ装置へ送信する操作送信部，前記ウェブアプリケーションサーバ装置から描画コマンドを受信すると、その描画コマンドに基づく三次元モデルのＣＧを、前記画面のうちの三次元モデルのＣＧを描画すべき領域に描画するＣＧ描画部を備えることを、特徴としている。
【００１０】
このように構成されると、ウェブクライアント装置のウェブブラウザウインドウ内に、ウェブアプリケーションサーバ装置内のモデリング用アプリケーションを操作するための画面のイメージが表示されている場合において、その画面にＣＧを表示すべき三次元モデルについて操作がなされたときには、ウェブアプリケーションサーバ装置は、その三次元モデルのＣＧを描画した後の画面のイメージデータを、ウェブクライアント装置へ送信するのではなく、その三次元モデルのＣＧを描画するための描画コマンドを、ウェブクライアント装置へ送信する。これにより、ウェブクライアント装置は、その描画コマンドに従って、自己のグラフィックアクセラレータを用いて、三次元モデルのＣＧを描画することができるようになる。
【００１１】
また、上記の課題を解決するために発明された遠隔操作サーバプログラムは、コンピュータを、通信装置を介して接続される一台以上のウェブクライアント装置の何れかからの要求を受けて、モデリング用アプリケーションを操作するための画面のイメージを表示するための画面イメージデータを、前記通信装置を介して前記ウェブクライアント装置へ送信する画面送信手段，前記ウェブクライアント装置から前記画面上でなされた操作イベントを示す操作イベント情報を、前記通信装置を介して前記ウェブクライアント装置から受信する操作受信手段，前記操作受信手段が受信した操作イベント情報により示される操作イベントが、前記画面にＣＧを表示すべき三次元モデルについてなされたものである場合に、前記モデリング用アプリケーションから、そのＣＧを描画するための描画コマンドを取得する描画コマンド取得手段，及び、前記描画コマンド取得手段が取得した描画コマンドを、前記通信装置を介して前記ウェブクライアント装置へ送信する描画コマンド送信手段として機能させることを、特徴としている。
【００１２】
従って、この遠隔操作サーバプログラムは、コンピュータを、前述した本発明のウェブアプリケーションシステムを構成するウェブアプリケーションサーバ装置と同等の装置として機能させることができることになる。
【００１３】
また、上記の課題を解決するために発明された遠隔操作クライアントプログラムは、コンピュータを、通信装置を介して接続されるウェブアプリケーションサーバ装置のモデリング用アプリケーションを遠隔操作する要求を入力装置において操作者から受け付ける要求受付手段，前記要求受付手段が受け付けた要求を前記ウェブアプリケーションサーバ装置へ前記通信装置を介して送信する要求送信手段，前記ウェブアプリケーションサーバ装置から前記通信装置を介して前記画面イメージデータを受信すると、その画面イメージデータに基づいて画面を表示装置に表示する画面表示手段，前記画面上でなされた操作イベントを検出すると、その操作イベントを示す操作イベント情報を前記ウェブアプリケーションサーバ装置へ前記通信装置を介して送信する操作送信手段，及び、前記ウェブアプリケーションサーバ装置から前記通信装置を介して描画コマンドを受信すると、その描画コマンドに基づく三次元モデルのＣＧを、前記画面のうちの三次元モデルのＣＧを描画すべき領域に描画するＣＧ描画手段として機能させることを、特徴としている。
【００１４】
従って、この遠隔操作クライアントプログラムは、コンピュータを、前述した本発明のウェブアプリケーションシステムを構成するウェブクライアント装置と同等の装置として機能させることができることになる。
【発明の効果】
【００１５】
以上に説明したように、本発明によれば、モデリングを行うためのサービスをウェブアプリケーションサーバ装置からウェブクライアント装置に提供する場合に、ウェブクライアント装置において三次元モデルのＣＧが高速描画されるようになる。
【発明を実施するための最良の形態】
【００１６】
以下、添付図面を参照しながら、本発明を実施するための一つの形態について、説明する。
【００１７】
まず、本実施形態のコンピュータネットワークシステムの構成について、説明する。
【００１８】
図１は、本実施形態のコンピュータネットワークシステムの構成を示す図である。
【００１９】
本実施形態のコンピュータネットワークシステムは、一台以上のウェブクライアント装置１０とウェブアプリケーションサーバ装置２０とから構成されており、各装置１０，２０は、ネットワークＮを介して互いに接続されている。
【００２０】
ウェブクライアント装置１０について簡単に説明すると、このウェブクライアント装置１０は、一般に市販されているパーソナルコンピュータに後述のウェブブラウザ１７をインストールすることによって、ウェブクライアントとして機能させるようにした装置である。
【００２１】
ウェブアプリケーションサーバ装置２０について簡単に説明すると、このウェブアプリケーションサーバ装置２０は、メインフレーム等の汎用コンピュータに後述のページデータ２６やウェブサーバプログラム２７をインストールすることによって、ウェブサーバとして機能させるようにした装置である。
【００２２】
図２は、ウェブクライアント装置１０の構成を概略的に示す図である。
【００２３】
ウェブクライアント装置１０を構成するパーソナルコンピュータは、周知のように、液晶ディスプレイ等の表示装置１０ａと、キーボードやマウス等の入力装置１０ｂと、これら装置に接続された本体１０ｃとから、構成されている。
【００２４】
その本体１０ｃは、ＣＰＵ［Central Processing Unit］１１，ＤＲＡＭ［Dynamic Random Access Memory］１２，通信アダプタ１３，ＭＤＤ［Multi Disk Drive］１４，及び、ＨＤＤ［Hard Disk Drive］１５等の周知なハードウエアを、内蔵しており、このうち、ＨＤＤ１５は、表示装置１０ａや入力装置１０ｂにおける入出力の制御，通信アダプタ１３におけるＴＣＰ／ＩＰ［Transmission Control Protocol／Internet Protocol］に従った通信の制御，及び、ＤＲＡＭ１２やＭＤＤ１４やＨＤＤ１５の記憶領域（記憶素子，ＣＤ［Compact Disk］，ＤＶＤ［Digital Versatile Disk］，ＨＤ［Hard Disk］の記憶領域）に対する読み書きの制御といった基本的な機能を多くのアプリケーションソフトウエアに提供するための基本ソフトウエア１６を、記憶している。
【００２５】
そして、このウェブクライアント装置１０のＨＤＤ１５には、ウェブブラウザ１７及び遠隔操作クライアントモジュール１８が、インストールされている。
【００２６】
ウェブブラウザ１７は、ウェブクライアントとしての機能をパーソナルコンピュータに付加するためのプログラムであり、より具体的には、ウェブクライアント装置１０の操作者によって指定されたＵＲＬ［Uniform Resource Locator］からページデータや画像データ等を取得してウェブページや画像などを表示装置１０ａに表示するためのプログラムである。
【００２７】
遠隔操作クライアントモジュール１８は、ウェブアプリケーションサーバ装置２０内のアプリケーションをウェブクライアント装置１０において遠隔操作するためのプログラムである。この遠隔操作クライアントモジュール１８は、マウスにおけるクリック若しくはドラッグ，又は、キーボードにおけるキー押下の操作イベントを検出する機能，その操作イベントに関する情報を、ウェブアプリケーションサーバ装置２０にインストールされた後述の遠隔操作サーバモジュール２８へ通知する機能，及び、その操作イベント情報を受けたアプリケーションが出力した処理結果をその遠隔操作サーバモジュール２８から受信して表示する機能を、パーソナルコンピュータに付与する。
【００２８】
図３は、ウェブアプリケーションサーバ装置２０の構成を概略的に示す構成図である。
【００２９】
ウェブアプリケーションサーバ装置２０を構成する汎用コンピュータは、ＣＰＵ２１，ＤＲＡＭ２２，通信アダプタ２３，及び、ＨＤＤ２４等の周知なハードウエアを、内蔵しており、このうち、ＨＤＤ２４は、通信アダプタ２３におけるＴＣＰ／ＩＰに従った通信の制御，及び、ＤＲＡＭ２２やＨＤＤ２４の記憶領域（記憶素子，ＨＤの記憶領域）に対する読み書きの制御といった基本的な機能を多くのアプリケーションソフトウエアに提供するための基本ソフトウエア２５を、記憶している。
【００３０】
そして、このウェブアプリケーションサーバ装置２０のＨＤＤ２４には、ページデータ２６，ウェブサーバプログラム２７，遠隔操作サーバモジュール２８，及び、ＣＡＤ［Computer Aided Design］アプリケーション２９が、インストールされている。
【００３１】
ページデータ２６は、マークアップ言語で記述されたテキストを含むデータである。これらページデータ２６は、ネットワークＮ上にウェブサイトを開設するために用意されたデータであり、これらページデータ２６には、何れも、ＵＲＬが定義されている。なお、ページデータ２６のうちの一つは、後述のＣＡＤアプリケーション２９の起動指示コマンドを含むものとなっている。
【００３２】
ウェブサーバプログラム２７は、ウェブクライアント装置１０からの要求を受けて要求されたページデータ２６を送信するためのプログラムである。また、ウェブサーバプログラム２７は、ウェブクライアント装置１０が指定したＵＲＬのページデータ２６がアプリケーションの起動指示コマンドを含むものである場合に、そのアプリケーションの起動を後述の遠隔操作サーバモジュール２８に依頼する機能を実現するものとも、なっている。
【００３３】
遠隔操作サーバモジュール２８は、前述したウェブクライアント装置１０内の遠隔操作クライアントモジュール１８と連携することによって、当該ウェブアプリケーションサーバ装置２０内のアプリケーションのウェブクライアント装置１０の操作者による遠隔操作を可能にするプログラムである。この遠隔操作サーバモジュール２８は、ウェブクライアント装置１０との間でＲＤＰ［Remote Desktop Protocol］或いはＩＣＡ[Independedt Computing Architecture]等のプロトコルに従った通信を確立する機能，通信先のウェブクライアント装置１０から操作イベント情報を受信する機能，その操作イベント情報の示す操作イベントの内容をアプリケーションに通知する機能，そのアプリケーションの処理結果を表示する画面イメージのイメージデータを生成する機能，そのイメージデータをＲＤＰ通信又はＩＣＡ通信を通じてウェブクライアント装置１０の遠隔操作クライアントモジュール１８へ送信する機能を、汎用コンピュータに付与する。
【００３４】
ＣＡＤアプリケーション２９は、少なくとも、作業者が表示装置上で三次元モデルの作成（モデリング）を行うための機能を、コンピュータに付与するためのプログラムである。なお、このＣＡＤアプリケーション２９は、二次元モデルの作成（製図）を行うための機能をも、コンピュータに付与できるものであっても良い。このＣＡＤアプリケーション２９上で作成された三次元モデルは、ＣＧ［Computer Graphics］として表示装置に表示される。
【００３５】
次に、ウェブアプリケーションサーバ装置２０において実行される処理のうち、本発明に関連する部分の内容について、説明する。
【００３６】
ウェブクライアント装置１０の操作者が、入力装置１０ｂを操作することによってウェブブラウザ１７を起動すると、基本ソフトウエア１６の機能により表示装置１０ａには、ウェブブラウザ１７を操作するための画面が示されたウインドウが、表示される。そして、その操作者が、そのウインドウ内の画面の所定の入力欄に、ＣＡＤアプリケーション２９の起動指示コマンドを含むページデータ２６のＵＲＬを入力し、アクセス指示を入力する。すると、ウェブブラウザ１７（に従ったＣＰＵ１１）が、そのＵＲＬを含む要求メッセージを、ＨＴＴＰ［HyperText Transfer Protocol］に従った通信にて、ウェブアプリケーションサーバ装置２０のウェブサーバプログラム２７（に従ったＣＰＵ２１）へ送信する。
【００３７】
すると、ウェブサーバプログラム２７は、要求メッセージを通じて指定されたＵＲＬにあるページデータ２６を読み出す。そして、そのウェブサーバプログラム２７が、ＣＡＤアプリケーション２９の起動指示コマンドがそのページデータ２６に含まれていることを検出すると、それをトリガとして、遠隔操作サーバモジュール２８を起動する。図４乃至図７は、この遠隔操作サーバモジュール２８に従ってＣＰＵ２１が実行する処理の流れを示す図である。
【００３８】
処理開始後、遠隔操作サーバモジュール２８（に従ったＣＰＵ２１）は、当該ウェブクライアント装置１０のためにメモリ領域を確保し、指定されたＣＡＤアプリケーション２９のプロセスをこのメモリ領域に生成する（Ｓ１０１）。なお、このメモリ領域では、表示中のウィンドウ及びアイコン等に関する情報や操作イベント情報も、管理される。また、各ウェブクライアント装置１０毎に確保されたメモリ領域の生成及び削除は、別のメモリ領域にあるセッション空間において、遠隔操作サーバモジュール２８により管理される。
【００３９】
続いて、遠隔操作サーバモジュール２８は、遠隔操作クライアントモジュール１８に対して仮想チャンネルを通じて、ＣＡＤアプリケーション２９に割り当てたポート番号を通知するとともに、この遠隔操作クライアントモジュール１８との間で、ＲＤＰ又はＩＣＡに従った通信を確立する（Ｓ１０２）。
【００４０】
その後、遠隔操作サーバモジュール２８は、ステップＳ１０１において生成したプロセスから、ＣＡＤアプリケーション２９を操作するための画面を表示するための画面データを受け取るまで、待機する（Ｓ１０３；ＮＯ）。
【００４１】
そして、当該プロセスから画面データを受け取ると（Ｓ１０３；ＹＥＳ）、遠隔操作サーバモジュール２８は、その画面データの示す画面イメージのイメージデータを生成し（Ｓ１０４）、そのイメージデータを応答メッセージに組み込むべきデータとしてウェブサーバプログラム２７（に従ったＣＰＵ２１による機能）に引き渡す（Ｓ１０５）。なお、ウェブサーバプログラム２７は、このイメージデータを受け取ると、応答メッセージのボディに含んで、ＨＴＴＰ通信により、ウェブクライアント装置１０のウェブブラウザ１７へ送信する。ウェブブラウザ１７は、その応答メッセージを受信すると、その応答メッセージに含まれるイメージデータに基づいて、当該ＣＡＤアプリケーション２９による画面イメージを、そのウェブブラウザ１７用のウインドウ内に表示する。このとき、ウェブブラウザ１７は、マウスのクリックやカーソル入力を検知するための透明プレーンをその画面イメージの前面に配置し、操作イベントがなされるのを待機する状態になる。
【００４２】
なお、以上に説明したステップＳ１０１〜Ｓ１０５を実行するＣＰＵ２１は、前述した画面送信部及び画面送信手段に相当している。
【００４３】
ステップＳ１０５の実行後、遠隔操作サーバモジュール２８は、ウェブクライアント装置１０からのＣＡＤアプリケーション２９の終了指示の受信，操作以外のイベントに関する情報の受信，及び、クリック若しくはドラッグ又はキー入力の操作イベントに関する操作イベント情報の受信の何れかがなされるまで、待機する（Ｓ１０６；ＮＯ，Ｓ１０７；ＮＯ，Ｓ１０８；ＮＯ）。なお、操作以外のイベントには、例えば、ウェブクライアント装置１０において、ウェブブラウザ１７用のウインドウの前側に別のアプリケーション用のウインドウが重なった後、再度ウェブブラウザ１７用のウインドウを前側で表示する場合に、ウェブブラウザ１７用のウインドウ内における当該ＣＡＤアプリケーション２９の画面イメージが欠けてしまうので、この画面イメージの再表示のため、遠隔操作クライアントモジュール１８が、当該画面イメージのイメージデータを要求するイベントがある。
【００４４】
そして、このような処理ループ（Ｓ１０６；ＮＯ，Ｓ１０７；ＮＯ，Ｓ１０８；ＮＯ）の実行中に、ウェブクライアント装置１０からＲＤＰ通信又はＩＣＡ通信を通じて終了指示を受信したときには（Ｓ１０６；ＹＥＳ）、遠隔操作サーバモジュール２８は、遠隔操作クライアントモジュール１８との通信を切断し（Ｓ１０９）、当該プロセスを消去して（Ｓ１１０）、図４乃至図６に係る処理を終了する。
【００４５】
また、上記の処理ループ（Ｓ１０６；ＮＯ，Ｓ１０７；ＮＯ，Ｓ１０８；ＮＯ）の実行中に、ウェブクライアント装置１０からＲＤＰ通信又はＩＣＡ通信を通じて操作以外のイベントに関する情報を受信したときには（Ｓ１０７；ＹＥＳ）、遠隔操作サーバモジュール２８は、当該プロセスに対し、ＣＡＤアプリケーション２９の画面を表示するための画面データの生成を指示して（Ｓ１１１）、その画面データを当該プロセスから受け取るまで待機する（Ｓ１１２；ＮＯ）。その後、画面データを受け取ると（Ｓ１１２；ＹＥＳ）、遠隔操作サーバモジュール２８は、その画面データの示す画面イメージのイメージデータを生成し（Ｓ１１３）、そのイメージデータをＲＤＰ通信又はＩＣＡ通信を通じてウェブクライアント装置１０の遠隔操作クライアントモジュール１８へ送信して（Ｓ１１４）、上記の処理ループを再開する（Ｓ１０６；ＮＯ，Ｓ１０７；ＮＯ，Ｓ１０８；ＮＯ）。
なお、イメージデータを受信した遠隔操作クライアントモジュール１８は、そのイメージデータをウェブブラウザ１７へ引き渡し、ウェブブラウザ１７が、そのイメージデータに基づく画面イメージを、ウェブブラウザ１７用のウインドウ内に表示する。
【００４６】
また、上記の処理ループ（Ｓ１０６；ＮＯ，Ｓ１０７；ＮＯ，Ｓ１０８；ＮＯ）の実行中に、ウェブクライアント装置１０からＲＤＰ通信又はＩＣＡ通信を通じて操作イベント情報を受信したときには（Ｓ１０８；ＹＥＳ）、遠隔操作サーバモジュール２８は、操作イベントの内容を当該プロセスに通知する（Ｓ１２１）。なお、ステップＳ１０８を実行するＣＰＵ２１は、前述した操作受信部及び操作受信手段に相当している。
【００４７】
その後、遠隔操作サーバモジュール２８は、当該プロセスから、その応答データ、すなわち、操作イベントに従って実行して得られる処理結果を、受け取るまで待機する（Ｓ１２２；ＮＯ）。なお、ＣＡＤアプリケーション２９は、三次元モデルのＣＧを描画する処理に関しては、遠隔操作サーバモジュール２８に依頼するようになっており、この場合、三次元モデルのＣＧを描画するための例えばＯｐｅｎＧＬのコマンド群を、遠隔操作サーバモジュール２８に引き渡す。また、三次元モデルのＣＧを描画する処理以外の処理については、ＣＡＤアプリケーション２９自身が行うようになっており、この場合、ＣＡＤアプリケーション２９は、操作イベントがなされることによって表示される二次元モデル作成（製図）用ウインドウ又はＧＵＩ［Graphical User Interface］パーツを表示するためのウインドウコンテンツデータを生成し、このウインドウコンテンツデータを遠隔操作サーバモジュール２８に引き渡すようになっている。
【００４８】
そして、当該プロセスからデータを受け取ると（Ｓ１２２；ＹＥＳ）、遠隔操作サーバモジュール２８は、そのデータに三次元モデル作成（モデリング）用ウインドウの作成コマンドが含まれているか否かを、判別する（Ｓ１２３）。
【００４９】
そして、当該プロセスから受け取ったデータにモデリング用ウインドウの作成コマンドが含まれていた場合（Ｓ１２３；ＹＥＳ）、遠隔操作サーバモジュール２８は、そのデータに含まれるコマンド群でそのウインドウに三次元モデルが描画されることを定義するグラフィックコンテキストを、生成し（Ｓ１２４）、このグラフィックコンテキストをウインドウ管理テーブルに登録する（Ｓ１２５）。
【００５０】
具体的には、まず、当該プロセスは、ＣＡＤアプリケーション２９を操作するための画面内にある全てのウインドウに対し、それらを個別に識別するための識別情報として、ウインドウＩＤを割り当てており、遠隔操作サーバモジュール２８は、モデリング用ウインドウのウインドウＩＤを当該プロセスより取得する。続いて、遠隔操作サーバモジュール２８は、そのウインドウＩＤと生成したグラフィックコンテキストの格納位置を示す情報とからなるレコードを、ウインドウ管理テーブルに記録する。図８は、このウインドウ管理テーブル３１のデータ構造の一例を示す図である。図８に示されるように、ウインドウ管理テーブル３１は、ＣＡＤアプリケーション２９を操作するための画面内にある全てのモデリング用ウインドウと同じ数のレコードを有しており、それら各レコードは、「ウインドウＩＤ」及び「格納位置情報」のフィールドを有している。「ウインドウＩＤ」フィールドには、モデリング用ウインドウのウインドウＩＤが記録され、「格納位置情報」フィールドには、グラフィックコンテキストの格納位置を示す情報が記録される。
【００５１】
遠隔操作サーバモジュール２８は、図９に示されるこのようなウインドウ管理テーブル３１にグラフィックコンテキストを登録した後、当該プロセスから受け取ったデータがモデリング用ウインドウにおける三次元モデルのＣＧの描画コマンド群を含んでいるか否かを、判別する（Ｓ１２６）。
【００５２】
一方、遠隔操作サーバモジュール２８は、当該プロセスから受け取ったデータにモデリング用ウインドウの作成コマンドが含まれていなかった場合（Ｓ１２３；ＮＯ）、グラフィックコンテキストの生成及び登録を行うことなく、当該プロセスから受け取ったデータがモデリング用ウインドウにおける三次元モデルのＣＧの描画コマンド群を含んでいるか否かを、判別する（Ｓ１２６）。
【００５３】
そして、当該プロセスから受け取ったデータがモデリング用ウインドウにおける三次元モデルのＣＧの描画コマンド群を含んでいた場合（Ｓ１２６；ＹＥＳ）、遠隔操作サーバモジュール２８は、描画コマンド群を、独自プロトコルにて送信するための送信形態に変換する処理を行う（Ｓ１２７）。なお、グラフィック関連コマンドの一つ一つには、独自プロトコルで送信するため、別個の送信形態が事前に定義付けられており、遠隔操作サーバモジュール２８は、この定義に従って、グラフィック関連コマンドを上記送信形態に変換する。例えば、Ｖというコマンドが属性値ｐ，ｑを持つことができるものである場合においては、そのＶというコマンドが、（１，ｐ，ｑ）のようなレコードに変換され、Ｗというコマンドが属性値ｒ，ｓ，ｔを持つことができるものである場合においては、そのＷというコマンドが、（２，ｒ，ｓ，ｔ）のようなレコードに変換されるように、処理がなされる。
【００５４】
なお、ステップＳ１２２及びＳ１２６を実行するＣＰＵ２１は、前述した描画コマンド取得部及び描画コマンド取得手段に相当している。
【００５５】
その後、遠隔操作サーバモジュール２８は、独自プロトコルに従った送信形態に変換した描画コマンド群を遠隔操作クライアントモジュール１８へ送信する処理を行い（Ｓ１２８）、上記の処理ループ（図４）を再開する（Ｓ１０６；ＮＯ，Ｓ１０７；ＮＯ，Ｓ１０８；ＮＯ）。
【００５６】
一方、当該プロセスから受け取ったデータがモデリング用ウインドウにおける三次元モデルのＣＧの描画コマンド群を含んでいなかった場合（Ｓ１２６；ＮＯ）、そのデータは、製図用ウインドウ又はＧＵＩパーツを表示するためのウインドウコンテンツデータであるので、遠隔操作サーバモジュール２８は、そのウインドウコンテンツデータが示すウインドウ（製図用ウインドウ又はＧＵＩパーツ）のイメージのイメージデータを生成する処理を行う（Ｓ１３１）。
【００５７】
続いて、遠隔操作サーバモジュール２８は、そのウインドウを表示すべき位置を示す情報をウインドウコンテンツデータから読み取り、そのイメージデータと位置情報とを、ＲＤＰ通信又はＩＣＡ通信を通じてウェブクライアント装置１０の遠隔操作クライアントモジュール１８へ送信する処理を行う（Ｓ１３２）。なお、イメージデータと当該位置情報とを受信した遠隔操作クライアントモジュール１８は、そのイメージデータをウェブブラウザ１７へ引き渡し、ウェブブラウザ１７が、そのイメージデータに基づく画面イメージを、ＣＡＤアプリケーション２９の操作画面内における当該位置情報にて示される位置に、表示する。
【００５８】
その後、遠隔操作サーバモジュール２８は、ＣＡＤアプリケーション２９の操作画面内の全てのウインドウを当該プロセスが管理するために使用しているウインドウ位置管理テーブルを、当該プロセスから取得する（Ｓ１３３）。図９は、このウインドウ位置管理テーブル３２のデータ構造の一例を示す図である。図９に示されるように、ウインドウ位置管理テーブル３２は、ＣＡＤアプリケーション２９を操作するための画面内に含まれるウインドウの全てと同数のレコードを、有している。各レコードは、「ウインドウＩＤ」，「Ｘ１」，「Ｙ１」，「Ｘ２」，「Ｙ２」，及び、「前方表示順位」のフィールドを、有している。「ウインドウＩＤ」フィールドには、ウインドウＩＤが、記録される。なお、ここで言うウインドウとは、モデリング用ウインドウ及び製図用ウインドウとともに、ドロップダウンリストボックスやツールボックスなどのＧＵＩパーツも含まれている。「Ｘ１」，「Ｙ１」，「Ｘ２」及び「Ｙ２」の各フィールドには、そのウインドウの左上隅のＸ座標及びＹ座標、並びに、そのウインドウの右下隅のＸ座標及びＹ座標が記録される。「前方表示順位」フィールドには、各ウインドウが重なって表示される場合において何れのウインドウを前側に表示すべきかを定義した優先順位が、記録される。
【００５９】
遠隔操作サーバモジュール２８は、このようなウインドウ位置管理テーブル３２を当該プロセスから取得した後、ＣＡＤアプリケーション２９の操作画面内において、当該プロセスから受け取ったウインドウコンテンツデータの示すウインドウが前側に配置されることによって隠されることとなるウインドウが存在するか否かを、判別する（Ｓ１３４）。
【００６０】
そして、ＣＡＤアプリケーション２９の操作画面内において、ウインドウコンテンツデータの示すウインドウが前側に配置されることによって隠されることとなるウインドウが存在していなかった場合（Ｓ１３４；ＮＯ）、遠隔操作サーバモジュール２８は、上記の処理ループ（図４）を再開する（Ｓ１０６；ＮＯ，Ｓ１０７；ＮＯ，Ｓ１０８；ＮＯ）。
【００６１】
一方、ＣＡＤアプリケーション２９の操作画面内において、ウインドウコンテンツデータの示すウインドウが前側に配置されることによって一部が隠されることとなるウインドウが存在していた場合（Ｓ１３４；ＹＥＳ）、遠隔操作サーバモジュール２８は、その一部が隠されることとなるウインドウにモデリング用ウインドウが含まれるか否かを、判別する（Ｓ１３５）。
【００６２】
そして、ウインドウコンテンツデータの示すウインドウが前側に配置されることによって一部が隠されることとなるウインドウにモデリング用ウインドウが含まれていなかった場合（Ｓ１３５；ＮＯ）、遠隔操作サーバモジュール２８は、上記の処理ループ（図４）を再開する（Ｓ１０６；ＮＯ，Ｓ１０７；ＮＯ，Ｓ１０８；ＮＯ）。
【００６３】
一方、ウインドウコンテンツデータの示すウインドウが前側に配置されることによって一部が隠されることとなるウインドウにモデリング用ウインドウが含まれていた場合（Ｓ１３５；ＹＥＳ）、遠隔操作サーバモジュール２８は、それらモデリング用ウインドウを一つずつ処理対象として特定することによって、各モデリング用ウインドウに対し、以下の処理を実行する（Ｓ１３６，Ｓ１３９；ＮＯ）。
【００６４】
すなわち、遠隔操作サーバモジュール２８は、処理対象として一つのモデリング用ウインドウを特定すると（Ｓ１３６）、ウインドウ位置管理テーブルを参照して、その処理対象ウインドウにおいてその前側に他のウインドウが重なっている部分を除く全ての領域を、幾つかの矩形領域に分割する（Ｓ１３７）。
【００６５】
より具体的に説明する。図１０は、図９に示されるウインドウ位置管理テーブル３２に登録されているウインドウが示された操作画面の画面例であるが、この画面例において、ウインドウＢは、モデリング用ウインドウとなっており、図８に示されるウインドウ管理テーブル３１にも登録されている。ウインドウＡは、ウインドウＢの前側に表示されており、その一部が、ウインドウＢの一部と重なっている。そして、このように配置されているウインドウＢにおいて、ウインドウＡと重複しない部分は、略凹字状になっている。このような具体例において、遠隔操作サーバモジュール２８は、この略凹字状の部分を幾つかの矩形領域に分割する処理を行う。図１１は、この分割処理により得られる各矩形領域を示す説明図である。この図１１に示されるように、遠隔操作サーバモジュール２８は、図１０の例に示された略凹字状の部分を、それぞれ、ウインドウＡよりも右側の部分（矩形領域Ｂａ），ウインドウＡの下側の部分（矩形領域Ｂｂ），ウインドウＡよりも左側の部分（矩形領域Ｂｃ）の三つに分割する。図１２は、分割処理により分割された矩形領域Ｂａ〜Ｂｃについての位置情報（左上隅のＸＹ座標値と右下隅のＸＹ座標値）を示す図である。
【００６６】
遠隔操作サーバモジュール２８は、ステップＳ１３７の分割処理において、図１２に示されるような矩形領域位置情報を生成した後、この処理対象ウインドウのウインドウＩＤと矩形領域位置情報とを、ＲＤＰ通信又はＩＣＡ通信を通じてウェブクライアント装置１０の遠隔操作クライアントモジュール１８へ送信する処理を行う（Ｓ１３２）。なお、遠隔操作クライアントモジュール１８が、このウインドウＩＤと矩形領域位置情報とを受信したときに行う処理については、後述する。
【００６７】
遠隔操作サーバモジュール２８は、ウインドウＩＤと矩形領域位置情報とを送信した後、ウインドウコンテンツデータの示すウインドウが前側に配置されることによって一部が隠されることとなるモデリング用ウインドウの全てについて、ステップＳ１３７及びＳ１３８の処理を実行し終えたか否かを判別し（Ｓ１３９）、未処理のモデリング用ウインドウが存在していた場合（Ｓ１３９；ＮＯ）、未処理のモデリング用ウインドウの中から一つを処理対象として特定して、再度、ステップＳ１３７及びＳ１３８を実行する。
【００６８】
そして、全てのモデリング用ウインドウについてステップＳ１３７及びＳ１３８を実行し終えると（Ｓ１３９；ＹＥＳ）、遠隔操作サーバモジュール２８は、上記の処理ループ（図４）を再開する（Ｓ１０６；ＮＯ，Ｓ１０７；ＮＯ，Ｓ１０８；ＮＯ）。
【００６９】
次に、ウェブクライアント装置１０において実行される処理のうち、本発明に関連する部分の内容について、説明する。
【００７０】
ウェブクライアント装置１０の遠隔操作クライアントモジュール１８は、図４のステップＳ１０２を実行する遠隔操作サーバモジュール２８により、ＲＤＰ通信又はＩＣＡ通信を確立するための要求があると、それをトリガとして、起動される。図１３及び図１４は、この遠隔操作クライアントモジュール１８に従ってＣＰＵ１１が実行する処理の流れを示す図である。
【００７１】
処理開始後、遠隔操作クライアントモジュール１８（に従ったＣＰＵ１１）は、遠隔操作サーバモジュール２８との通信を確立し（Ｓ３０１）、その後、遠隔操作サーバモジュール２８との通信の切断，操作イベントの発生，操作以外のイベントの発生，及び、遠隔操作サーバモジュール２８からのデータ受信の何れかがなされるまで、待機する（Ｓ３０２；ＮＯ，Ｓ３０３；ＮＯ，Ｓ３０４；ＮＯ，Ｓ３０５；ＮＯ）。
【００７２】
そして、このような処理ループ（Ｓ３０２；ＮＯ，Ｓ３０３；ＮＯ，Ｓ３０４；ＮＯ，Ｓ３０５；ＮＯ）の実行中に、遠隔操作サーバモジュール２８から通信を切断するための要求があった場合（Ｓ３０２；ＹＥＳ）、遠隔操作クライアントモジュール１８は、図１３及び図１４に係る処理を終了する。
【００７３】
また、上記の処理ループ（Ｓ３０２；ＮＯ，Ｓ３０３；ＮＯ，Ｓ３０４；ＮＯ，Ｓ３０５；ＮＯ）の実行中に、クリック若しくはドラッグ又はキー入力の操作イベントが発生した場合（Ｓ３０３；ＹＥＳ）、遠隔操作クライアントモジュール１８は、その操作イベントを示す操作イベント情報をＲＤＰ通信又はＩＣＡ通信を通じて遠隔操作サーバモジュール２８へ送信する処理を行い（Ｓ３０６）、上記の処理ループを再開する（Ｓ３０２；ＮＯ，Ｓ３０３；ＮＯ，Ｓ３０４；ＮＯ，Ｓ３０５；ＮＯ）。
【００７４】
また、上記の処理ループ（Ｓ３０２；ＮＯ，Ｓ３０３；ＮＯ，Ｓ３０４；ＮＯ，Ｓ３０５；ＮＯ）の実行中に、操作以外のイベントが発生した場合（Ｓ３０４；ＹＥＳ）、遠隔操作クライアントモジュール１８は、その操作以外のイベントに関する情報をＲＤＰ通信又はＩＣＡ通信を通じて遠隔操作サーバモジュール２８へ送信する処理を行い（Ｓ３０７）、上記の処理ループを再開する（Ｓ３０２；ＮＯ，Ｓ３０３；ＮＯ，Ｓ３０４；ＮＯ，Ｓ３０５；ＮＯ）。
【００７５】
また、上記の処理ループ（Ｓ３０２；ＮＯ，Ｓ３０３；ＮＯ，Ｓ３０４；ＮＯ，Ｓ３０５；ＮＯ）の実行中に、遠隔操作サーバモジュール２８から、ＲＤＰ通信若しくはＩＣＡ通信、又は、前述した独自プロトコルに従った通信を通じて、データを受信した場合（Ｓ３０５；ＹＥＳ）、遠隔操作クライアントモジュール１８は、受信データがイメージデータを含むデータであるか否かを、判別する（Ｓ３１１）。
【００７６】
そして、受信データがイメージデータを含むデータである場合（Ｓ３１１；ＹＥＳ）、遠隔操作クライアントモジュール１８は、受信データに含まれる位置情報にて示される領域にイメージデータに基づくイメージを表示する処理を行い（Ｓ３１２）、上記の処理ループを再開する（Ｓ３０２；ＮＯ，Ｓ３０３；ＮＯ，Ｓ３０４；ＮＯ，Ｓ３０５；ＮＯ）。
【００７７】
一方、受信データがイメージデータを含むデータでない場合（Ｓ３１１；ＮＯ）、遠隔操作クライアントモジュール１８は、受信データが描画コマンド群から上記送信形態へ変形されたレコードを含むデータであるか否かを、判別する（Ｓ３１３）。
【００７８】
そして、受信データが描画コマンド群から上記送信形態へ変形されたレコードを含むデータであった場合（Ｓ３１３；ＹＥＳ）、遠隔操作クライアントモジュール１８は、送信データから描画コマンド群を復元する処理を行う（Ｓ３１４）。
【００７９】
続いて、遠隔操作クライアントモジュール１８は、この描画コマンド群が未登録のウインドウへＣＧを描画するためのコマンド群であるか否かを、判別する（Ｓ３１５）。
【００８０】
そして、この描画コマンド群が未登録のウインドウへＣＧを描画するためのコマンド群であった場合（Ｓ３１５；ＹＥＳ）、遠隔操作クライアントモジュール１８は、そのウインドウにそれらコマンド群で三次元モデルが描画されることを定義するグラフィックコンテキストを生成し（Ｓ３１６）、そのグラフィックコンテキストをウインドウ管理テーブルに登録する（Ｓ３１７）。なお、このウインドウ管理テーブルのデータ構造は、図７に示されるウインドウ管理テーブルと同様のデータ構造となっており、このウインドウ管理テーブル内の各レコードは、図７のサーバ側のウインドウＩＤと同じＩＤが記録されるフィールド，及び、クライアント側で生成されたグラフィックコンテキストの格納位置が記録されるフィールドを、有している。
【００８１】
遠隔操作クライアントモジュール１８は、このようなウインドウ管理テーブルにグラフィックコンテキストを登録した後、描画コマンド群が持つウインドウＩＤにて示されるウインドウ内をＣＧ描画領域として、描画コマンド群に従って三次元モデルのＣＧを描画する処理を実行する（Ｓ３１９）。その後、遠隔操作クライアントモジュール１８は、上記の処理ループを再開する（Ｓ３０２；ＮＯ，Ｓ３０３；ＮＯ，Ｓ３０４；ＮＯ，Ｓ３０５；ＮＯ）。
【００８２】
一方、この描画コマンド群が未登録のウインドウへＣＧを描画するためのコマンド群でなかった場合（Ｓ３１５；ＮＯ）、遠隔操作クライアントモジュール１８は、グラフィックコンテキストの生成及び登録する処理を行うことなく、描画コマンド群に従って三次元モデルのＣＧを描画する処理を実行し（Ｓ３１９）、上記の処理ループを再開する（Ｓ３０２；ＮＯ，Ｓ３０３；ＮＯ，Ｓ３０４；ＮＯ，Ｓ３０５；ＮＯ）。
【００８３】
また、受信データが描画コマンド群から上記送信形態へ変形されたレコードを含むデータでなかった場合（Ｓ３１３；ＮＯ）、受信データは、矩形領域位置情報を含むデータであるので、遠隔操作クライアントモジュール１８は、受信データに含まれるウインドウＩＤにて示されるウインドウのＣＧ描画領域を変形する処理を行う（Ｓ３１８）。図１０及び図１１の例を用いて説明すると、遠隔操作クライアントモジュール１８は、受信データに含まれるウインドウＩＤにて示されるウインドウ内のＣＧ描画領域（図１０におけるウインドウＢの領域）のうち、矩形領域位置情報にて規定される矩形領域Ｂａ，Ｂｂ，Ｂｃからなる略凹字状の部分を残し、その部分以外の領域（図１０におけるウインドウＡが重なっている部分）をＣＧ描画領域から除去する。
【００８４】
遠隔操作クライアントモジュール１８は、このようなＣＧ描画領域の変形処理を行った後、ＣＧ描画領域に、三次元モデルのＣＧを描画する処理を行い（Ｓ３１９）、上記の処理ループを再開する（Ｓ３０２；ＮＯ，Ｓ３０３；ＮＯ，Ｓ３０４；ＮＯ，Ｓ３０５；ＮＯ）。
【００８５】
なお、ステップＳ３１９においてＣＧが描画されるＣＧ描画領域は、図１５に示されるように、マウス入力やキー入力を検出するための透明プレーンと、三次元モデル用のウインドウＢやウインドウＡを含む画面イメージが表示されたアプリケーションプレーンとの間に配置されたＣＧ描画プレーン上にある。
【００８６】
次に、本実施形態のコンピュータネットワークシステムの作用及び効果について、説明する。
【００８７】
ウェブクライアント装置１０の操作者が、ウェブアプリケーションサーバ装置２０内のＣＡＤアプリケーション２９の遠隔操作を行おうとして、ＣＡＤアプリケーション２９の実行指示コマンドを含むＵＲＬを指定して、ウェブブラウザ１７経由でウェブアプリケーションサーバ装置２０にアクセスすると、そのＣＡＤアプリケーション２９を操作するための画面のイメージが、ウェブブラウザ１７用のウインドウ内に表示される（Ｓ１０１〜Ｓ１０５）。この画面イメージの前側には、前述したように、マウス入力及びキー入力を検出するための透明プレーンが配置されており、ウェブクライアント装置１０の操作者が、ＣＡＤアプリケーション２９を操作しようとして、その画面上でマウス入力及びキー入力を行えば、その操作イベントの内容が、遠隔操作クライアントモジュール１８及び遠隔操作サーバモジュール２８の機能によって、ＣＡＤアプリケーション２９へ伝えられ、その操作イベントに応じて表示内容が変化した後の画面イメージが、ウェブウェブブラウザ用のウインドウに表示される（Ｓ３０３；ＹＥＳ，Ｓ３０６，Ｓ１０８；ＹＥＳ，Ｓ１２１〜Ｓ１２５）。このようにして、ＣＡＤアプリケーション２９は、ウェブブラウザ経由で遠隔操作されるようになる。
【００８８】
そして、このような操作イベントと画面イメージデータとの遣り取りを行っている最中において、ウェブクライアント装置１０に表示されたＣＡＤアプリケーション２９の操作画面上において、三次元モデルの作成（モデリング）を行うためのウインドウを開く指示がなされると、その三次元モデル用のウインドウ内に三次元モデルのＣＧを描画した後の画面のイメージデータが、ウェブアプリケーションサーバ装置２０からウェブクライアント装置１０へと送信されるのではなく、そのＣＧを描画するための描画コマンドが、ウェブクライアント装置１０へ送信される（Ｓ３０３；ＹＥＳ，Ｓ３０６，Ｓ１０８；ＹＥＳ，Ｓ１２１，Ｓ１２２，Ｓ１２３；ＹＥＳ，Ｓ１２４，Ｓ１２５，Ｓ１２６；ＹＥＳ，Ｓ１２７，Ｓ１２８）。ウェブクライアント装置１０は、その描画コマンドを受けて、自己のグラフィックアクセラレータを用いて、三次元モデルのＣＧを描画する（Ｓ３０５；ＹＥＳ，Ｓ３１１；ＮＯ，Ｓ３１３；ＹＥＳ，Ｓ３１４〜Ｓ３１７，Ｓ３１９）。
【００８９】
従って、本実施形態によれば、三次元モデルのＣＧを描画する処理は、ウェブアプリケーションサーバ装置２０のグラフィックアクセラレータにおいて行われるのではなく、ウェブクライアント装置１０のグラフィックアクセラレータにおいて行われるようになるので、ウェブクライアント装置１０において、三次元モデルのＣＧを高速描画させることができるようになる。
【００９０】
また、ウェブクライアント装置１０に表示されたＣＡＤアプリケーション２９の操作画面上において、モデリング用ウインドウ以外のウインドウ（二次元モデル作成（製図）用ウインドウ又はドロップダウンリストボックス等のＧＵＩパーツ）を表示する指示がなされると、そのウインドウのイメージのイメージデータが、ウェブアプリケーションサーバ装置２０からウェブクライアント装置１０へ送信されて、そのウインドウが、ウェブクライアント装置１０に表示される（Ｓ３０３；ＹＥＳ，Ｓ３０６，Ｓ１０８；ＹＥＳ，Ｓ１２１，Ｓ１２２，Ｓ１２３；ＮＯ，Ｓ１３１，Ｓ１３２，Ｓ３１１；ＹＥＳ，Ｓ３１２，）。このとき、このウインドウが表示されることによって一部が隠されることとなるモデリング用ウインドウがある場合には、そのモデリング用ウインドウ内のＣＧ描画領域が変形され、隠される部分に三次元モデルのＣＧが描画されないようになる（Ｓ１３４；ＹＥＳ，Ｓ１３５；ＹＥＳ，Ｓ１３６〜Ｓ１３９，Ｓ３０５；ＹＥＳ，Ｓ３１１；ＮＯ，Ｓ３１３；ＮＯ，Ｓ３１８）。これにより、製図用ウインドウ又はドロップダウンリストボックス等のＧＵＩパーツが、あたかも、モデリング用ウインドウの前側に配置されているかのように、表示されるようになるとともに、それにも拘わらず、三次元モデルのＣＧが、ウェブクライアント装置１０のグラフィックアクセラレータにて高速描画されることとなる。
【００９１】
（付記１）
一台以上のウェブクライアント装置のウェブブラウザウインドウ内においてウェブアプリケーションサーバ装置内のモデリング用アプリケーションを遠隔操作するためのウェブアプリケーションシステムであって、
前記ウェブアプリケーションサーバ装置が、
何れかの前記ウェブクライアント装置からの要求を受けて、前記モデリング用アプリケーションを操作するための画面のイメージを表示するための画面イメージデータを前記ウェブクライアント装置へ送信する画面送信部，
前記ウェブクライアント装置から前記画面上でなされた操作イベントを示す操作イベント情報を前記ウェブクライアント装置から受信する操作受信部，
前記操作受信部が受信した操作イベント情報により示される操作イベントが、前記画面にＣＧを表示すべき三次元モデルについてなされたものである場合に、前記モデリング用アプリケーションから、そのＣＧを描画するための描画コマンドを取得する描画コマンド取得部，及び、
前記描画コマンド取得部が取得した描画コマンドを前記ウェブクライアント装置へ送信する描画コマンド送信部
を備え、
前記ウェブクライアント装置が、
前記モデリング用アプリケーションを遠隔操作する要求を入力装置において操作者から受け付けると、その要求を前記ウェブアプリケーションサーバ装置へ送信する要求送信部，
前記ウェブアプリケーションサーバ装置から前記画面イメージデータを受信すると、その画面イメージデータに基づいて画面を表示する画面表示部，
前記画面上でなされた操作イベントを検出すると、その操作イベントを示す操作イベント情報を前記ウェブアプリケーションサーバ装置へ送信する操作送信部，
前記ウェブアプリケーションサーバ装置から描画コマンドを受信すると、その描画コマンドに基づく三次元モデルのＣＧを、前記画面のうちの三次元モデルのＣＧを描画すべき領域に描画するＣＧ描画部
を備える
ことを特徴とするウェブアプリケーションシステム。
【００９２】
（付記２）
コンピュータを、
通信装置を介して接続される一台以上のウェブクライアント装置の何れかからの要求を受けて、モデリング用アプリケーションを操作するための画面のイメージを表示するための画面イメージデータを、前記通信装置を介して前記ウェブクライアント装置へ送信する画面送信手段，
前記ウェブクライアント装置から前記画面上でなされた操作イベントを示す操作イベント情報を、前記通信装置を介して前記ウェブクライアント装置から受信する操作受信手段，
前記操作受信手段が受信した操作イベント情報により示される操作イベントが、前記画面にＣＧを表示すべき三次元モデルについてなされたものである場合に、前記モデリング用アプリケーションから、そのＣＧを描画するための描画コマンドを取得する描画コマンド取得手段，及び、
前記描画コマンド取得手段が取得した描画コマンドを、前記通信装置を介して前記ウェブクライアント装置へ送信する描画コマンド送信手段
として機能させる
ことを特徴とする遠隔操作サーバプログラム。
【００９３】
（付記３）
前記コンピュータを、更に、
前記操作受信手段が受信した操作イベント情報により示される操作イベントが、前記画面にＣＧを表示すべき三次元モデルについての操作以外の操作の操作イベントである場合に、前記モデリング用アプリケーションから、その操作イベントに対応する処理がなされた後の画面を表示するための画面データを取得する画面データ取得手段，
前記画面データ取得手段が取得した画面データの示す画面のイメージのイメージデータを生成する画面イメージ生成手段，及び、
前記画面イメージ生成手段が生成した画面イメージデータを、前記通信装置を介して前記ウェブクライアント装置へ送信する画面イメージ送信手段
として機能させる
ことを特徴とする付記２記載の遠隔操作サーバプログラム。
【００９４】
（付記４）
前記コンピュータを、更に、
前記操作受信手段が受信した操作イベント情報により示される操作イベントが、三次元モデルについての操作以外の操作の操作イベントである場合に、その操作がなされることにより、三次元モデルを表示すべき領域に表示されない部分が生ずるときには、その部分以外の残りの領域を三次元モデルのＣＧの描画領域として特定する表示領域特定手段，及び、
前記表示領域特定手段が特定したＣＧ描画領域を規定する情報を、前記通信装置を介して前記ウェブクライアント装置へ送信する表示領域送信手段
として機能させる
ことを特徴とする付記２又は３記載の遠隔操作サーバプログラム。
【００９５】
（付記５）
前記表示領域送信手段は、前記表示領域特定手段が特定した前記ＣＧ描画領域を幾つかの矩形領域に区分し、各矩形領域の位置に関する情報を、ＣＧ表示領域を規定する情報として、前記通信装置を介して前記ウェブクライアント装置へ送信する
ことを特徴とする付記４記載の遠隔操作サーバプログラム。
【００９６】
（付記６）
コンピュータを、
通信装置を介して接続されるウェブアプリケーションサーバ装置のモデリング用アプリケーションを遠隔操作する要求を入力装置において操作者から受け付ける要求受付手段，
前記要求受付手段が受け付けた要求を前記ウェブアプリケーションサーバ装置へ前記通信装置を介して送信する要求送信手段，
前記ウェブアプリケーションサーバ装置から前記通信装置を介して前記画面イメージデータを受信すると、その画面イメージデータに基づいて画面を表示装置に表示する画面表示手段，
前記画面上でなされた操作イベントを検出すると、その操作イベントを示す操作イベント情報を前記ウェブアプリケーションサーバ装置へ前記通信装置を介して送信する操作送信手段，及び、
前記ウェブアプリケーションサーバ装置から前記通信装置を介して描画コマンドを受信すると、その描画コマンドに基づく三次元モデルのＣＧを、前記画面のうちの三次元モデルのＣＧを描画すべき領域に描画するＣＧ描画手段
として機能させる
ことを特徴とする遠隔操作クライアントプログラム。
【図面の簡単な説明】
【００９７】
【図１】本実施形態のコンピュータネットワークシステムの構成を示す図
【図２】ウェブクライアント装置の構成を概略的に示す図
【図３】ウェブアプリケーションサーバ装置の構成を概略的に示す図
【図４】遠隔操作サーバモジュールに従ってＣＰＵが実行する処理の流れを示す図
【図５】遠隔操作サーバモジュールに従ってＣＰＵが実行する処理の流れを示す図
【図６】遠隔操作サーバモジュールに従ってＣＰＵが実行する処理の流れを示す図
【図７】遠隔操作サーバモジュールに従ってＣＰＵが実行する処理の流れを示す図
【図８】ウインドウ管理テーブルのデータ構造の一例を示す図
【図９】ウインドウ位置管理テーブルのデータ構造の一例を示す図
【図１０】図９に示されるウインドウ位置管理テーブルに登録されているウインドウを示した画面例
【図１１】分割処理により得られる各矩形領域を示す説明図
【図１２】分割処理により分割された矩形領域についての位置情報（左上隅のＸＹ座標値と右下隅のＸＹ座標値）を示す図
【図１３】遠隔操作クライアントモジュールに従ってＣＰＵが実行する処理の流れを示す図
【図１４】遠隔操作クライアントモジュールに従ってＣＰＵが実行する処理の流れを示す図
【図１５】透明プレーンとＣＧ描画プレーンとアプリケーションプレーンとの関係を示す説明図
【符号の説明】
【００９８】
１０    ウェブクライアント装置
１０ａ  表示装置
１０ｂ  入力装置
１０ｃ  本体
１１    ＣＰＵ
１２    ＤＲＡＭ
１３    通信アダプタ
１５    ＨＤＤ
１７    ウェブブラウザ
１８    遠隔操作クライアントモジュール
２０    ウェブアプリケーションサーバ装置
２１    ＣＰＵ
２２    ＤＲＡＭ
２３    通信アダプタ
２４    ＨＤＤ
２７    ウェブサーバプログラム
２８    遠隔操作サーバモジュール
２９    ＣＡＤアプリケーション
【図１】
2007004228.tif 000003
【図２】
2007004228.tif 000004
【図３】
2007004228.tif 000005
【図４】
2007004228.tif 000006
【図５】
2007004228.tif 000007
【図６】
2007004228.tif 000008
【図７】
2007004228.tif 000009
【図８】
2007004228.tif 000010
【図９】
2007004228.tif 000011
【図１０】
2007004228.tif 000012
【図１１】
2007004228.tif 000013
【図１２】
2007004228.tif 000014
【図１３】
2007004228.tif 000015
【図１４】
2007004228.tif 000016
【図１５】
2007004228.tif 000017