JP4302081B2 - ウェブアプリケーションシステム,遠隔操作サーバプログラム及び遠隔操作クライアントプログラム - Google Patents

ウェブアプリケーションシステム,遠隔操作サーバプログラム及び遠隔操作クライアントプログラム Download PDF

Info

Publication number
JP4302081B2
JP4302081B2 JP2005180271A JP2005180271A JP4302081B2 JP 4302081 B2 JP4302081 B2 JP 4302081B2 JP 2005180271 A JP2005180271 A JP 2005180271A JP 2005180271 A JP2005180271 A JP 2005180271A JP 4302081 B2 JP4302081 B2 JP 4302081B2
Authority
JP
Japan
Prior art keywords
screen
web
operation event
web client
window
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.)
Expired - Fee Related
Application number
JP2005180271A
Other languages
English (en)
Other versions
JP2007004228A (ja
Inventor
法義 石川
メイン ジェレミー
恵美子 毛塚
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2005180271A priority Critical patent/JP4302081B2/ja
Priority to US11/220,734 priority patent/US20060284867A1/en
Publication of JP2007004228A publication Critical patent/JP2007004228A/ja
Application granted granted Critical
Publication of JP4302081B2 publication Critical patent/JP4302081B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2111/00Details relating to CAD techniques
    • G06F2111/02CAD in a network environment, e.g. collaborative CAD or distributed simulation

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Processing Or Creating Images (AREA)
  • Information Transfer Between Computers (AREA)

Description

本発明は、ウェブクライアント装置のウェブブラウザウインドウ内においてウェブアプリケーションサーバ装置内のモデリング用アプリケーションを遠隔操作するためのウェブアプリケーションシステムと、このようなウェブアプリケーションシステムのウェブアプリケーションサーバ装置及びウェブクライアント装置としてコンピュータを機能させるための遠隔操作サーバプログラム及び遠隔操作クライアントプログラムとに、関する。
周知のように、ウェブアプリケーションサーバ装置は、サーバ側で起動されたアプリケーションによるサービスを、ネットワークを介してウェブクライアント装置上で提供する装置である。
従来、二次元モデルの作成(製図)を行うためのCAD[Computer Aided Design]サービスをウェブアプリケーションサーバ装置から提供することが、行われてきたが、最近では、3DCADやアニメーション製作のような三次元モデルの作成(モデリング)を行うためのサービスをウェブアプリケーションサーバ装置から提供することが、要求されつつある。
このようなモデリングに関するサービスを提供するに当たっては、ウェブアプリケーションサーバ装置が、三次元モデルについてアプリケーションが作成したCG[Computer Graphics]に基づいてビットマップ等のイメージデータを生成し、そのイメージデータをウェブクライアントへ送信する。ウェブクライアント装置は、そのイメージデータに基づいて、三次元モデルを一方向から見た状態のイメージを表示することとなる。
ところで、スタンドアロンのコンピュータにおいてモデリングを行うためのアプリケーションを起動している場合において、例えば三次元モデルのワイヤーフレームモデルやサーフェイスモデルをそれを見る方向を変化させて表示するときには、その三次元モデルが滑らかに向きを変えるようにCGが高速描画される。このような高速描画には、そのコンピュータに内蔵されるグラフィックアクセラレータが利用され、そのコンピュータのCPUに掛かる負荷の低減が図られている。
しかしながら、ウェブアプリケーションサーバ装置が提供するサービスによって、このような三次元モデルの向きを変えるようなCGの高速描画をウェブクライアント装置において行おうとしても、ウェブクライアント装置には、イメージデータしか提供されないため、グラフィックアクセラレータを用いたCGの高速描画は行えない。
また、ウェブアプリケーションサーバ装置において、CGの高速描画に追従させてイメージデータを高速で順次生成させることも考えられなくはないが、そうすると、ウェブアプリケーションサーバ装置に掛かる負荷がとてつもなく増大するとともに、ネットワークトラフィックが増加してしまうため、結局のところ、ウェブクライアント装置において、三次元モデルを、その向きが滑らかに変化するように表示させることができなくなると考えられる。
本発明は、前述した従来技術の有する問題点に鑑みてなされたものであり、その課題は、モデリングを行うためのサービスをウェブアプリケーションサーバ装置からウェブクライアント装置に提供する場合であっても、ウェブクライアント装置において三次元モデルのCGが高速描画されるようにすることにある。
上記の課題を解決するために発明されたウェブアプリケーションシステムは、一台以上のウェブクライアント装置のウェブブラウザウインドウ内においてウェブアプリケーションサーバ装置内のモデリング用アプリケーションを遠隔操作するためのウェブアプリケーションシステムであって、そのウェブアプリケーションサーバ装置が、何れかの前記ウェブクライアント装置からの要求を受けて、前記モデリング用アプリケーションを操作するための画面のイメージを表示するための画面イメージデータを前記ウェブクライアント装置へ送信する画面送信部,前記ウェブクライアント装置から前記画面上でなされた操作イベントを示す操作イベント情報を前記ウェブクライアント装置から受信する操作受信部,前記操作受信部が受信した操作イベント情報により示される操作イベントが、前記画面にCGを表示すべき三次元モデルについてなされたものである場合に、前記モデリング用アプリケーションから、そのCGを描画するための描画コマンドを取得する描画コマンド取得部,及び、前記描画コマンド取得部が取得した描画コマンドを前記ウェブクライアント装置へ送信する描画コマンド送信部を備え、一方、ウェブクライアント装置が、前記モデリング用アプリケーションを遠隔操作する要求を入力装置において操作者から受け付けると、その要求を前記ウェブアプリケーションサーバ装置へ送信する要求送信部,前記ウェブアプリケーションサーバ装置から前記画面イメージデータを受信すると、その画面イメージデータに基づいて画面を表示する画面表示部,前記画面上でなされた操作イベントを検出すると、その操作イベントを示す操作イベント情報を前記ウェブアプリケーションサーバ装置へ送信する操作送信部,前記ウェブアプリケーションサーバ装置から描画コマンドを受信すると、その描画コマンドに基づく三次元モデルのCGを、前記画面のうちの三次元モデルのCGを描画すべき領域に描画するCG描画部を備えることを、特徴としている。
このように構成されると、ウェブクライアント装置のウェブブラウザウインドウ内に、ウェブアプリケーションサーバ装置内のモデリング用アプリケーションを操作するための画面のイメージが表示されている場合において、その画面にCGを表示すべき三次元モデルについて操作がなされたときには、ウェブアプリケーションサーバ装置は、その三次元モデルのCGを描画した後の画面のイメージデータを、ウェブクライアント装置へ送信するのではなく、その三次元モデルのCGを描画するための描画コマンドを、ウェブクライアント装置へ送信する。これにより、ウェブクライアント装置は、その描画コマンドに従って、自己のグラフィックアクセラレータを用いて、三次元モデルのCGを描画することができるようになる。
また、上記の課題を解決するために発明された遠隔操作サーバプログラムは、コンピュータを、通信装置を介して接続される一台以上のウェブクライアント装置の何れかからの要求を受けて、モデリング用アプリケーションを操作するための画面のイメージを表示するための画面イメージデータを、前記通信装置を介して前記ウェブクライアント装置へ送信する画面送信手段,前記ウェブクライアント装置から前記画面上でなされた操作イベントを示す操作イベント情報を、前記通信装置を介して前記ウェブクライアント装置から受信する操作受信手段,前記操作受信手段が受信した操作イベント情報により示される操作イベントが、前記画面にCGを表示すべき三次元モデルについてなされたものである場合に、前記モデリング用アプリケーションから、そのCGを描画するための描画コマンドを取得する描画コマンド取得手段,及び、前記描画コマンド取得手段が取得した描画コマンドを、前記通信装置を介して前記ウェブクライアント装置へ送信する描画コマンド送信手段として機能させることを、特徴としている。
従って、この遠隔操作サーバプログラムは、コンピュータを、前述した本発明のウェブアプリケーションシステムを構成するウェブアプリケーションサーバ装置と同等の装置として機能させることができることになる。
また、上記の課題を解決するために発明された遠隔操作クライアントプログラムは、コンピュータを、通信装置を介して接続されるウェブアプリケーションサーバ装置のモデリング用アプリケーションを遠隔操作する要求を入力装置において操作者から受け付ける要求受付手段,前記要求受付手段が受け付けた要求を前記ウェブアプリケーションサーバ装置へ前記通信装置を介して送信する要求送信手段,前記ウェブアプリケーションサーバ装置から前記通信装置を介して前記画面イメージデータを受信すると、その画面イメージデータに基づいて画面を表示装置に表示する画面表示手段,前記画面上でなされた操作イベントを検出すると、その操作イベントを示す操作イベント情報を前記ウェブアプリケーションサーバ装置へ前記通信装置を介して送信する操作送信手段,及び、前記ウェブアプリケーションサーバ装置から前記通信装置を介して描画コマンドを受信すると、その描画コマンドに基づく三次元モデルのCGを、前記画面のうちの三次元モデルのCGを描画すべき領域に描画するCG描画手段として機能させることを、特徴としている。
従って、この遠隔操作クライアントプログラムは、コンピュータを、前述した本発明のウェブアプリケーションシステムを構成するウェブクライアント装置と同等の装置として機能させることができることになる。
以上に説明したように、本発明によれば、モデリングを行うためのサービスをウェブアプリケーションサーバ装置からウェブクライアント装置に提供する場合に、ウェブクライアント装置において三次元モデルのCGが高速描画されるようになる。
以下、添付図面を参照しながら、本発明を実施するための一つの形態について、説明する。
まず、本実施形態のコンピュータネットワークシステムの構成について、説明する。
図1は、本実施形態のコンピュータネットワークシステムの構成を示す図である。
本実施形態のコンピュータネットワークシステムは、一台以上のウェブクライアント装置10とウェブアプリケーションサーバ装置20とから構成されており、各装置10,20は、ネットワークNを介して互いに接続されている。
ウェブクライアント装置10について簡単に説明すると、このウェブクライアント装置10は、一般に市販されているパーソナルコンピュータに後述のウェブブラウザ17をインストールすることによって、ウェブクライアントとして機能させるようにした装置である。
ウェブアプリケーションサーバ装置20について簡単に説明すると、このウェブアプリケーションサーバ装置20は、メインフレーム等の汎用コンピュータに後述のページデータ26やウェブサーバプログラム27をインストールすることによって、ウェブサーバとして機能させるようにした装置である。
図2は、ウェブクライアント装置10の構成を概略的に示す図である。
ウェブクライアント装置10を構成するパーソナルコンピュータは、周知のように、液晶ディスプレイ等の表示装置10aと、キーボードやマウス等の入力装置10bと、これら装置に接続された本体10cとから、構成されている。
その本体10cは、CPU[Central Processing Unit]11,DRAM[Dynamic Random Access Memory]12,通信アダプタ13,MDD[Multi Disk Drive]14,及び、HDD[Hard Disk Drive]15等の周知なハードウエアを、内蔵しており、このうち、HDD15は、表示装置10aや入力装置10bにおける入出力の制御,通信アダプタ13におけるTCP/IP[Transmission Control Protocol/Internet Protocol]に従った通信の制御,及び、DRAM12やMDD14やHDD15の記憶領域(記憶素子,CD[Compact Disk],DVD[Digital Versatile Disk],HD[Hard Disk]の記憶領域)に対する読み書きの制御といった基本的な機能を多くのアプリケーションソフトウエアに提供するための基本ソフトウエア16を、記憶している。
そして、このウェブクライアント装置10のHDD15には、ウェブブラウザ17及び遠隔操作クライアントモジュール18が、インストールされている。
ウェブブラウザ17は、ウェブクライアントとしての機能をパーソナルコンピュータに付加するためのプログラムであり、より具体的には、ウェブクライアント装置10の操作者によって指定されたURL[Uniform Resource Locator]からページデータや画像データ等を取得してウェブページや画像などを表示装置10aに表示するためのプログラムである。
遠隔操作クライアントモジュール18は、ウェブアプリケーションサーバ装置20内のアプリケーションをウェブクライアント装置10において遠隔操作するためのプログラムである。この遠隔操作クライアントモジュール18は、マウスにおけるクリック若しくはドラッグ,又は、キーボードにおけるキー押下の操作イベントを検出する機能,その操作イベントに関する情報を、ウェブアプリケーションサーバ装置20にインストールされた後述の遠隔操作サーバモジュール28へ通知する機能,及び、その操作イベント情報を受けたアプリケーションが出力した処理結果をその遠隔操作サーバモジュール28から受信して表示する機能を、パーソナルコンピュータに付与する。
図3は、ウェブアプリケーションサーバ装置20の構成を概略的に示す構成図である。
ウェブアプリケーションサーバ装置20を構成する汎用コンピュータは、CPU21,DRAM22,通信アダプタ23,及び、HDD24等の周知なハードウエアを、内蔵しており、このうち、HDD24は、通信アダプタ23におけるTCP/IPに従った通信の制御,及び、DRAM22やHDD24の記憶領域(記憶素子,HDの記憶領域)に対する読み書きの制御といった基本的な機能を多くのアプリケーションソフトウエアに提供するための基本ソフトウエア25を、記憶している。
そして、このウェブアプリケーションサーバ装置20のHDD24には、ページデータ26,ウェブサーバプログラム27,遠隔操作サーバモジュール28,及び、CAD[Computer Aided Design]アプリケーション29が、インストールされている。
ページデータ26は、マークアップ言語で記述されたテキストを含むデータである。これらページデータ26は、ネットワークN上にウェブサイトを開設するために用意されたデータであり、これらページデータ26には、何れも、URLが定義されている。なお、ページデータ26のうちの一つは、後述のCADアプリケーション29の起動指示コマンドを含むものとなっている。
ウェブサーバプログラム27は、ウェブクライアント装置10からの要求を受けて要求されたページデータ26を送信するためのプログラムである。また、ウェブサーバプログラム27は、ウェブクライアント装置10が指定したURLのページデータ26がアプリケーションの起動指示コマンドを含むものである場合に、そのアプリケーションの起動を後述の遠隔操作サーバモジュール28に依頼する機能を実現するものとも、なっている。
遠隔操作サーバモジュール28は、前述したウェブクライアント装置10内の遠隔操作クライアントモジュール18と連携することによって、当該ウェブアプリケーションサーバ装置20内のアプリケーションのウェブクライアント装置10の操作者による遠隔操作を可能にするプログラムである。この遠隔操作サーバモジュール28は、ウェブクライアント装置10との間でRDP[Remote Desktop Protocol]或いはICA[Independedt Computing Architecture]等のプロトコルに従った通信を確立する機能,通信先のウェブクライアント装置10から操作イベント情報を受信する機能,その操作イベント情報の示す操作イベントの内容をアプリケーションに通知する機能,そのアプリケーションの処理結果を表示する画面イメージのイメージデータを生成する機能,そのイメージデータをRDP通信又はICA通信を通じてウェブクライアント装置10の遠隔操作クライアントモジュール18へ送信する機能を、汎用コンピュータに付与する。
CADアプリケーション29は、少なくとも、作業者が表示装置上で三次元モデルの作成(モデリング)を行うための機能を、コンピュータに付与するためのプログラムである。なお、このCADアプリケーション29は、二次元モデルの作成(製図)を行うための機能をも、コンピュータに付与できるものであっても良い。このCADアプリケーション29上で作成された三次元モデルは、CG[Computer Graphics]として表示装置に表示される。
次に、ウェブアプリケーションサーバ装置20において実行される処理のうち、本発明に関連する部分の内容について、説明する。
ウェブクライアント装置10の操作者が、入力装置10bを操作することによってウェブブラウザ17を起動すると、基本ソフトウエア16の機能により表示装置10aには、ウェブブラウザ17を操作するための画面が示されたウインドウが、表示される。そして、その操作者が、そのウインドウ内の画面の所定の入力欄に、CADアプリケーション29の起動指示コマンドを含むページデータ26のURLを入力し、アクセス指示を入力する。すると、ウェブブラウザ17(に従ったCPU11)が、そのURLを含む要求メッセージを、HTTP[HyperText Transfer Protocol]に従った通信にて、ウェブアプリケーションサーバ装置20のウェブサーバプログラム27(に従ったCPU21)へ送信する。
すると、ウェブサーバプログラム27は、要求メッセージを通じて指定されたURLにあるページデータ26を読み出す。そして、そのウェブサーバプログラム27が、CADアプリケーション29の起動指示コマンドがそのページデータ26に含まれていることを検出すると、それをトリガとして、遠隔操作サーバモジュール28を起動する。図4乃至図7は、この遠隔操作サーバモジュール28に従ってCPU21が実行する処理の流れを示す図である。
処理開始後、遠隔操作サーバモジュール28(に従ったCPU21)は、当該ウェブクライアント装置10のためにメモリ領域を確保し、指定されたCADアプリケーション29のプロセスをこのメモリ領域に生成する(S101)。なお、このメモリ領域では、表示中のウィンドウ及びアイコン等に関する情報や操作イベント情報も、管理される。また、各ウェブクライアント装置10毎に確保されたメモリ領域の生成及び削除は、別のメモリ領域にあるセッション空間において、遠隔操作サーバモジュール28により管理される。
続いて、遠隔操作サーバモジュール28は、遠隔操作クライアントモジュール18に対して仮想チャンネルを通じて、CADアプリケーション29に割り当てたポート番号を通知するとともに、この遠隔操作クライアントモジュール18との間で、RDP又はICAに従った通信を確立する(S102)。
その後、遠隔操作サーバモジュール28は、ステップS101において生成したプロセスから、CADアプリケーション29を操作するための画面を表示するための画面データを受け取るまで、待機する(S103;NO)。
そして、当該プロセスから画面データを受け取ると(S103;YES)、遠隔操作サーバモジュール28は、その画面データの示す画面イメージのイメージデータを生成し(S104)、そのイメージデータを応答メッセージに組み込むべきデータとしてウェブサーバプログラム27(に従ったCPU21による機能)に引き渡す(S105)。なお、ウェブサーバプログラム27は、このイメージデータを受け取ると、応答メッセージのボディに含んで、HTTP通信により、ウェブクライアント装置10のウェブブラウザ17へ送信する。ウェブブラウザ17は、その応答メッセージを受信すると、その応答メッセージに含まれるイメージデータに基づいて、当該CADアプリケーション29による画面イメージを、そのウェブブラウザ17用のウインドウ内に表示する。このとき、ウェブブラウザ17は、マウスのクリックやカーソル入力を検知するための透明プレーンをその画面イメージの前面に配置し、操作イベントがなされるのを待機する状態になる。
なお、以上に説明したステップS101〜S105を実行するCPU21は、前述した画面送信部及び画面送信手段に相当している。
ステップS105の実行後、遠隔操作サーバモジュール28は、ウェブクライアント装置10からのCADアプリケーション29の終了指示の受信,操作以外のイベントに関する情報の受信,及び、クリック若しくはドラッグ又はキー入力の操作イベントに関する操作イベント情報の受信の何れかがなされるまで、待機する(S106;NO,S107;NO,S108;NO)。なお、操作以外のイベントには、例えば、ウェブクライアント装置10において、ウェブブラウザ17用のウインドウの前側に別のアプリケーション用のウインドウが重なった後、再度ウェブブラウザ17用のウインドウを前側で表示する場合に、ウェブブラウザ17用のウインドウ内における当該CADアプリケーション29の画面イメージが欠けてしまうので、この画面イメージの再表示のため、遠隔操作クライアントモジュール18が、当該画面イメージのイメージデータを要求するイベントがある。
そして、このような処理ループ(S106;NO,S107;NO,S108;NO)の実行中に、ウェブクライアント装置10からRDP通信又はICA通信を通じて終了指示を受信したときには(S106;YES)、遠隔操作サーバモジュール28は、遠隔操作クライアントモジュール18との通信を切断し(S109)、当該プロセスを消去して(S110)、図4乃至図6に係る処理を終了する。
また、上記の処理ループ(S106;NO,S107;NO,S108;NO)の実行中に、ウェブクライアント装置10からRDP通信又はICA通信を通じて操作以外のイベントに関する情報を受信したときには(S107;YES)、遠隔操作サーバモジュール28は、当該プロセスに対し、CADアプリケーション29の画面を表示するための画面データの生成を指示して(S111)、その画面データを当該プロセスから受け取るまで待機する(S112;NO)。その後、画面データを受け取ると(S112;YES)、遠隔操作サーバモジュール28は、その画面データの示す画面イメージのイメージデータを生成し(S113)、そのイメージデータをRDP通信又はICA通信を通じてウェブクライアント装置10の遠隔操作クライアントモジュール18へ送信して(S114)、上記の処理ループを再開する(S106;NO,S107;NO,S108;NO)。
なお、イメージデータを受信した遠隔操作クライアントモジュール18は、そのイメージデータをウェブブラウザ17へ引き渡し、ウェブブラウザ17が、そのイメージデータに基づく画面イメージを、ウェブブラウザ17用のウインドウ内に表示する。
また、上記の処理ループ(S106;NO,S107;NO,S108;NO)の実行中に、ウェブクライアント装置10からRDP通信又はICA通信を通じて操作イベント情報を受信したときには(S108;YES)、遠隔操作サーバモジュール28は、操作イベントの内容を当該プロセスに通知する(S121)。なお、ステップS108を実行するCPU21は、前述した操作受信部及び操作受信手段に相当している。
その後、遠隔操作サーバモジュール28は、当該プロセスから、その応答データ、すなわち、操作イベントに従って実行して得られる処理結果を、受け取るまで待機する(S122;NO)。なお、CADアプリケーション29は、三次元モデルのCGを描画する処理に関しては、遠隔操作サーバモジュール28に依頼するようになっており、この場合、三次元モデルのCGを描画するための例えばOpenGLのコマンド群を、遠隔操作サーバモジュール28に引き渡す。また、三次元モデルのCGを描画する処理以外の処理については、CADアプリケーション29自身が行うようになっており、この場合、CADアプリケーション29は、操作イベントがなされることによって表示される二次元モデル作成(製図)用ウインドウ又はGUI[Graphical User Interface]パーツを表示するためのウインドウコンテンツデータを生成し、このウインドウコンテンツデータを遠隔操作サーバモジュール28に引き渡すようになっている。
そして、当該プロセスからデータを受け取ると(S122;YES)、遠隔操作サーバモジュール28は、そのデータに三次元モデル作成(モデリング)用ウインドウの作成コマンドが含まれているか否かを、判別する(S123)。
そして、当該プロセスから受け取ったデータにモデリング用ウインドウの作成コマンドが含まれていた場合(S123;YES)、遠隔操作サーバモジュール28は、そのデータに含まれるコマンド群でそのウインドウに三次元モデルが描画されることを定義するグラフィックコンテキストを、生成し(S124)、このグラフィックコンテキストをウインドウ管理テーブルに登録する(S125)。
具体的には、まず、当該プロセスは、CADアプリケーション29を操作するための画面内にある全てのウインドウに対し、それらを個別に識別するための識別情報として、ウインドウIDを割り当てており、遠隔操作サーバモジュール28は、モデリング用ウインドウのウインドウIDを当該プロセスより取得する。続いて、遠隔操作サーバモジュール28は、そのウインドウIDと生成したグラフィックコンテキストの格納位置を示す情報とからなるレコードを、ウインドウ管理テーブルに記録する。図8は、このウインドウ管理テーブル31のデータ構造の一例を示す図である。図8に示されるように、ウインドウ管理テーブル31は、CADアプリケーション29を操作するための画面内にある全てのモデリング用ウインドウと同じ数のレコードを有しており、それら各レコードは、「ウインドウID」及び「格納位置情報」のフィールドを有している。「ウインドウID」フィールドには、モデリング用ウインドウのウインドウIDが記録され、「格納位置情報」フィールドには、グラフィックコンテキストの格納位置を示す情報が記録される。
遠隔操作サーバモジュール28は、図8に示されるこのようなウインドウ管理テーブル31にグラフィックコンテキストを登録した後、当該プロセスから受け取ったデータがモデリング用ウインドウにおける三次元モデルのCGの描画コマンド群を含んでいるか否かを、判別する(S126)。
一方、遠隔操作サーバモジュール28は、当該プロセスから受け取ったデータにモデリング用ウインドウの作成コマンドが含まれていなかった場合(S123;NO)、グラフィックコンテキストの生成及び登録を行うことなく、当該プロセスから受け取ったデータがモデリング用ウインドウにおける三次元モデルのCGの描画コマンド群を含んでいるか否かを、判別する(S126)。
そして、当該プロセスから受け取ったデータがモデリング用ウインドウにおける三次元モデルのCGの描画コマンド群を含んでいた場合(S126;YES)、遠隔操作サーバモジュール28は、描画コマンド群を、独自プロトコルにて送信するための送信形態に変換する処理を行う(S127)。なお、グラフィック関連コマンドの一つ一つには、独自プロトコルで送信するため、別個の送信形態が事前に定義付けられており、遠隔操作サーバモジュール28は、この定義に従って、グラフィック関連コマンドを上記送信形態に変換する。例えば、Vというコマンドが属性値p,qを持つことができるものである場合においては、そのVというコマンドが、(1,p,q)のようなレコードに変換され、Wというコマンドが属性値r,s,tを持つことができるものである場合においては、そのWというコマンドが、(2,r,s,t)のようなレコードに変換されるように、処理がなされる。
なお、ステップS122及びS126を実行するCPU21は、前述した描画コマンド取得部及び描画コマンド取得手段に相当している。
その後、遠隔操作サーバモジュール28は、独自プロトコルに従った送信形態に変換した描画コマンド群を遠隔操作クライアントモジュール18へ送信する処理を行い(S128)、上記の処理ループ(図4)を再開する(S106;NO,S107;NO,S108;NO)。
一方、当該プロセスから受け取ったデータがモデリング用ウインドウにおける三次元モデルのCGの描画コマンド群を含んでいなかった場合(S126;NO)、そのデータは、製図用ウインドウ又はGUIパーツを表示するためのウインドウコンテンツデータであるので、遠隔操作サーバモジュール28は、そのウインドウコンテンツデータが示すウインドウ(製図用ウインドウ又はGUIパーツ)のイメージのイメージデータを生成する処理を行う(S131)。
続いて、遠隔操作サーバモジュール28は、そのウインドウを表示すべき位置を示す情報をウインドウコンテンツデータから読み取り、そのイメージデータと位置情報とを、RDP通信又はICA通信を通じてウェブクライアント装置10の遠隔操作クライアントモジュール18へ送信する処理を行う(S132)。なお、イメージデータと当該位置情報とを受信した遠隔操作クライアントモジュール18は、そのイメージデータをウェブブラウザ17へ引き渡し、ウェブブラウザ17が、そのイメージデータに基づく画面イメージを、CADアプリケーション29の操作画面内における当該位置情報にて示される位置に、表示する。
その後、遠隔操作サーバモジュール28は、CADアプリケーション29の操作画面内の全てのウインドウを当該プロセスが管理するために使用しているウインドウ位置管理テーブルを、当該プロセスから取得する(S133)。図9は、このウインドウ位置管理テーブル32のデータ構造の一例を示す図である。図9に示されるように、ウインドウ位置管理テーブル32は、CADアプリケーション29を操作するための画面内に含まれるウインドウの全てと同数のレコードを、有している。各レコードは、「ウインドウID」,「X1」,「Y1」,「X2」,「Y2」,及び、「前方表示順位」のフィールドを、有している。「ウインドウID」フィールドには、ウインドウIDが、記録される。なお、ここで言うウインドウとは、モデリング用ウインドウ及び製図用ウインドウとともに、ドロップダウンリストボックスやツールボックスなどのGUIパーツも含まれている。「X1」,「Y1」,「X2」及び「Y2」の各フィールドには、そのウインドウの左上隅のX座標及びY座標、並びに、そのウインドウの右下隅のX座標及びY座標が記録される。「前方表示順位」フィールドには、各ウインドウが重なって表示される場合において何れのウインドウを前側に表示すべきかを定義した優先順位が、記録される。
遠隔操作サーバモジュール28は、このようなウインドウ位置管理テーブル32を当該プロセスから取得した後、CADアプリケーション29の操作画面内において、当該プロセスから受け取ったウインドウコンテンツデータの示すウインドウが前側に配置されることによって隠されることとなるウインドウが存在するか否かを、判別する(S134)。
そして、CADアプリケーション29の操作画面内において、ウインドウコンテンツデータの示すウインドウが前側に配置されることによって隠されることとなるウインドウが存在していなかった場合(S134;NO)、遠隔操作サーバモジュール28は、上記の処理ループ(図4)を再開する(S106;NO,S107;NO,S108;NO)。
一方、CADアプリケーション29の操作画面内において、ウインドウコンテンツデータの示すウインドウが前側に配置されることによって一部が隠されることとなるウインドウが存在していた場合(S134;YES)、遠隔操作サーバモジュール28は、その一部が隠されることとなるウインドウにモデリング用ウインドウが含まれるか否かを、判別する(S135)。
そして、ウインドウコンテンツデータの示すウインドウが前側に配置されることによって一部が隠されることとなるウインドウにモデリング用ウインドウが含まれていなかった場合(S135;NO)、遠隔操作サーバモジュール28は、上記の処理ループ(図4)を再開する(S106;NO,S107;NO,S108;NO)。
一方、ウインドウコンテンツデータの示すウインドウが前側に配置されることによって一部が隠されることとなるウインドウにモデリング用ウインドウが含まれていた場合(S135;YES)、遠隔操作サーバモジュール28は、それらモデリング用ウインドウを一つずつ処理対象として特定することによって、各モデリング用ウインドウに対し、以下の処理を実行する(S136,S139;NO)。
すなわち、遠隔操作サーバモジュール28は、処理対象として一つのモデリング用ウインドウを特定すると(S136)、ウインドウ位置管理テーブルを参照して、その処理対象ウインドウにおいてその前側に他のウインドウが重なっている部分を除く全ての領域を、幾つかの矩形領域に分割する(S137)。
より具体的に説明する。図10は、図9に示されるウインドウ位置管理テーブル32に登録されているウインドウが示された操作画面の画面例であるが、この画面例において、ウインドウBは、モデリング用ウインドウとなっており、図8に示されるウインドウ管理テーブル31にも登録されている。ウインドウAは、ウインドウBの前側に表示されており、その一部が、ウインドウBの一部と重なっている。そして、このように配置されているウインドウBにおいて、ウインドウAと重複しない部分は、略凹字状になっている。このような具体例において、遠隔操作サーバモジュール28は、この略凹字状の部分を幾つ
かの矩形領域に分割する処理を行う。図11は、この分割処理により得られる各矩形領域を示す説明図である。この図11に示されるように、遠隔操作サーバモジュール28は、図10の例に示された略凹字状の部分を、それぞれ、ウインドウAよりも左側の部分(矩形領域Ba),ウインドウAの下側の部分(矩形領域Bb),ウインドウAよりも右側の部分(矩形領域Bc)の三つに分割する。図12は、分割処理により分割された矩形領域Ba〜Bcについての位置情報(左上隅のXY座標値と右下隅のXY座標値)を示す図である。
遠隔操作サーバモジュール28は、ステップS137の分割処理において、図12に示されるような矩形領域位置情報を生成した後、この処理対象ウインドウのウインドウIDと矩形領域位置情報とを、RDP通信又はICA通信を通じてウェブクライアント装置10の遠隔操作クライアントモジュール18へ送信する処理を行う(S138)。なお、遠隔操作クライアントモジュール18が、このウインドウIDと矩形領域位置情報とを受信したときに行う処理については、後述する。
遠隔操作サーバモジュール28は、ウインドウIDと矩形領域位置情報とを送信した後、ウインドウコンテンツデータの示すウインドウが前側に配置されることによって一部が隠されることとなるモデリング用ウインドウの全てについて、ステップS137及びS138の処理を実行し終えたか否かを判別し(S139)、未処理のモデリング用ウインドウが存在していた場合(S139;NO)、未処理のモデリング用ウインドウの中から一つを処理対象として特定して、再度、ステップS137及びS138を実行する。
そして、全てのモデリング用ウインドウについてステップS137及びS138を実行し終えると(S139;YES)、遠隔操作サーバモジュール28は、上記の処理ループ(図4)を再開する(S106;NO,S107;NO,S108;NO)。
次に、ウェブクライアント装置10において実行される処理のうち、本発明に関連する部分の内容について、説明する。
ウェブクライアント装置10の遠隔操作クライアントモジュール18は、図4のステップS102を実行する遠隔操作サーバモジュール28により、RDP通信又はICA通信を確立するための要求があると、それをトリガとして、起動される。図13及び図14は、この遠隔操作クライアントモジュール18に従ってCPU11が実行する処理の流れを示す図である。
処理開始後、遠隔操作クライアントモジュール18(に従ったCPU11)は、遠隔操作サーバモジュール28との通信を確立し(S301)、その後、遠隔操作サーバモジュール28との通信の切断,操作イベントの発生,操作以外のイベントの発生,及び、遠隔操作サーバモジュール28からのデータ受信の何れかがなされるまで、待機する(S302;NO,S303;NO,S304;NO,S305;NO)。
そして、このような処理ループ(S302;NO,S303;NO,S304;NO,S305;NO)の実行中に、遠隔操作サーバモジュール28から通信を切断するための要求があった場合(S302;YES)、遠隔操作クライアントモジュール18は、図13及び図14に係る処理を終了する。
また、上記の処理ループ(S302;NO,S303;NO,S304;NO,S305;NO)の実行中に、クリック若しくはドラッグ又はキー入力の操作イベントが発生した場合(S303;YES)、遠隔操作クライアントモジュール18は、その操作イベントを示す操作イベント情報をRDP通信又はICA通信を通じて遠隔操作サーバモジュール28へ送信する処理を行い(S306)、上記の処理ループを再開する(S302;NO,S303;NO,S304;NO,S305;NO)。
また、上記の処理ループ(S302;NO,S303;NO,S304;NO,S305;NO)の実行中に、操作以外のイベントが発生した場合(S304;YES)、遠隔操作クライアントモジュール18は、その操作以外のイベントに関する情報をRDP通信又はICA通信を通じて遠隔操作サーバモジュール28へ送信する処理を行い(S307)、上記の処理ループを再開する(S302;NO,S303;NO,S304;NO,S305;NO)。
また、上記の処理ループ(S302;NO,S303;NO,S304;NO,S305;NO)の実行中に、遠隔操作サーバモジュール28から、RDP通信若しくはICA通信、又は、前述した独自プロトコルに従った通信を通じて、データを受信した場合(S305;YES)、遠隔操作クライアントモジュール18は、受信データがイメージデータを含むデータであるか否かを、判別する(S311)。
そして、受信データがイメージデータを含むデータである場合(S311;YES)、遠隔操作クライアントモジュール18は、受信データに含まれる位置情報にて示される領域にイメージデータに基づくイメージを表示する処理を行い(S312)、上記の処理ループを再開する(S302;NO,S303;NO,S304;NO,S305;NO)。
一方、受信データがイメージデータを含むデータでない場合(S311;NO)、遠隔操作クライアントモジュール18は、受信データが描画コマンド群から上記送信形態へ変形されたレコードを含むデータであるか否かを、判別する(S313)。
そして、受信データが描画コマンド群から上記送信形態へ変形されたレコードを含むデータであった場合(S313;YES)、遠隔操作クライアントモジュール18は、送信データから描画コマンド群を復元する処理を行う(S314)。
続いて、遠隔操作クライアントモジュール18は、この描画コマンド群が未登録のウインドウへCGを描画するためのコマンド群であるか否かを、判別する(S315)。
そして、この描画コマンド群が未登録のウインドウへCGを描画するためのコマンド群であった場合(S315;YES)、遠隔操作クライアントモジュール18は、そのウインドウにそれらコマンド群で三次元モデルが描画されることを定義するグラフィックコンテキストを生成し(S316)、そのグラフィックコンテキストをウインドウ管理テーブルに登録する(S317)。なお、このウインドウ管理テーブルのデータ構造は、図7に示されるウインドウ管理テーブルと同様のデータ構造となっており、このウインドウ管理テーブル内の各レコードは、図7のサーバ側のウインドウIDと同じIDが記録されるフィールド,及び、クライアント側で生成されたグラフィックコンテキストの格納位置が記録されるフィールドを、有している。
遠隔操作クライアントモジュール18は、このようなウインドウ管理テーブルにグラフィックコンテキストを登録した後、描画コマンド群が持つウインドウIDにて示されるウインドウ内をCG描画領域として、描画コマンド群に従って三次元モデルのCGを描画する処理を実行する(S319)。その後、遠隔操作クライアントモジュール18は、上記の処理ループを再開する(S302;NO,S303;NO,S304;NO,S305;NO)。
一方、この描画コマンド群が未登録のウインドウへCGを描画するためのコマンド群でなかった場合(S315;NO)、遠隔操作クライアントモジュール18は、グラフィックコンテキストの生成及び登録する処理を行うことなく、描画コマンド群に従って三次元モデルのCGを描画する処理を実行し(S319)、上記の処理ループを再開する(S302;NO,S303;NO,S304;NO,S305;NO)。
また、受信データが描画コマンド群から上記送信形態へ変形されたレコードを含むデータでなかった場合(S313;NO)、受信データは、矩形領域位置情報を含むデータであるので、遠隔操作クライアントモジュール18は、受信データに含まれるウインドウIDにて示されるウインドウのCG描画領域を変形する処理を行う(S318)。図10及び図11の例を用いて説明すると、遠隔操作クライアントモジュール18は、受信データに含まれるウインドウIDにて示されるウインドウ内のCG描画領域(図10におけるウインドウBの領域)のうち、矩形領域位置情報にて規定される矩形領域Ba,Bb,Bcからなる略凹字状の部分を残し、その部分以外の領域(図10におけるウインドウAが重なっている部分)をCG描画領域から除去する。
遠隔操作クライアントモジュール18は、このようなCG描画領域の変形処理を行った後、CG描画領域に、三次元モデルのCGを描画する処理を行い(S319)、上記の処理ループを再開する(S302;NO,S303;NO,S304;NO,S305;NO)。
なお、ステップS319においてCGが描画されるCG描画領域は、図15に示されるように、マウス入力やキー入力を検出するための透明プレーンと、三次元モデル用のウインドウBやウインドウAを含む画面イメージが表示されたアプリケーションプレーンとの間に配置されたCG描画プレーン上にある。
次に、本実施形態のコンピュータネットワークシステムの作用及び効果について、説明する。
ウェブクライアント装置10の操作者が、ウェブアプリケーションサーバ装置20内のCADアプリケーション29の遠隔操作を行おうとして、CADアプリケーション29の実行指示コマンドを含むURLを指定して、ウェブブラウザ17経由でウェブアプリケーションサーバ装置20にアクセスすると、そのCADアプリケーション29を操作するための画面のイメージが、ウェブブラウザ17用のウインドウ内に表示される(S101〜S105)。この画面イメージの前側には、前述したように、マウス入力及びキー入力を検出するための透明プレーンが配置されており、ウェブクライアント装置10の操作者が、CADアプリケーション29を操作しようとして、その画面上でマウス入力及びキー入力を行えば、その操作イベントの内容が、遠隔操作クライアントモジュール18及び遠隔操作サーバモジュール28の機能によって、CADアプリケーション29へ伝えられ、その操作イベントに応じて表示内容が変化した後の画面イメージが、ウェブウェブブラウザ用のウインドウに表示される(S303;YES,S306,S108;YES,S121〜S125)。このようにして、CADアプリケーション29は、ウェブブラウザ経由で遠隔操作されるようになる。
そして、このような操作イベントと画面イメージデータとの遣り取りを行っている最中において、ウェブクライアント装置10に表示されたCADアプリケーション29の操作画面上において、三次元モデルの作成(モデリング)を行うためのウインドウを開く指示がなされると、その三次元モデル用のウインドウ内に三次元モデルのCGを描画した後の画面のイメージデータが、ウェブアプリケーションサーバ装置20からウェブクライアント装置10へと送信されるのではなく、そのCGを描画するための描画コマンドが、ウェブクライアント装置10へ送信される(S303;YES,S306,S108;YES,S121,S122,S123;YES,S124,S125,S126;YES,S127,S128)。ウェブクライアント装置10は、その描画コマンドを受けて、自己のグラフィックアクセラレータを用いて、三次元モデルのCGを描画する(S305;YES,S311;NO,S313;YES,S314〜S317,S319)。
従って、本実施形態によれば、三次元モデルのCGを描画する処理は、ウェブアプリケーションサーバ装置20のグラフィックアクセラレータにおいて行われるのではなく、ウェブクライアント装置10のグラフィックアクセラレータにおいて行われるようになるので、ウェブクライアント装置10において、三次元モデルのCGを高速描画させることができるようになる。
また、ウェブクライアント装置10に表示されたCADアプリケーション29の操作画面上において、モデリング用ウインドウ以外のウインドウ(二次元モデル作成(製図)用ウインドウ又はドロップダウンリストボックス等のGUIパーツ)を表示する指示がなされると、そのウインドウのイメージのイメージデータが、ウェブアプリケーションサーバ装置20からウェブクライアント装置10へ送信されて、そのウインドウが、ウェブクライアント装置10に表示される(S303;YES,S306,S108;YES,S121,S122,S123;NO,S131,S132,S311;YES,S312,)。このとき、このウインドウが表示されることによって一部が隠されることとなるモデリング用ウインドウがある場合には、そのモデリング用ウインドウ内のCG描画領域が変形され、隠される部分に三次元モデルのCGが描画されないようになる(S134;YES,S135;YES,S136〜S139,S305;YES,S311;NO,S313;NO,S318)。これにより、製図用ウインドウ又はドロップダウンリストボックス等のGUIパーツが、あたかも、モデリング用ウインドウの前側に配置されているかのように、表示されるようになるとともに、それにも拘わらず、三次元モデルのCGが、ウェブクライアント装置10のグラフィックアクセラレータにて高速描画されることとなる。
(付記1)
一台以上のウェブクライアント装置のウェブブラウザウインドウ内においてウェブアプリケーションサーバ装置内のモデリング用アプリケーションを遠隔操作するためのウェブアプリケーションシステムであって、
前記ウェブアプリケーションサーバ装置が、
何れかの前記ウェブクライアント装置からの要求を受けて、前記モデリング用アプリケーションを操作するための画面のイメージを表示するための画面イメージデータを前記ウェブクライアント装置へ送信する画面送信部,
前記ウェブクライアント装置から前記画面上でなされた操作イベントを示す操作イベント情報を前記ウェブクライアント装置から受信する操作受信部,
前記操作受信部が受信した操作イベント情報により示される操作イベントが、前記画面にCGを表示すべき三次元モデルについてなされたものである場合に、前記モデリング用アプリケーションから、そのCGを描画するための描画コマンドを取得する描画コマンド取得部,及び、
前記描画コマンド取得部が取得した描画コマンドを前記ウェブクライアント装置へ送信する描画コマンド送信部
を備え、
前記ウェブクライアント装置が、
前記モデリング用アプリケーションを遠隔操作する要求を入力装置において操作者から受け付けると、その要求を前記ウェブアプリケーションサーバ装置へ送信する要求送信部,
前記ウェブアプリケーションサーバ装置から前記画面イメージデータを受信すると、その画面イメージデータに基づいて画面を表示する画面表示部,
前記画面上でなされた操作イベントを検出すると、その操作イベントを示す操作イベント情報を前記ウェブアプリケーションサーバ装置へ送信する操作送信部,
前記ウェブアプリケーションサーバ装置から描画コマンドを受信すると、その描画コマンドに基づく三次元モデルのCGを、前記画面のうちの三次元モデルのCGを描画すべき領域に描画するCG描画部
を備える
ことを特徴とするウェブアプリケーションシステム。
(付記2)
コンピュータを、
通信装置を介して接続される一台以上のウェブクライアント装置の何れかからの要求を受けて、モデリング用アプリケーションを操作するための画面のイメージを表示するための画面イメージデータを、前記通信装置を介して前記ウェブクライアント装置へ送信する画面送信手段,
前記ウェブクライアント装置から前記画面上でなされた操作イベントを示す操作イベント情報を、前記通信装置を介して前記ウェブクライアント装置から受信する操作受信手段,
前記操作受信手段が受信した操作イベント情報により示される操作イベントが、前記画面にCGを表示すべき三次元モデルについてなされたものである場合に、前記モデリング用アプリケーションから、そのCGを描画するための描画コマンドを取得する描画コマンド取得手段,及び、
前記描画コマンド取得手段が取得した描画コマンドを、前記通信装置を介して前記ウェブクライアント装置へ送信する描画コマンド送信手段
として機能させる
ことを特徴とする遠隔操作サーバプログラム。
(付記3)
前記コンピュータを、更に、
前記操作受信手段が受信した操作イベント情報により示される操作イベントが、前記画面にCGを表示すべき三次元モデルについての操作以外の操作の操作イベントである場合に、前記モデリング用アプリケーションから、その操作イベントに対応する処理がなされた後の画面を表示するための画面データを取得する画面データ取得手段,
前記画面データ取得手段が取得した画面データの示す画面のイメージのイメージデータを生成する画面イメージ生成手段,及び、
前記画面イメージ生成手段が生成した画面イメージデータを、前記通信装置を介して前記ウェブクライアント装置へ送信する画面イメージ送信手段
として機能させる
ことを特徴とする付記2記載の遠隔操作サーバプログラム。
(付記4)
前記コンピュータを、更に、
前記操作受信手段が受信した操作イベント情報により示される操作イベントが、三次元モデルについての操作以外の操作の操作イベントである場合に、その操作がなされることにより、三次元モデルを表示すべき領域に表示されない部分が生ずるときには、その部分以外の残りの領域を三次元モデルのCGの描画領域として特定する表示領域特定手段,及び、
前記表示領域特定手段が特定したCG描画領域を規定する情報を、前記通信装置を介して前記ウェブクライアント装置へ送信する表示領域送信手段
として機能させる
ことを特徴とする付記2又は3記載の遠隔操作サーバプログラム。
(付記5)
前記表示領域送信手段は、前記表示領域特定手段が特定した前記CG描画領域を幾つかの矩形領域に区分し、各矩形領域の位置に関する情報を、CG表示領域を規定する情報として、前記通信装置を介して前記ウェブクライアント装置へ送信する
ことを特徴とする付記4記載の遠隔操作サーバプログラム。
(付記6)
コンピュータを、
通信装置を介して接続されるウェブアプリケーションサーバ装置のモデリング用アプリケーションを遠隔操作する要求を入力装置において操作者から受け付ける要求受付手段,
前記要求受付手段が受け付けた要求を前記ウェブアプリケーションサーバ装置へ前記通信装置を介して送信する要求送信手段,
前記ウェブアプリケーションサーバ装置から前記通信装置を介して前記画面イメージデータを受信すると、その画面イメージデータに基づいて画面を表示装置に表示する画面表示手段,
前記画面上でなされた操作イベントを検出すると、その操作イベントを示す操作イベント情報を前記ウェブアプリケーションサーバ装置へ前記通信装置を介して送信する操作送信手段,及び、
前記ウェブアプリケーションサーバ装置から前記通信装置を介して描画コマンドを受信すると、その描画コマンドに基づく三次元モデルのCGを、前記画面のうちの三次元モデルのCGを描画すべき領域に描画するCG描画手段
として機能させる
ことを特徴とする遠隔操作クライアントプログラム。
本実施形態のコンピュータネットワークシステムの構成を示す図 ウェブクライアント装置の構成を概略的に示す図 ウェブアプリケーションサーバ装置の構成を概略的に示す図 遠隔操作サーバモジュールに従ってCPUが実行する処理の流れを示す図 遠隔操作サーバモジュールに従ってCPUが実行する処理の流れを示す図 遠隔操作サーバモジュールに従ってCPUが実行する処理の流れを示す図 遠隔操作サーバモジュールに従ってCPUが実行する処理の流れを示す図 ウインドウ管理テーブルのデータ構造の一例を示す図 ウインドウ位置管理テーブルのデータ構造の一例を示す図 図9に示されるウインドウ位置管理テーブルに登録されているウインドウを示した画面例 分割処理により得られる各矩形領域を示す説明図 分割処理により分割された矩形領域についての位置情報(左上隅のXY座標値と右下隅のXY座標値)を示す図 遠隔操作クライアントモジュールに従ってCPUが実行する処理の流れを示す図 遠隔操作クライアントモジュールに従ってCPUが実行する処理の流れを示す図 透明プレーンとCG描画プレーンとアプリケーションプレーンとの関係を示す説明図
符号の説明
10 ウェブクライアント装置
10a 表示装置
10b 入力装置
10c 本体
11 CPU
12 DRAM
13 通信アダプタ
15 HDD
17 ウェブブラウザ
18 遠隔操作クライアントモジュール
20 ウェブアプリケーションサーバ装置
21 CPU
22 DRAM
23 通信アダプタ
24 HDD
27 ウェブサーバプログラム
28 遠隔操作サーバモジュール
29 CADアプリケーション

Claims (5)

  1. 一台以上のウェブクライアント装置のウェブブラウザウインドウ内においてウェブアプリケーションサーバ装置内のモデリング用アプリケーションを遠隔操作するためのウェブアプリケーションシステムであって、
    前記ウェブアプリケーションサーバ装置が、
    何れかの前記ウェブクライアント装置からの要求を受けて、前記モデリング用アプリケーションを操作するための画面のイメージを表示するための画面イメージデータを前記ウェブクライアント装置へ送信する画面送信部,
    前記ウェブクライアント装置から前記画面上でなされた操作イベントを示す操作イベント情報を前記ウェブクライアント装置から受信する操作受信部,
    前記操作受信部が受信した操作イベント情報により示される操作イベントが、前記画面にCGを表示するための三次元モデルについてなされたものである場合に、前記モデリング用アプリケーションから、そのCGを描画するための描画コマンドを取得する描画コマンド取得部,
    前記描画コマンド取得部が取得した描画コマンドを前記ウェブクライアント装置へ送信する描画コマンド送信部,
    前記操作受信部が受信した操作イベント情報により示される操作イベントが、前記画面にCGを表示するための三次元モデルについてなされたものでない場合に、前記モデリング用アプリケーションから、その操作イベントに対応する処理がなされた後の画面を表示するための画面データを取得する画面データ取得部,
    前記画面データ取得部が取得した画面データの示す画面のイメージのイメージデータを生成する画面イメージ生成部,及び、
    前記画面イメージ生成部が生成した画面イメージデータを前記ウェブクライアント装置へ送信する画面イメージ送信部
    を備え、
    前記ウェブクライアント装置が、
    前記モデリング用アプリケーションを遠隔操作する要求を入力装置において操作者から受け付けると、その要求を前記ウェブアプリケーションサーバ装置へ送信する要求送信部,
    前記ウェブアプリケーションサーバ装置から前記画面イメージデータを受信すると、そ
    の画面イメージデータに基づいて、三次元モデルのCGを描画すべき領域を除く領域に画面のイメージを表示する画面表示部,
    前記画面上でなされた操作イベントを検出すると、その操作イベントを示す操作イベント情報を前記ウェブアプリケーションサーバ装置へ送信する操作送信部,及び、
    前記ウェブアプリケーションサーバ装置から描画コマンドを受信すると、その描画コマンドに基づく三次元モデルのCGを、前記画面のうちの三次元モデルのCGを描画すべき領域に描画するCG描画部
    を備える
    ことを特徴とするウェブアプリケーションシステム。
  2. 前記ウェブアプリケーションサーバ装置が、
    前記操作受信部が受信した操作イベント情報により示される操作イベントが、三次元モデルについてなされたものでない場合に、その操作がなされることにより、三次元モデルを表示すべき領域に表示されない部分が生ずるときには、その部分以外の残りの領域を三次元モデルのCGの描画領域として特定する表示領域特定部,及び、
    前記表示領域特定部が特定したCG描画領域を規定する情報を前記ウェブクライアント装置へ送信する表示領域送信部
    を更に備え、
    前記ウェブクライアント装置が、
    前記CG描画領域を規定する情報を前記ウェブアプリケーション装置から受信すると、その情報に基づいて、三次元モデルのCGを描画すべき領域を変形する変形部
    を更に備える
    ことを特徴とする請求項1記載のウェブアプリケーションシステム。
  3. コンピュータを、
    通信装置を介して接続される一台以上のウェブクライアント装置の何れかからの要求を受けて、モデリング用アプリケーションを操作するための画面のイメージを表示するための画面イメージデータを、前記通信装置を介して前記ウェブクライアント装置へ送信する画面送信手段,
    前記ウェブクライアント装置から前記画面上でなされた操作イベントを示す操作イベント情報を、前記通信装置を介して前記ウェブクライアント装置から受信する操作受信手段,
    前記操作受信手段が受信した操作イベント情報により示される操作イベントが、前記画面にCGを表示するための三次元モデルについてなされたものである場合に、前記モデリング用アプリケーションから、そのCGを描画するための描画コマンドを取得する描画コマンド取得手段,
    前記描画コマンド取得手段が取得した描画コマンドを、前記通信装置を介して前記ウェブクライアント装置へ送信する描画コマンド送信手段,
    前記操作受信手段が受信した操作イベント情報により示される操作イベントが、前記画面にCGを表示するための三次元モデルについてなされたものでない場合に、前記モデリング用アプリケーションから、その操作イベントに対応する処理がなされた後の画面を表示するための画面データを取得する画面データ取得手段,
    前記画面データ取得手段が取得した画面データの示す画面のイメージのイメージデータを生成する画面イメージ生成手段,及び、
    前記画面イメージ生成手段が生成した画面イメージデータを、前記通信装置を介して前記ウェブクライアント装置へ送信する画面イメージ送信手段
    として機能させる
    ことを特徴とする遠隔操作サーバプログラム。
  4. 前記コンピュータを、更に、
    前記操作受信手段が受信した操作イベント情報により示される操作イベントが、三次元モデルについてなされたものでない場合に、その操作がなされることにより、三次元モデルを表示すべき領域に表示されない部分が生ずるときには、その部分以外の残りの領域を三次元モデルのCGの描画領域として特定する表示領域特定手段,及び、
    前記表示領域特定手段が特定したCG描画領域を規定する情報を、前記通信装置を介して前記ウェブクライアント装置へ送信する表示領域送信手段
    として機能させる
    ことを特徴とする請求項3記載の遠隔操作サーバプログラム。
  5. コンピュータを、
    通信装置を介して接続されるウェブアプリケーションサーバ装置のモデリング用アプリケーションを遠隔操作する要求を入力装置において操作者から受け付ける要求受付手段,前記要求受付手段が受け付けた要求を前記ウェブアプリケーションサーバ装置へ前記通信装置を介して送信する要求送信手段,
    前記ウェブアプリケーションサーバ装置から前記通信装置を介して前記画面イメージデータを受信すると、その画面イメージデータに基づいて、三次元モデルのCGを描画すべき領域を除く領域に画面のイメージを表示装置に表示する画面表示手段,
    前記画面上でなされた操作イベントを検出すると、その操作イベントを示す操作イベント情報を前記ウェブアプリケーションサーバ装置へ前記通信装置を介して送信する操作送信手段,及び、
    前記ウェブアプリケーションサーバ装置から前記通信装置を介して描画コマンドを受信すると、その描画コマンドに基づく三次元モデルのCGを、前記画面のうちの三次元モデルのCGを描画すべき領域に描画するCG描画手段
    として機能させる
    ことを特徴とする遠隔操作クライアントプログラム。
JP2005180271A 2005-06-21 2005-06-21 ウェブアプリケーションシステム,遠隔操作サーバプログラム及び遠隔操作クライアントプログラム Expired - Fee Related JP4302081B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2005180271A JP4302081B2 (ja) 2005-06-21 2005-06-21 ウェブアプリケーションシステム,遠隔操作サーバプログラム及び遠隔操作クライアントプログラム
US11/220,734 US20060284867A1 (en) 2005-06-21 2005-09-07 Web application system, web application server device and web client device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005180271A JP4302081B2 (ja) 2005-06-21 2005-06-21 ウェブアプリケーションシステム,遠隔操作サーバプログラム及び遠隔操作クライアントプログラム

Publications (2)

Publication Number Publication Date
JP2007004228A JP2007004228A (ja) 2007-01-11
JP4302081B2 true JP4302081B2 (ja) 2009-07-22

Family

ID=37572898

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005180271A Expired - Fee Related JP4302081B2 (ja) 2005-06-21 2005-06-21 ウェブアプリケーションシステム,遠隔操作サーバプログラム及び遠隔操作クライアントプログラム

Country Status (2)

Country Link
US (1) US20060284867A1 (ja)
JP (1) JP4302081B2 (ja)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8745173B1 (en) 2011-12-30 2014-06-03 hopTo Inc. Client computing system for and method of receiving cross-platform remote access to 3D graphics applications
US8190400B1 (en) * 2007-03-16 2012-05-29 The Mathworks, Inc. Thin client graphical presentation and manipulation application
US8766972B2 (en) * 2007-10-29 2014-07-01 Moshe Itzhak MARKOWITZ Method and system for efficient transmission of rich three-dimensional geometry and animation content over narrow band communication networks
US8433747B2 (en) * 2008-02-01 2013-04-30 Microsoft Corporation Graphics remoting architecture
JP5370131B2 (ja) * 2009-12-22 2013-12-18 セイコーエプソン株式会社 画像表示装置および制御方法
US9002946B2 (en) * 2010-08-25 2015-04-07 Autodesk, Inc. Dual modeling environment in which commands are executed concurrently and independently on both a light weight version of a proxy module on a client and a precise version of the proxy module on a server
FR2971071B1 (fr) * 2011-01-28 2013-07-26 Square Medias Systeme de conception assistee par ordinateur cao et son procede de mise en oeuvre
US8769052B1 (en) 2011-12-30 2014-07-01 hopTo Inc. Cloud-based server computing system for and method of providing cross-platform remote access to 3D graphics applications
US8766990B1 (en) 2011-12-30 2014-07-01 hopTo Inc. Server computing system for and method of providing cross-platform remote access to 3D graphics applications
US8838749B1 (en) 2011-12-30 2014-09-16 hopTo Inc. Cloud based client computing system for and method of receiving cross-platform remote access to 3D graphics applications
JP5957986B2 (ja) * 2012-03-14 2016-07-27 日本電気株式会社 描画支援装置、描画支援方法および描画支援プログラム
GB201415685D0 (en) * 2014-09-04 2014-10-22 Cadonix Ltd Methods
CN109710357B (zh) * 2018-12-24 2021-12-07 曙光信息产业(北京)有限公司 一种基于Unity3D引擎实现服务器操作的方法及系统

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3413201B2 (ja) * 1992-12-17 2003-06-03 セイコーエプソン株式会社 ウィンドウ型及び他の表示オペレーションのためのグラフィックス制御プレーン
US20060066609A1 (en) * 2004-09-28 2006-03-30 Iodice Arthur P Methods and systems for viewing geometry of an object model generated by a CAD tool

Also Published As

Publication number Publication date
JP2007004228A (ja) 2007-01-11
US20060284867A1 (en) 2006-12-21

Similar Documents

Publication Publication Date Title
JP4302081B2 (ja) ウェブアプリケーションシステム,遠隔操作サーバプログラム及び遠隔操作クライアントプログラム
US11797256B2 (en) Virtual workspace viewport following in collaboration systems
JP6417408B2 (ja) 空間的イベントマップを備えた共同システム
EP2291760B1 (en) Virtual desktop view scrolling
US9158434B2 (en) User interface virtualization profiles for accessing applications on remote devices
JP7529733B2 (ja) 物理的操作を用いたオブジェクト作成
US10545658B2 (en) Object processing and selection gestures for forming relationships among objects in a collaboration system
JP4933438B2 (ja) 分散型情報提示及びインタラクションのためのシステム
US20110214063A1 (en) Efficient navigation of and interaction with a remoted desktop that is larger than the local screen
KR20100038471A (ko) 커서 위치에 기초하는 콘텐츠 표시의 갱신
JP2008519340A5 (ja)
US20120278712A1 (en) Multi-input gestures in hierarchical regions
WO2019105191A1 (zh) 多元素交互方法、装置、设备和存储介质
JP2012242918A (ja) 情報処理装置、情報処理方法及びプログラム
US20210224302A1 (en) Systems and methods for coordinate-based search
US11915377B1 (en) Collaboration spaces in networked remote collaboration sessions
JP2000322600A (ja) インターネット3次元マルチウィンドウ制御表示システムおよびインターネット3次元マルチウィンドウ制御表示方法
US11397514B2 (en) Systems and methods for rotational video-like display of images of a gemstone in a viewer having a pan feature
Su et al. HPC enabled immersive and non-immersive visualization of large scale scientific data
JP6954045B2 (ja) 画像処理システム、ユーザインタフェースの提供方法、およびコンピュータプログラム
JP2002074400A (ja) ナビゲーション・システム及びナビゲーション方法、並びに記憶媒体
JP2004310348A (ja) 情報検索装置
JP2006244093A (ja) 表示情報生成装置、プログラム、コンピュータ読み取り可能な記録媒体
JP2001142815A (ja) 遠隔データ収集システム

Legal Events

Date Code Title Description
RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20071116

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20071210

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20081111

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090106

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090203

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090226

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: 20090414

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090421

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120501

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120501

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130501

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130501

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees