(57)【特許請求の範囲】
【請求項１】
コンピュータ・ネットワークで少なくとも一人のユーザによって物理的装置、機器、及びプロセスの協調的な、遠隔操作を提供するためのシステムであって、  データによって記述される少なくとも一つの物理プロセスを実行するための装置と、
上記物理プロセスを制御し且つ上記データを上記装置から収集する機能を有するラボ・サーバと、
少なくとも一つのクライアント・プロセスとを備え、
該クライアント・プロセスがユーザ及び上記ラボ・サーバと通信し、該クライアント・プロセスが上記物理プロセスを制御するために命令を上記ラボ・サーバに発行し、該クライアント・プロセスが上記物理プロセスを記述する上記データを受け取り且つ該データをリアルタイムで該ユーザにリレーし、
接続サーバを更に備え、該接続サーバが該ラボ・サーバ及び該クライアント・プロセスと通信し、該接続サーバがコンピュータ・ネットワークで上記ユーザと上記ラボ・サーバ及びクライアント・プロセスとの間でデータ及び命令を送る、上記システム。
【請求項２】
上記物理プロセスは、ユーザによって観察することができる、請求項１に記載のシステム。
【請求項３】
上記データは、ダイナミックである、請求項１に記載のシステム。
【請求項４】
上記ダイナミックデータは、ライブ画像の形式である、請求項３に記載のシステム。
【請求項５】
上記ダイナミックデータは、テーブルの形式である、請求項３に記載のシステム。
【請求項６】
上記ダイナミックデータは、グラフィック画像の形式である、請求項３に記載のシステム。
【請求項７】
上記ダイナミックデータは、ＬＥＤディスプレイ上に表示可能なデータである、請求項３に記載のシステム。
【請求項８】
多数のユーザが協調的な方法で物理プロセスを制御する、請求項１に記載のシステム。
【請求項９】
上記データは、上記物理プロセスに関するイベントの発生により、ユーザに伝送される、請求項１に記載のシステム。
【請求項１０】
上記データは、ユーザの要求に応じてユーザに伝送される、請求項１に記載のシステム。
【請求項１１】
上記接続サーバは、上記少なくとも一つのクライアント・プロセスと上記ラボ・サーバとの間で完全二重二地点間データ伝送を支持する、請求項１に記載のシステム。
【請求項１２】
上記接続サーバは、上記少なくとも一つのクライアント・プロセスと上記ラボ・サーバとの間で完全二重一対多点間データ伝送を支持する、請求項１に記載のシステム。
【請求項１３】
上記ラボ・サーバは、上記接続サーバとは別のコンピュータに配置される、請求項１に記載のシステム。
【請求項１４】
多数の物理プロセスを管理する多数のラボ・サーバを更に含む、請求項１に記載のシステム。
【請求項１５】
上記ラボ・サーバは、マルチスレッド・ソフトウェアとして実現される、請求項１に記載のシステム。
【請求項１６】
データベース及びデータベース・サーバを更に含み、該データベースが上記物理プロセスを記述するデータを含み、該データベース・サーバが上記ラボ・サーバ及び上記接続サーバと通信し、該データベース・サーバが該データベースに含まれた該データを管理する、請求項１に記載のシステム。
【請求項１７】
上記データベースは、ユーザ識別に関する情報を含む、請求項１６に記載のシステム。
【請求項１８】
上記データベースは、上記物理プロセスを記述する上記データを含む、請求項１６に記載のシステム。
【請求項１９】
カメラを更に含み、該カメラが上記物理プロセスの近くに配置され、該カメラが上記接続サーバと通信し、該カメラが上記物理プロセスの画像を上記接続サーバを介して上記ユーザに伝送する、請求項１に記載のシステム。
【請求項２０】
上記カメラは、ビデオカメラを含み、上記システムがビデオ・サーバを更に含み、該ビデオ・サーバが該カメラ及び上記接続サーバと通信し、該ビデオ・サーバが該物理プロセスのライブ画像を獲得し、該ビデオ・サーバがビデオ・キャプチャ・ハードウェアを含む、請求項１９に記載のシステム。
【請求項２１】
上記ラボ・サーバ、上記接続サーバ、及び上記クライアント・プロセスとの間の通信は、データ・パケットを含み、該データ・パケットが上記パケットのサイズを記述する情報、宛先識別子、ソース識別子、及び該ラボ・サーバについての命令を含む、請求項１に記載のシステム。
【請求項２２】
上記データ・パケットは、上記命令を定義するパラメータ情報を更に含む、請求項２１に記載のシステム。
【請求項２３】
上記データ・パケットは、圧縮ビデオ・データを含む、請求項２１に記載のシステム。
【請求項２４】
上記ビデオ・データは、離散余弦変換が実行される画像データを含む、請求項２３に記載のシステム。
【請求項２５】
上記ビデオ・データは、理想的な離散余弦変換データが控除される画像データを含む、請求項２１に記載のシステム。
【請求項２６】
上記クライアント・プロセスは、ユーザ・インターフェイスを含む、請求項１に記載のシステム。
【請求項２７】
上記ユーザ・インターフェイスは、グラフィック画像を含み、該グラフィック画像が上記物理プロセスについての制御を表し、該グラフィック画像が上記ユーザによる操作をすることができ、該クライアント・プロセスが該操作に応じて命令を該ラボ・サーバに発行し、該命令が該物理プロセスを制御するために該ラボ・サーバによって用いられる、請求項２６に記載のシステム。
【請求項２８】
上記ユーザ・インターフェイスは、上記物理プロセスを記述する上記データを上記ユーザにグラフィック形式で表示する、請求項２６に記載のシステム。
【請求項２９】
コンピュータ・ネットワークで少なくとも一つの遠隔のユーザによって物理的装置、機器及びプロセスの対話式遠隔操作を提供する方法であって、
ラボ・サーバが物理プロセスを制御し且つ該物理プロセスを記述するデータを収集し、  接続サーバが上記ラボ・サーバからのデータをリアルタイムで少なくとも一つのクライアント・プロセスに分配し、該クライアント・プロセスが上記遠隔ユーザを表し、
上記接続サーバが上記クライアント・プロセスからのコマンドを受け入れ、該コマンドが上記物理プロセスの制御を指示し、
上記ラボ・サーバが上記受け入れたコマンドを実行し、
上記接続サーバがデータを上記クライアント・プロセスに送り上記コマンドが実行されたことを示す、段階を含む、上記方法。
【請求項３０】
上記データは、データ・ネットワーク・プロトコルによりパケットにエンコード（符号化）される、請求項２９に記載の方法。
【請求項３１】
上記データは、上記物理プロセスに関するイベントの発生によりユーザに伝送される、請求項２９に記載の方法。
【請求項３２】
上記データは、ユーザ要求に応じてユーザに伝送される、請求項２９に記載の方法。
【請求項３３】
上記物理プロセスを制御するコマンドを協調的に発行する多数のクライアント・プロセスにデータを送る段階を含む、請求項２９に記載の方法。
【請求項３４】
上記データを送る段階は、圧縮ビデオ・データを送ることを含む、請求項２９に記載の方法。
【請求項３５】
上記ラボ・サーバが上記データにコンピュータ分析を実行する段階を更に含む、請求項２９に記載の方法。
【請求項３６】
上記データをデータベースに記憶する段階を更に含む、請求項２９に記載の方法。
【請求項３７】
上記パケットは、一つのクライアントから上記ラボ・サーバに上記接続サーバによって送られる、請求項２９に記載の方法。
【請求項３８】
上記パケットは、上記ラボ・サーバから一つのクライアントに上記接続サーバによって送られる、請求項２９に記載の方法。
【請求項３９】
上記パケットは、第１のクライアントから第２のクライアントに上記接続サーバによって送られる、請求項２９に記載の方法。
【請求項４０】
上記パケットは、第１のクライアントから上記多数のクライアントに上記接続サーバによって送られる、請求項２９に記載の方法。
【請求項４１】
上記パケットは、第１のクライアントから上記ラボ・サーバ及び上記多数のクライアントに上記接続サーバによって送られる、請求項２９に記載の方法。
【発明の詳細な説明】
【０００１】
（技術分野）
本発明は、広く、遠距離通信および研究室における物理プロセスの遠隔制御に関する。より特定的には、本発明は、コンピュータ・ネットワークを介した、実験室における物理プロセスの制御に関する。
【０００２】
（背景技術）
通信教育は、インターネット革命によって推進される爆発的分野である。しかしながら、科学および工学における現在の通信教育の実施の重要な構成要素に欠けているのは：実験室での実験である。授業での実験は学習経験を向上させ、および複雑な論理的概念に、実体的感覚を与える。しかしながら、費用が障害である。多くの総合大学、単科大学、高校および小学校は、実験室で実験をするための十分なリソースが不足している。設備の費用が重要な要素なだけではなく、実験室に人員を配置することに関連する賃金も、かなり高い。実験室の要素がなければ、通信教育プログラムは、従来の教育方法に劣るだけでなく、前記プログラムは、基本的認可基準を満足させることもできない。従来の実験室での教育プログラムが、費用がかかるのは、高い訓練を受けた職員が、プログラムを設計し、実施し、および維持するために必要とされるからであり、一方で、あまり頻繁に使用しないことが、多額の固定費の一因となる。このように、実験室での実験を必要とする科学課程は、通信教育の応用に対する大きな障害である。
【０００３】
インターネット等のグローバル・コンピュータ・ネットワークの最も強い特徴の一つは、複数のユーザに、リソースへの多数対一（many-to-one）である。実験室は多数によって容易に使用されるリソースの種類である。そして実験室へのアクセスよりも、インターネットに接続されたコンピュータへのアクセスを有する人の方が、世界にずっと多くいる。しかしながら、実験室の環境における物理プロセスを実施するためには、データ収集と同様に、設備操作等の物理プロセスからのフィードバック、生徒または他のユーザに供給されなければならない。このように、実験室がインターネットを介してアクセスされることになっている場合に、正確に再現されなければならないのは、実験室の“外観と感触（look and feel）”である。実験室のユーザは、実験室での物理プロセスを操作するために、迅速にデータを収集し、解析する必要があるだけでなく、前記ユーザは、プロセス中に何が起こっているかを見ることができなければならない。
【０００４】
インターネットを介してリアル・タイムでビデオ・データを移送することは、オンライン実験室等の応用に対する主な障害である。送信されることを求められるデータの完全な量はしばしば、実施することが不可能でないのなら、オンライン実験室の実験を難しくする遅延を経験する。
【０００５】
このように、ユーザが、コンピュータ・ネットワークを介して、遠隔的に配置された実験室において実施される物理プロセスを操作し、および最小の遅延で、物理プロセス中にデータおよびビデオ・フィードバックを供給できるようにするシステムおよび方法に対する必要性が存在する。
【０００６】
（発明の開示）
本発明は、異なる物理な場所からの複数のユーザが、インターネットまたはプライベート・イントラネット等のコンピュータ・ネットワークを介して、同期または非同期に、物理プロセスまたは環境にアクセスし、観察し、制御し、および操作することができるようにする。情報を分配する独自の方法を供給し、前記技術はその結果、通信教育、臨床医療、石油探査、薬剤開発、化学、物理、汚染監視、気象データ収集、および器具が、物理および他のプロセスに関するデータを供給する多くの他の分野等、様々な活動において適用されうる情報を共有する新しい方法をもたらす。
【０００７】
インターネット等、コンピュータ・ワークに接続されたユーザは、リアルタイムで装置やプロセスを制御する等の仕事を実行することができる。オンライン・スケジューリングを通して実験室の授業を確保することによって、ユーザは、予定された期間中、実験に対して安全で排他的なアクセスを有してもよい。本発明の特徴は：ライブ・ビデオおよびデータ・ストリームを含む。この特徴において、ユーザは、視覚的に、物理的な設定および実験あるいは環境の状態を監視してもよい。他の特徴は、器具システムとの、リアルタイム２方向通信である。ユーザは直接実験器具を制御し、および入力コマンドに関するライブ・フィードバックを受信してもよい。他の特徴において、リアルタイム計算解析が実行されてもよい。計測データがデータベースへと収集されてもよいだけではなく、計算解析、すなわち統計学的変換が生成され、収集されている計測値として表示されうる。他の特徴において、本発明はオンライン・ユーザ・ノートを統合するユーザ・インターフェースを供給する。前記ノートはユーザに、収集されたデータ、実験パラメータ、やるべきことのリスト、個人的な注記等のユーザ・データを管理するためのインターフェースを供給する。
【０００８】
（発明を実施するための最良の形態）
図１Ａは、インターネット等のコンピュータ・ネットワーク５０を介して、実験室における装置を操作するコンピュータ６０に接続されたコンピュータ１０を示す。コンピュータ１０、６０は、中央演算装置（ＣＰＵ）、様々なメモリ、を利用し、および集積回路をサポートするプロセッサ・シャーシを統合する、従来の設計を有してもよい。キーボード１２およびモニタ１６（１４）がプロセッサに接続される。ユーザは、コンピュータ１０で実行されるプログラムにおいて選択をするために、モニタ１４の画面上を動くカーソルを操作するために、キーボード１２またはマウス１８を用いてコンピュータ１０を制御してもよい。フロッピー（登録商標）・ドライブ２０およびハード・ディスク２２も、コンピュータ１０、６０に統合されてよい。
【０００９】
デスクトップ・タイプのコンピュータが図１に記載されているが、ワークステーション、ラップトップ、パームトップ、非プログラム式端末（dumb terminals）、または他のコンピュータと通信することができるあらゆるコンピュータ等、他の形式のコンピュータが、本発明との関係で使用されてもよいことが理解されるべきである。
【００１０】
コンピュータ１０、６０は、モデムおよび電話回線を介して、コンピュータ・ネットワーク５０で通信してもよい。オペレーティング・システムおよびブラウザ・プログラムも、ユーザが、実験室にアクセスできるように、コンピュータ１０、６０に含まれてもよい。しかしながら、直接接続または高速データ回線等、他の媒体も使用されてよい。上述の通り、前記コンピュータ・ネットワーク５０は、多数のノードおよびコンポーネントを統合する、大きく、複雑なシステムかもしれない。
【００１１】
コンピュータ６０は、物理プロセスが実施されるべき実験室に配置される。例示の目的で、レーザおよび光学設備の操作がここで説明されているが、他の種類の物理プロセスが、本発明との関係で使用されてもよいことが理解されるべきである。インターフェース６２は、ユーザにレーザー６４を制御させるコンピュータ６０におけるプロセッサに接続される。レーザー６４からのビームは、インターフェース６２によって、テーブル６８の上に調節されてもよい、様々な光学設備６６を通るように向けられてもよい。本発明の一つの実施例において、インターフェース６２は、レーザー６４を制御し、および監視するために、ＰＣＩ−ＧＰＩＢボードを使用してもよい。光学設備６６によって処理されていたレーザー・ビームの画像を獲得するために、デジタル画像をＩＭＡＱ  ＰＣＩ−１４２４ボードに送信するＣＣＤ検出装置が使用されてもよい。光学設備６６は、前記設備が搭載される、モーター付きステージによって機械的に調節され、および整列されてもよい。プロセスおよび設備のライブ・ピクチャ（live picture）を表示するために、ＩＭＡＱ  ＰＣＩ−１４０８を使用して、カメラ７０からのアナログ・ビデオ信号をデジタル化してもよい。カメラ７０の動きは、コンピュータ６０に記憶され、およびコンピュータ６０において実行されてもよい、ＬａｂＶｉｅｗ等のソフトウェア・アプリケーションを通して利用可能なモーション・コントロール・システムによって制御されてもよい。カメラ７０は、物理プロセスのビデオ・フィードバックを供給するために、フレーム・グラバー７２を備え、およびコンピュータ６０のプロセッサ上で実行されてもよいビデオ・サーバ７２によって制御される。コンピュータ６０上のシステム・ソフトウェアは、ライブ・データ解析ソフトウェアの開発速度を上げるために、高速フーリエ変換（ＦＦＴ）ルーチン等の画像処理ライブラリを供給する、ＩＭＡＱ  Ｖｉｓｉｏｎ  ｆｏｒ  Ｇも含むかもしれない。
【００１２】
図１Ｂに注意を向けると、システム・アーキテクチャ１００は、コンピュータ・ネットワークを介して、物理プロセス１１０とオンライン・ユーザとの間の２方向通信を容易にするハードウェアおよびソフトウェアを統合する。前記システムは、機能に基づいて、いくつかのプロセスに分割することができる：物理プロセス１１０、ラボ・サーバ（lab server）１１２、接続サーバ１１４、クライアント１１８、データベース・サーバ１２０である。これらのプロセスは、コンピュータ等の計算装置で実行されるソフトウェア・プログラムとして実装されることができる。ここで使用されるとおり、物理プロセス１１０は、ＧＰＩＢ、ＲＳ−２３２、ＰＣＩ、ＵＳＢ、イーサネット（登録商標）（ｅｔｈｅｒｎｅｔ）等の様々なインターフェースへの検出装置、センサ、モータ、電源等の電子機器によって検出され、計測され、定量化され、および／または制御されることができる物理的、生物学的および／または化学的プロセスあるいは現象であると定義され、前記電子機器は、物理プロセス１１０を監視しならびに制御し、およびラボ・サーバ・プロセス１１２を稼動させるコンピュータ６０と通信する。
【００１３】
物理プロセス１１０からのデータは、データベース・サーバ１２０を介してデータベースに記憶し、および／または接続サーバ１１４を介してクライアント１１８に分配する目的で、ラボ・サーバ１１２によって収集される。データを送信する前に、ラボ・サーバ１１２は、統計およびＦＦＴ計算等のデータの解析および変換を実行することもできる。ラボ・サーバ１１２は、接続サーバ１１４を通して制御コマンド等、クライアント１１８からのデータの受信もする。これらのコマンドを解析した後、ラボ・サーバ１１２は、前記コマンドを、電子機器または設備（すなわち、レーザー、モーター、検出装置等）に渡す。図１Ｂに記載のとおり、複数の物理プロセス１１０、すなわち、物理プロセス１１０−１および物理プロセス１１０−１２が、複数のラボ・サーバ１１２−１、１１２−２と同様に存在する。
【００１４】
接続サーバ１１４は、データ・ソースから適切な宛先への情報を受け取り、検査し、および送信するデータのディストリビュータとして機能する。接続サーバ１１４は、クライアント１１８、ラボ・サーバ１１２、およびデータベース・サーバ１２０の間の全二重ポイントツウポイントおよびポイントツウマルチポイントデータ送信をサポートする。いくつかの送信モードが後述されるであろう。さらに、接続サーバ１１４は、プロセス全体を通して、ネットワーク接続の状態の監視もする。
【００１５】
クライアントのプロセス１１８は、ユーザの入力および出力機能のために、ユーザ・インターフェース（ＵＩ）を供給する。クライアントのプロセス１１８は、デスクトップ・コンピュータ等のクライアントの計算装置上で稼動されることができるソフトウェア・プログラムとして実行される。クライアントはまた、接続サーバ１１４との２方向通信も確立する。接続サーバ１１４からのデータは、ビデオ、グラフ、ＬＥＤディスプレイ等の関連するフォーマットに従って、デコードされ、および表示される。
【００１６】
好ましい実施例において、上述のプロセス間の通信は、データ・ネットワーク・プロトコル（ＤＮＰ）等の共通言語を用いて実行される。様々なデータ・タイプを送る他に、ＤＮＰは、異なるプロセス間の、ネットワークおよび通信関連のメッセージも運ぶ。ＤＮＰパケット・フォーマットも、後の節で説明される。
【００１７】
ラボ・サーバ１１２は、物理プロセスの直接的ローカル制御をするために、物理プロセス１１０の場所に存在してもよい。ラボ・サーバ１１２は、物理プロセス１１０からのデータを同報し、同様にクライアント１１８からの要求に基づいて、物理プロセス１１０を制御するプロセスである。ラボ・サーバ１１２は、インターネット１１６等のコンピュータ・ネットワークで通信機能を実行するマルチスレッド・ソフトウェアとして実装されうる。普遍的な、および信頼できる通信を供給するために、すべてのデータは、トランスミッション・コントロール・プロトコル／インターネット・プロトコル（ＴＣＰ／ＩＰ）等の、標準接続に基づいたネットワーク・プロトコルを用いて送信されうる。各接続（この場合、ラボ・サーバ・プロセス１１２、接続サーバ・プロセス１１４、およびクライアント１１８の間）は、共通してネットワークまたはＩＰアドレスおよびポート・ナンバーを含むソケットと呼ばれる。しかしながら、データ自身および他の通信メッセージは、データ・ネットワーク・プロトコル（ＤＮＰ）と呼ばれるフォーマットでコード化される。ＯＳＩネットワーク・モデルにおいて、ＤＮＰは、ＨＴＴＰおよびＦＴＰのようなアプリケーション層プロトコルとして考えることができる。ＤＮＰの独自の設計により、インターネットを介して複数のユーザの間で協力的な環境を可能にする、異なるプロセス間の共通言語を供給する。
【００１８】
ＤＮＰは、浮動、整数、ブール、ビデオおよびデータのアレイ等、様々な種類のデータを運ぶように設計される。データは、ＤＮＰを用いて、二つの主なセクション：オーバーヘッド・セクション２０５および命令セクション２２５を有するパケットと称される一つの情報エンティティにコード化される。図２に注意を向けると、ＤＮＰパケット・フォーマットが示されている。オーバーヘッド・セクション２０５は、以下の固定サイズ・フィールドを含んでもよい：パケット・サイズ２１０：通常バイト・ワード（８ビット単位）でのパケット全体の長さ。宛先ＩＤ２１２：パケットが送信されるクライアントＩＤ、ラボ・サーバＩＤ、接続サーバＩＤ、全クライアント・グループＩＤ、全クライアントおよびラボ・サーバ・グループＩＤ、または接続サーバ・グループＩＤを含んでもよい。ソースＩＤ２１４：パケットが由来するクライアントＩＤ、ラボ・サーバＩＤ、または接続サーバＩＤを含んでもよい。命令数２１６：オーバーヘッド・セクション２０５に続く命令の数を含む。例えば図２において、Ｎの命令がある。
【００１９】
命令セクション２２５は、多くの命令を含むかもしれない。各命令は、以下のフィールドを含む特定のコマンドまたは要求でもよい。
コンポーネントＩＤ２３０：ユーザ・インターフェース・コンポーネントのための特定の装置／設備の識別番号。コマンドＩＤ２３２：実行されるべき特定のコマンド／要求の識別番号。コマンド値２３４：コマンドまたは要求を実行するために使用されるパラメータ値。関連するコマンド／要求に基づいて、共通値のデータ・タイプは変わりうる（すなわち、浮動データ、整数データ、ビデオ・データ、データのアレイ）。その結果、このフィールドは可変サイズを有する。要求の送信側および受信側の両方が、コンポーネントＩＤのもの、およびコマンドＩＤのものに関連するデータ・タイプのルックアップ・リストを有してもよい。従って、データ・タイプ情報は、パケット自身の中で運ばれる必要はない。命令セクションは、コンポーネントＩＤのもの、コマンドＩＤのもの、およびコマンド値２５２−２６２を含むように拡張されてもよい。図３は、レーザー設備の現在の値を、４５．４ｍＡに変える要求である、クライアント１１８からラボ・サーバ１１２に送信される例示的パケットを示す。オーバーヘッド・セクション３０５において、パケット・サイズ・セクション３０２、ラボ・サーバＩＤセクション３０４、およびクライアントＩＤセクション３０６がある。命令セクション３１５において、レーザーＩＤセクション３２０、変更現在値セクション３２２、および対象となるミリアンペア４５．４がセクション３２４にある。
【００２０】
図４は、彼らのユーザ・インターフェース・コンポーネントの中の二つ、すなわち：４５．４の値を有するグラフならびにメッセージ・ボード・ディスプレイと、および“あなたのコマンドの実行が成功しました（Your command has been successfully performed.）”と読める、メッセージ・セクション４５６におけるメッセージとを更新するための、ラボ・サーバ１１２からすべてのクライアント１１８への典型的な応答パケットを示す。
【００２１】
二つの主な機能は、ラボ・サーバによって実行されてもよい。すなわち：物理プロセス１１０からのデータを同報し；およびクライアントの要求ならびに一般的に関連する応答を実行する、ことである。クライアント１１８が、物理プロセス１１０の現在の状態を知らされるために、ラボ・サーバ１１２は、物理プロセス１１０から直接収集される情報を同報することができる。ＤＮＰパケットでコード化された物理プロセスからのデータは、分配のために接続サーバ１１４に送信される。接続サーバは、送信されるＤＮＰパケットのオーバーヘッド・セクションを見ることができ、および前記パケットを、適切な宛先に転送することができる。接続サーバにおけるルーティング・アルゴリズムの詳細は後述される。
【００２２】
センサ、検出装置、および他の計測器具は、様々な物理的現象（すなわち電界、電磁放射、温度、圧力等）を検出し、および／または計測し、およびこの情報をラボ・サーバ１１２に送信する。接続サーバ１１４へのネットワーク接続を確立したラボ・サーバ１１２は、受信した情報またはその計算された解析を、ＤＮＰパケットの命令セクションに入れることができる。このプロセスは、１以上の命令が送信される必要がある場合、繰り返されることができる。すべての命令がＤＮＰパケットの命令セクションに書き込まれると、対応するオーバーヘッド・セクションも構築されることができる。ＤＮＰパケットが完成すると、それは接続サーバ１１４へ送信されることができる。
【００２３】
図５に注意を向けると、ラボ・サーバ１１２は、未加工データの計算解析に基づいて結果を算出するために、物理プロセス１１０からの未加工データを同報することができる。ある場合、物理プロセス１１０からのデータは、科学的視覚化、統計学的解析またはデータ圧縮のために解析される。例えば、物理プロセスからの未加工ビデオ・データは、空間的および時間的冗長の両方のために解析される。圧縮アルゴリズムを実行した後、ビデオ・データの圧縮されたフォーマットが、ＤＮＰパケットの命令セクションに書き込まれる。この応用に適したビデオ圧縮は後述される。クライアントが情報の連続的更新を受信するために、図５におけるプロセス全体が、周期的に繰り返されることができる。このプロセスの繰り返し期間は、特定のアプリケーションに従って調節されうる。ステップ５０２において、ラボ・サーバ１１２は、物理プロセス１１０からデータを得る。コントロールは任意のステップ５０４に進んでもよく、そこではラボ・サーバ１１２が計算解析を実行する。コントロールはステップ５０６に進み、そこではルックアップ・データ・タイプ・テーブルが構築される。コントロールはステップ５０８に進み、そこではデータがＤＮＰパケットの命令セクションに書き込まれる。これは、コントロールがステップ５０２に戻る反復ループの一部でもよい。コントロールはステップ５０８からステップ５１０に進んでもよく、そこではＤＮＰパケットがオーバーヘッド・セクションに書き込まれる。コントロールはステップ５１２へと続き、そこではＤＮＰパケットが接続サーバ１１４に送信される。
【００２４】
ラボ・サーバ１１２の他の機能は、クライアントの要求を処理し、および関連する応答を生成することである。ラボ・サーバ１１２は、接続サーバ１１４から、命令のためのクライアントの要求を含むＤＮＰパケットを受信することができる。これらの命令を翻訳し、コマンドを実行し、および応答を生成するのは、ラボ・サーバ１１２の任務である。このプロセスは、図６に説明される。コントロールはステップ５２０で開始し、そこではラボ・サーバ１１２は、接続サーバ１１４から受信されるべきＤＮＰパケットを待つ。ステップ５２２に進むと、ＤＮＰパケットのオーバーヘッド・セクションが読み取られる。コントロールはステップ５２４へと続き、そこではＤＮＰパケットの命令セクションにおける一つの命令が読み取られる。コントロールはステップ５２６に進み、そこではラボ・サーバ１１２が、設備／命令ドライバを呼び出すことによって、要求／命令を実行する。コントロールはステップ５２８に進み、そこではラボ・サーバ１１２は、ＤＮＰパケットの命令セクションに応答データを書き込む。ステップ５２８から、命令の数に従って、コントロールは反復ループにおけるステップ５２４に戻ってもよい；コントロールはステップ５３０にも進んでよく、そこではＤＮＰパケットがオーバーヘッド・セクションに書き込まれる。コントロールはステップ５３２に進み、そこでは応答ＤＮＰパケットが接続サーバ１１４に送信される。
【００２５】
クライアントの要求の実行は、ＧＰＩＢ、ＲＳ−２３２、ＵＳＢ、イーサネット（登録商標）等、関連するコンピュータ・インターフェースを介してコマンドを器具に送信する特定のソフトウェア・ドライバを呼び出すことを伴う。前記要求は、クライアントの要求を記録し、器具から収集された値を記憶し、および以前に収集された情報を照会する等、情報管理のための命令を含んでもよい。情報管理の場合において、ラボ・サーバ１１２は、ＯＤＢＣまたはＪＤＣＢ等の標準データベース・ドライバを通してローカルまたは遠隔データベース・サーバと直接対話することができる。
【００２６】
ＤＮＰパケットをクライアントに継続的に送信してもよい同報機能とは異なり、ラボ・サーバ１１２のこの機能は、クライアント要求が受信される時に応答を生成するだけである。ラボ・サーバ１１２がソフトウェア・プログラムに実装される時、この機能は、他の機能との並行処理のため、個別のスレッドで稼動されてよい。
【００２７】
接続サーバ１１４は、ラボ・サーバ１１２が存在する同じコンピュータにおいて稼動されうる。さらなる信頼性のために、好ましい実施例において、接続サーバ１１４は、個別のコンピュータで実行されてよい。接続サーバ１１４は、ＪＡＶＡ（登録商標）またはＣ＋＋等、オブジェクト指向の、ネットワーク・イネーブルな、およびマルチスレッドのソフトウェア開発環境を用いて実装される。接続サーバ１１４によって実行される主な機能のうちの二つは：すべてのアクティブなクライアントおよびラボ・サーバとの信頼できるネットワーク接続を監視し、および維持すること；およびＤＮＰパケットを適切な宛先に送ることを含む。
【００２８】
接続サーバ１１４は、すべてのプロセス、すなわち：ラボ・サーバ１１２、データベース・サーバ１２０、およびクライアント１１８とのネットワーク接続を維持する。接続ハンドラは、オブジェクト指向のプログラミング用語でのクラスまたはオブジェクトでもよく、各接続からの読み取りおよび各接続への書き込みを実行することができる。各接続ハンドラは、平行処理のために、個別のスレッドで稼動されるべきである。接続サーバ１１４が接続を受け入れ、または確立すると、それは接続情報（すなわち、遠隔ポスト・アドレスおよび遠隔ポート・ナンバを含むソケット情報）を、さらなる処理のために接続ハンドラに渡すことができる。接続サーバ１１４は、ネットワーク関連のプロセスを実行し、および監視するために、接続ハンドラのアレイまたはテーブル、すなわち接続テーブルを維持する。接続モニタは、周期的に稼動する接続サーバ１１４に含まれる他の重要なプロセスである。接続モニタは、接続サーバ１１４のサブクラスとして実装されてもよく、および個別のスレッドで実行されてもよい。接続モニタの機能は、接続サーバに接続されたプロセス（すなわち、クライアント１１８およびラボ・サーバ１１２）のネットワーク通信を監視し、および制御することである。
【００２９】
図７は、接続モニタの基本操作を示す。ステップ５５０で開始し、接続モニタは、接続テーブルにおいてクライアントを探索する。決定ステップ５５２に進むと、クライアントが接続テーブルに見つかった場合、コントロールはステップ５５４に進み、そこでは接続モニタは、現在のセッションの有効性を調べる。この操作は、通常、現在のクライアントが物理プロセス１１０にアクセスできるかを調べるように、データベース・サーバ１２０を参照することによって実行される。クライアントが見つからない場合、コントロールは決定ステップ５５２から５５６に進み、そこでは接続モニタがすべての接続ハンドラに、それらの接続を閉じるように命令する。ステップ５５４に戻り、コントロールは決定ステップ５５８に進む。セッションが有効である場合、コントロールはステップ５６０に進む；そうでなければコントロールはステップ５５６に戻る。ステップ５６０において、接続モニタは、接続テーブルにおいて、ラボ・サーバ１１２を探索する。コントロールは決定ステップ５６２に進み、そこではラボ・サーバが見つかった場合、プログラムが終了する。そうでなければ、コントロールはステップ５６４に進み、そこでは接続モニタがラボ・サーバ１１２との接続を確立する。図７に記載の通り、ラボ・サーバ１１２が接続されているかを調べる操作が、ループで実行されるのは、バックアップのために接触されるラボ・サーバ１１２が一つ以上あるかもしれないからである。物理プロセス１１０におけるシステムまたは装置で故障が生じる場合、物理的に物理プロセス１１０と接続されるラボ・サーバ１１２は、接続サーバからのあらゆる接続要求を拒絶するであろう。このように、接続モニタは、他のラボ・サーバ１１２との接続を確立しようと試みる。図７に記載の操作全体は、継続的に通信プロセスを監視するために、周期的に実行されるべきである。
【００３０】
接続サーバは、適切な宛先へのＤＮＰパケットを受け入れ、検査し、および送信するデータのディストリビュータとして機能する。接続サーバは、ＤＮＰパケットの宛先ＩＤフィールドに基づいて、全二重ポイントツウポイントおよびポイントツウマルチポイント・データ送信をサポートする。その結果、クライアント１１８とラボ・サーバ１１２の両方のプロセスは、あらゆるプロセスによって生成されるイベントを、同期して受信してもよい。図８は、接続サーバによって実行されてもよいいくつかのルーティング・モードを表示する。図８は、接続サーバに接続された３のクライアントおよび一つのラボ・サーバの例示的事例である。応対されてもよいクライアントの最大数は、利用可能なネットワーク帯域幅に従って変わる。
【００３１】
上述の通り、接続ハンドラは、接続サーバの一部であり、および各接続からの読み取りおよび各接続への書き込みを実行してもよい。接続サーバ１１４は、あらゆる接続要求を聞き、および有効な接続が確立されると、ネットワーク情報を接続ハンドラに渡す。図９は、接続ハンドラの流れ図を示す。ステップ６００で開始し、接続ハンドラは、接続サーバからの受け入れられた接続から、ネットワーク情報を受信する。コントロールはステップ６０２に進み、そこでは接続ハンドラが、接続が有効であるか調べる。接続が有効でない場合（決定ステップ６０４）、コントロールはステップ６０６に進み、そこでは接続ハンドラが接続を閉じ、コントロールは終了する。しかしながら、接続が有効である場合、コントロールはステップ６０８に進み、そこでは接続ハンドラは、特定のタイムアウト期間中、入ってくるＤＮＰパケットを待ち、および聞く。ステップ６０８から、コントロールは決定ステップ６１０に進む。決定ステップ６１０において、ＤＮＰパケットがタイムアウトの前に受信されると、コントロールはステップ６１２に進み、そこではＤＮＰパケットのオーバーヘッド・セクションが読み取られる。しかしながら、ＤＮＰパケットがタイムアウト前に受信されない場合、コントロールはステップ６０２に戻る。ステップ６１２から、コントロールはステップ６１４に進み、そこでは再度、接続ハンドラが接続の有効性を立証することを試みる。接続が有効でない場合（決定ステップ６１６）、コントロールはステップ６０６に戻る。しかしながら、接続が有効な場合、コントロールはステップ６１８に進み、そこではＤＮＰパケットの残りが、そのパケット長に従って読み取られる。コントロールはそれからステップ６２０に進み、そこでは接続テーブルにおける接続ハンドラが、ＤＮＰオーバーヘッド・セクションにおける宛先ＩＤに基づいて見つけられる。コントロールはそれからステップ６２２に進み、そこではすべてのＤＮＰパケットが、接続テーブルにおいて見つけられた接続ハンドラを介して、すべての宛先に送信される。ステップ６２２から、コントロールはステップ６０２に戻る。上述の操作は、接続がもはや有効でなくなるまで、繰り返される。
【００３２】
クライアント・プロセスは、物理プロセス１１０のエンド・ユーザのために、グラフィカル・ユーザ・インターフェースを供給する。クライアントは、Ｃ＋＋またはＪＡＶＡ（登録商標）等の、あらゆるオブジェクト指向の、およびネットワーク・イネーブルのソフトウェア開発環境において実装されてもよい。クライアントは、ユーザ入力および／またはディスプレイ情報を得るために使用されてもよいグラフィカル・コンポーネントを含むであろう。前記コンポーネントのいくつかは、ダイアル、グラフ、スイッチ、ＬＥＤディスプレイ、ボタン等を含んでもよい。
【００３３】
クライアント・プロセス１１８は、インターネット等のＴＣＰ／ＩＰネットワークに接続されているあらゆるコンピュータから実行されてもよい。クライアント・プロセスが稼動している時、それは第一に、接続サーバ１１４へのネットワーク接続を確立するよう試みるであろう。ＵＩコンポーネントから受信されるユーザ要求／コマンドは、接続サーバ１１４に送信されるべきＤＮＰパケットにコード化される。クライアント１１８は、他の遠隔クライアントおよび実験サーバ１１２から、接続サーバ１１４を介して受信されるＤＮＰパケットの処理もしてよい。この操作は、平行処理のために、個別のスレッドで実行されてもよい。
【００３４】
図１０は、クライアントＤＮＰパケット処理の流れ図である。クライアント・プロセス１１８は通常、そのＵＩコンポーネントの機能または方法を呼び出すことによって、ＤＮＰパケットにおける命令を実行する。前記命令は、グラフ表示を更新し、ダイアルを回し、ビデオ・データを復号化し、および表示すること等を伴ってもよい。物理プロセス１１０および他のクライアント・プロセスからライブ・イベントを受信することによって、ユーザは、遠隔物理プロセスを制御することにおいて、対話的および協力的な環境を経験するかもしれない。ステップ６２４で開始し、クライアントは接続サーバ１１４からのＤＮＰパケットを待つ。コントロールはそれからステップ６２６に進み、そこではＤＮＰパケットのオーバーヘッド・セクションが読み取られる。コントロールはそれからステップ６２８に進み、そこではＤＮＰパケットの命令セクションにおける一つの命令が読み取られる。コントロールはそれからステップ６２９に進み、そこでは要求／命令が、ユーザ・インターフェース・コンポーネントの機能を呼び出すことによって実行される。ステップ６２９から、コントロールは、命令の数に従って繰り返すループにおいて、ステップ６２８に戻ってもよい。
【００３５】
データベース・サーバ１２０は、他のプロセスの操作に必須である情報を含むデータベースを管理する。データベース・サーバ１２０の遠隔操作は、ＯＤＤＣまたはＪＤＤＣ等のデータベース・アプリケーション・プログラミング・インターフェース標準を使用して、簡単になりうる。データベース・サーバ１２０は、情報の以下のリストを管理する。すなわち：ユーザ情報、ユーザ物理プロセス・データ、スケジューリング情報、およびイベント・データである。
【００３６】
データベース・サーバ１２０は、ユーザ・プロフィールを管理する。ユーザ・プロフィールは、接続サーバ１１４が、クライアント１１８からの接続要求を検査することができるようにするログイン名およびパスワード等のユーザ・アクセス情報を含む。さらに、ユーザ・プロフィールは、達成された動作／要求の状態を追跡することによって、クライアントの進歩情報も含む。物理プロセス１１８からのデータ（すなわち、センサー表示度数、設備の状態等）は、クライアントの要求のために、記録されてもよい。このデータは、タイム・スタンプを押され、対話式“実験室ノート”ユーザ・インターフェースを介して、ユーザが使えるようにされてもよい。データベース・サーバ１２０と対話してもよい共通ゲートウェイ・インターフェース（ＣＧＩ）またはＪＡＶＡ（登録商標）  ｓｅｒｖｌｅｔプログラムを用いて、クライアントは、以前に記録された物理プロセス・データを探索し、および検索してもよい。前記探索は、記録されたデータの日付順、キーワード、または他の特性に基づいてもよい。スケジューリング情報によって、適切なクライアントのみが、特定の時間期間内に、物理プロセス１１０へのアクセスを与えられることが確かになる。ラボ・サーバによって受信されるすべてのイベントも、自動的に記録されてもよい。このデータは、物理プロセス１１０を制御する際のクライアントの振る舞いおよび利用パターンを解析するために使用されてもよい。対話式実験室ノートは、実験室パラメータ、“やるべきこと”リスト、および個人的注記も含んでよい。
【００３７】
対話式実験室ノートは、インターフェース・ビルダー（Interface Builder）または類似のソフトウェア・アプリケーションを用いて構築されてもよいユーザ・インターフェースの一部であり、実験の課程中にユーザによってアクセスされてもよい。対話式実験室ノートは、コンピュータ６０のハード・ディスクまたは他の非揮発性メモリに記憶されたデータベースを、前記データベースにアクセスするためのユーザ・インターフェースと同じく含むように実装されてもよい。本発明が通信教育のために利用される場合、対話式実験室ノートは、情報のための中心的レポジトリを供給し、および指導者が、オンライン実験室を使用する生徒の進歩ならびに実績を評価するための必須ツールである。
【００３８】
ユーザ・インターフェースは、従来のブラウザ形式よりもむしろ、動画のスイッチ、ダイアル、ボタン、およびＬＥＤディスプレイを含んでもよい。他のカスタマイズされたユーザ・インターフェース・コンポーネントとともに、リアル・タイム・データをオンライン・グラフ化することによって、ユーザは、実感する外観と感触を経験することができる。ユーザ・インターフェースは、機能、レイアウト、および外観において、実際の器具のフロント・パネルに大変似ているかもしれない。ライブ・ビデオ・ストリームも、ユーザ・インターフェースに含まれてよい。
リアル・タイム・ビデオ観察
インターネットを介して、リアル・タイムで物理プロセスを観察することは、本発明の重要な特徴である。図１Ｂに戻ると、ユーザが対話をし、およびその動作が、観察されるビデオに影響を与えるシステムから、ライブ画像を捕獲するために、ビデオ・カメラ７０が使用される。ビデオ捕獲（またはフレーム・グラバー）ハードウェア７２は、最小の遅延でユーザに送信されることが所望される画像を捕獲するために、コンピュータ上で使用される。ビデオ・サーバ・コンピュータ７４は、新しい画像データを圧縮し、およびコンピュータ・ネットワーク５０を通してユーザ（クライアント）に送信されるべきパケットを形成する。クライアントは、標準ブラウザを使用して、ライブ・ビデオを見ることができ、および前記システムと対話することができる。インターネットを介してビデオをリアル・タイムで送信するために、空間的および時間的圧縮が実行される。空間的圧縮において、フレーム・グラバー７２から捕獲された画像は、色相、彩度、および色値（hue, saturation, and value）（ＨＳＶ）に関して、グレイ・スケールとして、またはカラー画像として表示される。どちらの場合も、値は整数で表される。画像データは四角のブロック（例えば、８×８ピクセル、または１６×１６ピクセル）に分割される。二次元離散コサイン変換（標準的な数学的オペレーションであり、しばしばＤＣＴと短縮される）が、各ブロックにおいて実行される。
【００３９】
時間的圧縮を実行するために、サーバ７４は、クライアントが現在有しているＤＣＴデータから、理想的なＤＣＴデータを減じる。ＤＣＴデータにおけるこの差は、クライアントが、そのビデオが所望の画像に更新されるようにするために受信しなければならない情報である。この圧縮は、送信されるべきデータを算出するために、単一の新しいフレームを使用する。これは、遅延を最小化するために、圧縮効率を犠牲にする（すなわち、ＭＰＥＧ４標準を使用して得られる）。（ビットで特定された）特定された固定パケット・サイズの要件に合致する、この差の近似値が算出される。圧縮が特定のパケット・サイズに基づくことにより、圧縮されたビデオは、クライアント１１０の送信制約に適合する。特定のクライアントに使用されるデータ・レート（ＰＡＣＫＥＴ＿ＳＩＺＥ*ＰＡＣＫＥＴＳ＿ＰＥＲ＿ＳＥＣＯＮＤ）は、動的に決定され、ビデオが送信されると更新される。これによって、クライアントに送信されるビデオの質は、各クライアントのインターネット接続の性能に従って変化する。これによって、データ・レートは、クライアントの許容できるデータ・レートにおける変化に応答して変化することができる。クライアントに、送信されたパケットを受信した時間を、断続的にサーバに知らせさせるようにすることによって、クライアントの遅延および許容できるデータ・レートが算出されてもよい。
【００４０】
図１１は、ＤＣＴコンポーネントの二次元セットを示す。コンポーネント０は、左上角にあり、および矢印の経路は、各コンポーネントが数えられる順番を示す。ＤＣＴコンポーネントは、コンポーネントのグループ（すなわち８グループの８コンポーネント）で送信される。すべてのグループのＤＣＴコンポーネントが、単一のパケットで送信されるわけではない。“ＤＣＴデータにおける差”のグループは、前記グループにおけるコンポーネントの大きさに基づいて送信されるように選択される。８のＳＶ画像において、目は、色相または彩度における差よりも、色値における差の方により敏感である。このように、相対的重さが、グループの大きさまたは異なるタイプの大きさを比較する際に使用される。データは、データの近似値を送信するためにより少ないビットを使用するために、切り上げをして送信される。ビデオ圧縮システムは、応答時間（遅延）を最小化するために最適化されている。この優先順位は、自らの動作に応答して、迅速にビデオ・フィードバックを受信するユーザに依存するシステムに独自のものである。
【００４１】
図１２は、サーバ７４によって実行されるコード化プロセスを示す。ステップ６３０で開始し、クライアントに関する現在のＤＣＴデータがゼロに初期化される。コントロールはステップ６３２に進み、そこでは、これが送信される最初のパケットである場合、初期化情報はパケットの最初に配置される。この初期化情報は：表示の幅、表示の高さ、および表示の種類（グレイ・スケールまたはＨＳＶ）を含む。コントロールはステップ６３４に進み、そこでは画像が、ビデオ・カメラ７０およびフレーム・グラバー７２を用いて捕獲される。ステップ６３６において、画像データは四角のブロック（８×８ピクセルまたは１６×１６ピクセル）に分割される。ステップ６３８において、二次元離散コサイン変換が各ブロックにおいて実行される。これは、最小の誤差で、ある画像に対応する理想的なＤＣＴデータを生成する。ステップ６４０において、理想的ＤＣＴデータと、クライアントが現在使用しているＤＣＴデータとの間の差が算出される。これは、“ＤＣＴデータにおける差”を生成する。ステップ６４２において、“ＤＣＴデータにおける差”のグループは、前記グループにおけるコンポーネントの大きさに基づいて送信されるように選択される。ＨＳＶ画像において、目は色相または彩度における差よりも、色値における差に対してより敏感である。このように相対的重さが、異なる種類のグループの大きさを比較する際に使用される。ステップ６４４において、これらのグループにおけるデータの近似値は、クライアントとのソケット接続を通して、ネットワークを介して送信されるパケットに記憶される。コントロールはステップ６４８に進み、そこではクライアントが復号化する“ＤＣＴデータにおける近似した差”が、サーバ７４によって算出される。ステップ６５０において、この差は、その記録をサーバ７４が維持するクライアントのＤＣＴデータに加えられる。クライアントの現在のデータを追跡することによって、近似値によって生じる誤差は、複数の送信が送られるときには伝搬しない。コントロールはそれから、クライアントに送信されるべき他のパケットを生成するために、ステップ６３２に戻ってもよい。
【００４２】
図１３は、クライアントによって実行される復号化プロセスの構造を示す。ステップ６５２で開始し、現在のＤＣＴデータはゼロに初期化される。ステップ６５４において、サーバ７４からパケットを受信するために、ソケット接続が使用される。ステップ６５６において、これが最初に受信されるパケットである場合、初期化情報が処理される。この初期化情報は：表示の幅、表示の高さ、および表示の種類（グレイ・スケールまたはＨＳＶ）を含む。ステップ６５８において、前記パケットはＤＣＴデータにおける近似した差を生成するために復号化される。ステップ６６０において、この差を現在のＤＣＴデータに戻し加えることによって、現在のＤＣＴデータに関する更新された値が決定される。コントロールはステップ６６２に進み、そこではＤＣＴデータを画像データに変換するために、逆離散コサイン変換が使用される。この変換は、ＤＣＴデータにおける近似した差によって変更されたブロックにおいてのみ実行される。これによって画像データは、バッファをせずに更新されることができ、および画像更新の際の遅延は最小化される。コントロールはステップ６６４に進み、そこでは画像データは、標準ブラウザを通してユーザに表示される。コントロールは、サーバ７４から送信される追加の更新された画像を処理するために、ステップ６５４に戻ってもよい。
【００４３】
上述の命令は、ユーザ・インターフェースおよび対話式実験室ノートと同様に、ソフトウェアに実装されてもよく、およびコンピュータ６０に記憶されてもよく、および本発明の好ましい実施例に従って実行されてもよい。
【００４４】
上述の説明は、レーザーおよび光学設備の操作を説明するが、幅広い物理プロセスが本発明を用いて実行されてもよいことが理解されるべきであり、時間、温度、電圧、電流、磁界、電磁放射等、他の形式のデータが記録されてもよい。本発明の追加的応用は、娯楽、例えば対話式設定での玩具の遠隔制御に拡張してもよく、そこでは複数のユーザが、コンピュータ・ネットワーク５０を介してコンピュータ６０にアクセスしてもよく、および複数のユーザが関与するゲームをしてもよい。本発明によって教示されるリアル・タイム・ビデオは、そのような応用の不可欠な部分である。
【００４５】
本発明の他の応用において、コンピュータ６０およびカメラ７０は、リアル・タイムで設備またはプロセスを見せることによって、および前記設備ならびにプロセスが配置される場所への移動が求められるリソースの消費を排除することによって、将来的なクライアント、カスタマ、または開発者に設備またはプロセスを見せるための販売または開発ツールとして利用されてもよい。
【００４６】
本発明は、それを実施する好ましい形式との関係で説明されてきたが、通常の当業者は、上述の特許請求の範囲を変えることなく、多くの変更がなされてもよいことを理解するであろう。従って、本発明の範囲が上述の説明によって制約されるものではなく、その代わり、上述の特許請求の範囲を参照することによって決定されるものである。
【図面の簡単な説明】
【図１Ａ】  図１Ａは、本発明によって利用されるコンピュータ・ネットワークを図で表したものである。
【図１Ｂ】  図１Ｂは、本発明のシステム・アーキテクチャをブロック形式で、図で表したものである。
【図２】  図２は、本発明において利用されるＤＮＰパケット・フォーマットを示す。
【図３】  図３は、クライアント・プロセスからラボ・サーバへ送信されるパケットを示す。
【図４】  図４は、ラボ・サーバ１１２からクライアント・プロセスに送信される応答パケットを示す。
【図５】  図５は、未加工データの計算解析に基づいて結果を算出するために、物理プロセスから未加工データを送信するための、ラボ・サーバのためのステップの論理的シーケンスを示す流れ図である。
【図６】  図６は、クライアントの命令を翻訳し、コマンドを実行し、および応答を生成するための、ラボ・サーバのためのステップの論理的シーケンスを示す流れ図である。
【図７】  図７は、接続モニタの基本操作を示す流れ図である。
【図８】  図８は、接続サーバによって実行されてもよいいくつかのルーティング・モードを表示する。
【図９】  図９は、接続ハンドラの基本操作を示す流れ図である。
【図１０】  図１０は、クライアントＤＮＰパケット処理を示す流れ図である。
【図１１】  図１１は、ＤＣＴコンポーネントの二次元セットを図で表したものである。
【図１２】  図１２は、コード化プロセスを実行するために、サーバによって実行されるステップの論理的シーケンスを示す流れ図である。
【図１３】  図１３は、復号化プロセスを実行するために、クライアント・プロセスによって実行されるステップの論理的シーケンスを示す流れ図である。
【図１Ａ】
0004549601.tif 000002
【図１Ｂ】
0004549601.tif 000003
【図２】
0004549601.tif 000004
【図３】
0004549601.tif 000005
【図４】
0004549601.tif 000006
【図５】
0004549601.tif 000007
【図６】
0004549601.tif 000008
【図７】
0004549601.tif 000009
【図８】
0004549601.tif 000010
【図９】
0004549601.tif 000011
【図１０】
0004549601.tif 000012
【図１１】
0004549601.tif 000013
【図１２】
0004549601.tif 000014
【図１３】
0004549601.tif 000015