(57)【要約】  ハードウェア、ソフトウェア及びファームウエアを含み、アプリケーションハードウェア及び／又はユーザ入力装置が、当該システム内には無視可能なネットワーク遅れしか存在しないかのように、如何なる通信ネットワーク上でも一緒にネットワーク化されるのを可能にするような時間同期及び時間遅れ補償方法を備えるハードリアルタイム制御センタ（ＨＲＴＣＣ）が開示されている。これは、アプリケーションハードウェア及び／又はユーザ入力装置（当該ネットワーク上の或る位置（ノード）でＨＲＴＣＣに接続された）が、遠隔位置における他のＨＲＴＣＣに接続されたアプリケーションハードウェア及び／又はユーザ入力装置を、ネットワーク時間遅れの悪影響無しで制御し又は動作させるのを可能にするであろう。当該ネットワーク上の種々のＨＲＴＣＣの時間同期は、ハードウェア（例えば、地球測位システム（ＧＰＳ））又は他の何らかのソフトウェア方法（例えば、ネットワークタイムプロトコル）を用いて可能にすることができる。上記時間同期からのタイムスタンプを用いて、当該ネットワークを介して伝送された信号（データ）の時間遅れを決定することができる。時間遅れ補償方法の主要な実施例は、推定器／予測器アルゴリズムである。上記推定器は、上記予測器が時間遅れを用いて信号情報特性を該時間遅れに等しい量だけ未来に投影するのを可能にするような信号情報を発生する。この予測された信号が遅延された信号の代わりに使用されれば、当該システム内には容易に目立つ時間遅れは存在せず、これにより、関連するアプリケーションの安定性及び性能を大幅に改善する。サーバント／クライアント、トークンリング又はピアツーピア等の如何なるソフトウェアアーキテクチャも使用することができる。
2005509970.tif 000002
【特許請求の範囲】
【請求項１】
通信ネットワークを介してハードリアルタイム制御を実施するネットワークシステムにおいて、
前記通信ネットワークを介して互いに通信することができる複数の制御システムを有し、
前記制御システムの各々が、
アプリケーションハードウェア及び関連するソフトウェア並びに／又はユーザ入力装置のための１以上のインターフェースと、
前記制御システムの時計を略同期させるシンクロナイザと、
前記アプリケーションハードウェア及び関連するソフトウェア並びに／又は前記ユーザ入力装置に関連するデータを、前記通信ネットワークを介して１以上の制御システムに送信する送信機と、
前記通信ネットワークを介して１以上の制御システムからデータを受信する受信機と、
前記受信されたデータを前記通信ネットワークを介しての送信に関連する時間遅れに関し補償して、前記ハードリアルタイム制御に対する該時間遅れの影響を除去する補償手段と、
前記補償されたデータを前記インターフェースに供給して、前記アプリケーションハードウェア及び関連するソフトウェア並びに／又は前記ユーザ入力装置を動作させる手段と、
を含んでいることを特徴とするネットワークシステム。
【請求項２】
請求項１に記載のネットワークシステムにおいて、前記時間遅れは時間的に変化する遅れを含み、前記補償手段は前記受信されたデータに関連する現在のデータを予測する予測手段を含んでいることを特徴とするネットワークシステム。
【請求項３】
請求項１に記載のネットワークシステムにおいて、前記補償手段が、
前記アプリケーションハードウェア及び関連するソフトウェア並びに／又はユーザ入力装置からのデータを推定する推定器であって、該推定されたデータが前記アプリケーションハードウェア及び関連するソフトウェア並びに／又は前記ユーザ入力装置の動作状態に関するものであるような推定器と、
前記推定されたデータを現在のデータに投影して、自身のアプリケーションハードウェア及び関連するソフトウェア並びに／又はユーザ入力装置をハードリアルタイムに動作させる予測器と、
を含むことを特徴とするネットワークシステム。
【請求項４】
請求項１ないし３の何れか一項に記載のネットワークシステムにおいて、前記制御システムの少なくとも１つに接続された前記ユーザ入力装置は触覚装置を含み、該触覚装置のユーザは前記通信ネットワークを介して物体と対話すると共に触覚効果を受信することを特徴とするネットワークシステム。
【請求項５】
請求項３に記載のネットワークシステムにおいて、前記制御システムの１つはサーバプラットフォームとして作用すると共に他のものはクライアントプラットフォームとして作用し、前記クライアントプラットフォームの全ては自身の推定されたデータを前記サーバプラットフォームに送信し、前記サーバプラットフォームは前記推定されたデータを前記クライアントプラットフォームに分配することを特徴とするネットワークシステム。
【請求項６】
ネットワークシステムにおいてハードリアルタイム制御を実施する方法であって、前記ネットワークシステムが複数のハードリアルタイム制御システムを含み、これらハードリアルタイム制御システムの各々がアプリケーションハードウェア／ソフトウェアを有すると共に通信ネットワークを介して互いに通信することができるような方法において、該方法が、
前記ハードリアルタイム制御システムの時計を略同期させるステップであって、これらハードリアルタイム制御システムの１つが送信側であると共に他のものが受信側であるようなステップと、
前記送信側のアプリケーションハードウェア／ソフトウェアからのデータを推定するステップであって、該推定されたデータが前記アプリケーションハードウェア／ソフトウェアの動作状態に関するものであるようなステップと、
前記通信ネットワークを介しての送信に関連する時間遅れを決定するステップと、
前記推定されたデータを前記時間遅れに関し補償して、前記ハードリアルタイム制御に対する該時間遅れの影響を除去するステップと、
前記補償されたデータを前記ハードリアルタイム制御のために前記受信側のアプリケーションハードウェア／ソフトウェアに供給するステップと、
を有することを特徴とする方法。
【請求項７】
請求項６に記載の方法において、前記補償するステップが、前記推定されたデータに基づいて現在のデータを予測するステップを含んでいることを特徴とする方法。
【請求項８】
請求項６に記載の方法において、
前記送信側のデータを前記受信側に送信すべきか否かを、両側の前記アプリケーションハードウェア／ソフトウェアの前記動作状態に基づいて決定するステップを更に有していることを特徴とする方法。
【請求項９】
請求項６ないし８の何れか一項に記載の方法において、前記推定するステップが、前記データに関連すると共に時間的に変化する運動情報を発生するステップを含んでいることを特徴とする方法。
【請求項１０】
通信ネットワークを介してサーバシステムとクライアントシステムとの間のハードリアルタイム制御を実施するサーバ／クライアントシステムにおいて、該サーバ／クライアントシステムが、
前記サーバシステム及び前記クライアントシステムの時計を略同期させるシンクロナイザであって、前記サーバシステム及びクライアントシステムの一方が送信側であると共に他方が受信側であるようなシンクロナイザと、
前記送信側のアプリケーションハードウェア／ソフトウェアからのデータを推定する推定器であって、該推定されたデータが前記アプリケーションハードウェア／ソフトウェアの動作状態に関するものであるような推定器と、
前記通信ネットワークを介しての送信に関連する前記推定されたデータの時間遅れを決定すると共に、前記ハードリアルタイム制御のために前記推定されたデータを前記決定された時間遅れに関して補償する予測器と、
前記補償されたデータを前記受信側のアプリケーションハードウェア／ソフトウェアに供給する手段と、
を有することを特徴とするサーバ／クライアントシステム。
【請求項１１】
請求項１０に記載のサーバ／クライアントシステムにおいて、前記送信側のデータを前記受信側に送信すべきか否かを、両側の前記アプリケーションハードウェア／ソフトウェアの前記動作状態に基づいて決定する送信ロジックを更に有していることを特徴とするサーバ／クライアントシステム。
【請求項１２】
請求項１０又は請求項１１に記載のサーバ／クライアントシステムにおいて、前記送信側及び受信側の一方における前記アプリケーションハードウェア／ソフトウェアが、他方の側における前記アプリケーションハードウェア／ソフトウェアの動作を制御するためのユーザ入力装置を含み、該ユーザ入力装置が触覚装置及び／又は非触覚装置を含んでいることを特徴とするサーバ／クライアントシステム。
【請求項１３】
通信ネットワークを介してハードリアルタイム制御を実施するサーバ／クライアントシステムにおいて、該サーバ／クライアントシステムが、
前記通信ネットワークを介してアプリケーションハードウェア／ソフトウェアを制御するためのユーザ入力装置を含むサーバシステムと、
前記通信ネットワークを介して前記ユーザ入力装置により制御されるべき前記アプリケーションハードウェア／ソフトウェアを含むクライアントシステムと、
前記サーバシステム及び前記クライアントシステムの各々に動作的に関連されて、これらシステムの時計を略同期させるシンクロナイザと、
前記アプリケーションハードウェア／ソフトウェアと前記ユーザ入力装置との間の前記ハードリアルタイム制御のために、前記サーバシステムと前記クライアントシステムとの間で送信されたデータを前記通信ネットワークを介しての該送信に関連する時間遅れに関して補償する補償手段と、
を有することを特徴とするサーバ／クライアントシステム。
【請求項１４】
請求項１３に記載のサーバ／クライアントシステムにおいて、前記補償手段が、前記通信ネットワークを介して前記サーバシステム又は前記クライアントシステムにおいて受信されたデータに関連する現在のデータを予測する予測器を含むことを特徴とするサーバ／クライアントシステム。
【請求項１５】
請求項１３又は請求項１４に記載のサーバ／クライアントシステムにおいて、前記アプリケーションハードウェア／ソフトウェアは、前記ユーザ入力装置と対話的に通信すると共に該ユーザ入力装置により力相互作用的に制御することができることを特徴とするサーバ／クライアントシステム。
【請求項１６】
請求項１ないし５及び１０ないし１５の何れか一項に記載の制御システムを実施化するハードリアルタイム制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、有線／無線インターネットを含む如何なるネットワーク接続上でもハードリアルタイム制御を実行することが可能なハードウェア／ソフトウェア／ファームウエアプラットフォームに関する。ハードリアルタイム制御においては、特定のイベントが完了した場合に結果が送信されるようなソフトリアルタイム制御とは対照的に、サンプリング期間と呼ばれる設定された期間に間に合って計算が完了されると共に結果が送信されることが必須である。特に、本発明は、ユーザ入力装置及びアプリケーション装置が、ＧＰＳ信号又は他のハードウェア／ソフトウェア方法により提供される同期により通信ネットワーク上で互いに通信し及び制御するのを可能にするモジュール型で柔軟性のあるプラットフォームを提供する。ネットワークレイテンシを予測する補償が、性能及び安定性を維持するために使用される。該プラットフォームは、幾つかを挙げると、オンライン対話コンピュータゲーム、ネットワーク化されたシミュレータ、テレプレゼンス（telepresence）、自動化高速道路システム、遠隔車両制御、電力システム制御、テレヘルス（telehealth）、ビデオ監視及び遠隔ロボット工学（robotics）等の種々のアプリケーションに適用することができる。
【背景技術】
【０００２】
現在の処、ネットワーク（例えば、ローカルエリアネットワーク（ＬＡＮ）、インターネット等）上で接続されたアプリケーション装置及びユーザ入力装置は、通常、人間のユーザに対するインターフェースとしての固定の機械式パネル又はＰＣグラフィックユーザインターフェース（ＧＵＩ）を備えるローカルな計算装置（パーソナルコンピュータ（ＰＣ）、パーソナルデジタルアシスタント（ＰＤＡ）又は同様の装置を介して）の制御の下にある。ネットワークを介して遠隔位置にある他のアプリケーション装置又はユーザ入力装置を制御するようなハードリアルタイム制御を実施化しようとする試みは存在していない。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
これは、一部は、ネットワークの２つの別のノードにおけるコンピュータコントローラの時計（clocks）を適切に同期させる能力のなさによるものである。同期化は、斯かるコンピュータがネットワーク上の時間的に変化する遅れを克服するために予測技術を適用することを可能にする。
【課題を解決するための手段】
【０００４】
本発明の一態様によれば、通信ネットワークを介してアプリケーションハードウェア及び関連するソフトウェア並びに／又はユーザ入力装置をリアルタイム制御するハードリアルタイム制御センタ（ＨＲＴＣＣ）であって、複数の斯かるハードリアルタイム制御センタの各々が通信ネットワークのノードに接続することができるようなハードリアルタイム制御センタが提供される。該リアルタイム制御センタは、(a)上記ＨＲＴＣＣの各々に関連されたアプリケーションハードウェア／ソフトウェアと、(b)アプリケーションハードウェア／ソフトウェア及び／又は他のユーザ入力装置を制御するユーザ入力装置と、(c)上記通信ネットワークに接続された上記ＨＲＴＣＣの時計（clocks）を実質的に同期させるシンクロナイザと；(d)上記通信ネットワークを介して或るＨＲＴＣＣから他のものへデータを送信するデータ送信機と、(e)他のＨＲＴＣＣからデータを受信するデータ受信機と、(f)上記通信ネットワークを経ての上記データの進行の間に掛かった時間遅れを決定し、該決定された時間遅れを補償し、該補償されたデータをアプリケーションハードウェア及び／又はユーザ入力装置に供給し、これにより上記時間遅れの影響を実質的に除去するアルゴリズムと、を有している。
【０００５】
また、本発明の他の態様によれば、通信ネットワークを介して遠隔の又はローカルなアプリケーションハードウェア／ソフトウェアをリアルタイム制御するハードリアルタイム制御センタであって、複数の斯かるリアルタイム制御センタが、各々、通信ネットワークに接続することができるようなハードリアルタイム制御センタが提供される。該ハードリアルタイム制御センタは、(a)当該ハードリアルタイム制御センタを制御するコアであって、(i)ＣＰＵと、(ii)前記通信ネットワークにより生じた時間遅れ効果を軽減又は略除去するソフトウェアとを含むようなコアと、(b)上記ハードリアルタイム制御センタの時計を略同期させる同期ハードウェアと、(c)通信ネットワークを介してアプリケーションハードウェア／ソフトウェアをリアルタイム制御するユーザ入力装置と、(d)通信ネットワークを介して上記ユーザ入力装置により制御されるべきアプリケーションハードウェア／ソフトウェアとを有し、前記リアルタイム制御センタの全ての時計が略同期された場合に、前記ソフトウェアにより時間遅れ効果を軽減するか又は除去することができる。
【０００６】
また、本発明の他の態様によれば、通信ネットワークを介してアプリケーションハードウェア／ソフトウェアをリアルタイム制御するハードリアルタイム制御センタ（ＨＲＴＣＣ）プラットフォームであって、複数の斯かるＨＲＴＣＣプラットフォームが、各々、通信ネットワークに接続されるようなハードリアルタイム制御センタプラットフォームが提供される。該ＨＲＴＣＣプラットフォームは、(a)各プラットフォームに動作的に関連されて、前記プラットフォームの時計を略同期させるシンクロナイザと、(b)自身のアプリケーションハードウェア／ソフトウェアからのデータを推定する推定器であって、該推定されたデータが上記アプリケーションハードウェア／ソフトウェアの動作状態に関するものであり、該推定されたデータが上記通信ネットワークを介して他のプラットフォームに送信されるような推定器と、(c)他のプラットフォームの各々から送信された推定されたデータの時間遅れを決定すると共に、前記通信ネットワークを介しての前記推定されたデータの各々の進行の間において掛かった時間遅れを補償する予測器であって、上記補償されたデータが自身のアプリケーションハードウェア／ソフトウェアに投影されるような予測器とを有する。
【０００７】
また、本発明の他の態様によれば、複数のハードリアルタイム制御システムにおけるアプリケーションハードウェア／ソフトウェアを、通信ネットワークを介して同期して動作させる方法が提供される。該方法は、(a)前記システムの時計を略同期させるステップであって、これらシステムの１つが送信側であると共に他のものが受信側であるようなステップと、(b)前記送信側のアプリケーションハードウェア／ソフトウェアからのデータを推定するステップであって、該推定されたデータが前記アプリケーションハードウェア／ソフトウェアの動作状態に関するものであるようなステップと、(c)前記通信ネットワークにより掛かった時間遅れを決定するステップと、(d)前記推定されたデータを前記決定された時間遅れに関し補償するステップと、(e)前記補償されたデータを前記受信側のアプリケーションハードウェア／ソフトウェアに供給するステップとを有し、これにより、前記ハードリアルタイム制御システムを同期することができると共に、前記通信ネットワークにより生じる時間遅れの影響を略除去することができる。
【０００８】
また、本発明の他の態様によれば、通信ネットワークを介してアプリケーションハードウェア／ソフトウェアを動作させるサーバ／クライアントシステムが提供される。該サーバ／クライアントシステムは、(a)サーバシステム及びクライアントシステムの時計を略同期させるシンクロナイザであって、前記サーバシステム及びクライアントシステムの一方が送信側であると共に他方が受信側であるようなシンクロナイザと、(b)前記送信側のアプリケーションハードウェア／ソフトウェアからのデータを推定する推定器であって、該推定されたデータが前記アプリケーションハードウェア／ソフトウェアの動作状態に関するものであるような推定器と、(c)通信ネットワークを介しての前記推定されたデータの進行の間に掛かった時間遅れを決定し、該推定されたデータを前記決定された時間遅れに関して補償し、且つ、該補償されたデータを前記受信側のアプリケーションハードウェア／ソフトウェアに供給する予測器とを有し、これにより、前記サーバシステム及びクライアントシステムにおける前記アプリケーションハードウェア／ソフトウェアを動作的に同期させることができる。
【０００９】
また、本発明の他の態様によれば、通信ネットワークを介して遠隔の又はローカルなアプリケーションハードウェア／ソフトウェアをリアルタイム制御するサーバ／クライアントシステムが提供される。該サーバ／クライアントシステムは、(a)通信ネットワークを介してアプリケーションハードウェア／ソフトウェアを制御するためのユーザ入力装置を含むサーバシステムと、(b)通信ネットワークを介して前記ユーザ入力装置により制御されるべき前記アプリケーションハードウェア／ソフトウェアを含むクライアントシステムと、(c)前記サーバシステム及び前記クライアントシステムの各々に動作的に関連されて、これらシステムの時計を略同期させるシンクロナイザと、(d)前記通信ネットワークにより生じた時間遅れを補償するコンピュータプログラムとを有し、これにより、上記アプリケーションハードウェア／ソフトウェアと前記ユーザ入力装置との間の同期された制御を実現することができる。
【発明を実施するための最良の形態】
【００１０】
以下、本発明の実施例を、添付図面を参照して説明する。
【００１１】
一般的に、本発明は、通信ネットワークの或るノード（以下、“クライアント”と呼ぶ）におけるアプリケーションハードウェア／ソフトウェア及び／又はユーザ入力装置の、他のノード（以下、“サーバ”と呼ぶ）におけるユーザ入力装置及び／又はアプリケーションハードウェア／ソフトウェアによるリアルタイム制御を可能にする。本発明においては、クライアント及びサーバの両者における時計（clocks）が、略同期され、正確なサンプリング周期を有し、且つ、複雑な制御計算を実行する能力を有し、これによりクライアント端で所望の効果が可能にされることを要する。本発明は、この同期及びタイミングの正確さを達成するために、地球測位システム（ＧＰＳ）受信機又はディファレンシャル地球測位システム（ＤＧＰＳ）受信機又は同様のハードウェア／ソフトウェア解決策等の同期装置を含む。また、本発明は、クライアントとサーバとの間（又はその逆の間）で送信される信号を時間的に進め、これにより通信ネットワークを介して信号が進行する間に生じる時間的に変化するネットワーク遅延を補償するために、カルマン（Kalman）フィルタのような複雑な予測アルゴリズムを含んでいる。予測が達成されると、サーバ及びクライアントシステムの両者に対し時間遅れは透明になるであろう。また、この発明は、必要に応じて、クライアントがサーバに、及びその逆になることができる点で柔軟性がある。
【００１２】
図１には、本発明の一実施例によるハードリアルタイム制御センタ（ＨＲＴＣＣ）が示されている。図１に示されるように、ＨＲＴＣＣは、ハードウェア、ソフトウェア及びリアルタイムオペレーティングシステムを含むコアと、アプリケーションインターフェースと、ユーザ入力装置インターフェースと、ネットワークインターフェースとを有している。当該通信ネットワークは有線又は無線インターネットを含むことができる。同期インターフェースは、地球測位システム（ＧＰＳ）受信機又はディファレンシャル地球測位システム（ＤＧＰＳ）受信機等の装置への接続を容易にする。上記ユーザ入力装置インターフェースは、クライアント又はサーバの何れかのアプリケーションハードウェア／ソフトウェアを制御することができるＧＵＩを作成するために、再構成可能型パネルのようなユーザ入力装置（仮想タッチ／触覚を備えるか又は備えない）への接続を容易にする。上記アプリケーションインターフェースは、遠隔制御されるロボット又はインターネットコンピュータゲームのようなアプリケーションハードウェア／ソフトウェアへの接続を容易にする。
【００１３】
図２は、ネットワーク構成の２つのハードリアルタイム制御センタの概念図である。通信ネットワークには如何なる数のハードリアルタイム制御センタも接続することができる。図２に示すように、ＨＲＴＣＣは、通信ネットワーク（例えば、インターネット）上の如何なるノードにも配置することができ、インターネットの何れかの他のノードにおけるアプリケーションハードウェア又は仮想タッチ装置のようなユーザ入力装置のリアルタイム制御を可能にすることができる。この実施例においては、コアはモジュール型の強固なリアルタイムオペレーティングシステム（例えば、ＱＮＸ、ＶＸワークス又はウィンドウズ（登録商標）ＣＥ等）を含むことができ、該オペレーティングシステムはアプリケーションハードウェア及び／又はユーザ入力ハードウェアの間でのローカルな又はネットワークインターフェースを介しての遠隔的なデータ伝送及びリアルタイム制御を可能にするために使用される。ネットワークレイテンシのための時間遅れ補償アルゴリズム（例えば、予測アルゴリズム）も上記コア内に存在する。ネットワークインターフェース、アプリケーションインターフェース、ユーザ入力装置インターフェース及び同期インターネットとしては、容易に再プログラム可能なインターフェースを使用することができる。これらのインターフェースは、既存のアプリケーションハードウェア、ユーザ入力装置及び同期インターフェースと通信するための既存の規格化されたアプリケーションプログラミングインターフェース（ＡＰＩ）を使用する能力も含む。ユーザデータグラムプロトコル（ＵＤＰ）のプロトコル（又は、保証された配信は必ずしも保証しないが、データ伝送の速度は保証するような他の同様のプロトコル）を、上記ネットワークインターフェースを介して使用することができる。
【００１４】
上記アプリケーションハードウェア／ソフトウェア及びユーザ入力装置ハードウェアは、通信ネットワークを介して力フィードバック（force feedback）を伴って又は斯かるフィードバック無しで対話的に互いを制御し又は互いにより制御されることができることに注意されたい。従って、或る状況の下では、サーバはクライアントとして、又はその逆として動作することができる。
【００１５】
上記ＨＲＴＣＣの各構成要素を更に詳細に説明する。
【００１６】
コア：上記コアは、中央処理ユニット（ＣＰＵ）（又はマイクロコントローラ又は他の計算装置）、再プログラミング可能な電気的に消去可能なプログラマブル読取専用メモリ（ＥＥＰＲＯＭ）（又は他の同様のファームウエア）及び関連するソフトウェア／ファームウエアを有する。このハードウェア／ファームウエア上にはリアルタイムオペレーティングシステムが常駐することができる。該コアは、クライアントサイト又はサーバサイトの何れかにおいて、アプリケーションハードウェアとユーザ入力装置との間のインターフェース処理及びデータの交換を扱うことができる。同様に、該コアはＨＲＴＣＣが、ネットワーク上で情報を交換すると共に、ＧＰＳ／ＤＧＰＳデータを収集して当該ネットワーク上の全てのＨＲＴＣＣを同期させるのを可能にする。ＣＰＵが充分な正確さを備えない場合、ＧＰＳ受信機のハードウェアタイマが当該ＨＲＴＣＣのために正確な信号を供給することもできる。ＨＲＴＣＣのＣＰＵは、全てのコントローラ及び予測計算、並びに極めて高い精度に依存しないようなアプリケーションにおいてＧＰＳハードウェア同期を置換するために使用することが可能な如何なるソフトウェア同期技術に対しても責任を負う。
【００１７】
ソフトウェア同期技術は、ＧＰＳ（ハードウェア）同期の機能を置換する技術であり、以下に更に詳細に述べる。１つの普通に使用されている方法はＮＴＰ（ネットワークタイムプロトコル）であり、該プロトコルにおいてはコンピュータの間で（例えば、サーバとクライアントとの間で）タイムスタンプが交換され、これらコンピュータの時計（clocks）を同期させる。充分なデータを交換することにより、最終的にコンピュータの時計を収束させることができる。コンピュータの時計を同期させる如何なる他の方法も使用することができる。
【００１８】
当該ネットワーク上における全てのＨＲＴＣＣが一旦同期されると、時間遅れ効果を除去する受動変換又は予測技術を使用することができる。受動変換技術は通信チャンネルが受動的と見えるように信号を変換する一方、予測器は、クリーンな運動（位置、速度、加速、ジャーク等）値を得るために推定器を使用し、斯かる値が、データが送信されるのに要したのと同じ量の時間により未来で予測されることにより、時間遅れを補償する。この予測された値は、次いで、当該アプリケーションにより使用される。これは、ＣＰＵ又はマイクロコントローラ内で実行される。図３は、予測器及び推定器を、どの様にして時間遅れを補償するために使用することができるかを概念的に表しており、ここで、コンピュータ１及び２は、各々、サーバ及びクライアント、又はその逆であり得る。図３において、点線は時間同期タスクを表しており、該タスクは予測器／推定器の開始に先立ち実行される。この場合、信号は時間遅れ通信チャンネルを介して送信され、推定され、次いでアプリケーションに渡される前に予測される。
【００１９】
以下に、時間遅れを推定及び予測する３つの方法を説明するが、これらは本発明による種々の実施例において使用することができる。
【００２０】
第１の方法は、推測航法である。この方法は、最初は海軍航法を補助するために開発された。基本的に、物体が船外に落とされ、一定量の時間後に、該物体の位置が決定される。これから、該物体が船舶の長さを通過するのに掛かった時間を推定することにより該船舶の速度を計算することができ、該推測航法予測方程式を船首方位と共に使用して、当該船舶の未来の位置の推定を確立することができる。この発明においては、時間履歴から、当該データが送信された時点の位置、速度及び加速を推定することができる。位置、速度及び加速が一旦利用可能になったら、運動方程式を用いて、当該システムが近い未来にあるであろう場合を予測することができる。キーとなる限界は、クリーンな信号（低ノイズレベル）の必要性である。これは、このアルゴリズムにおいては上記信号の導関数をとらなければならず、導関数演算が実行される場合にノイズが著しく増幅される故に必要となる。基本的な線形推測航法方程式は下記のようになる：
【００２１】
【数１】
2005509970.tif 000003
ここで、x(t)は本当の信号であり、xp(t)はx(t)の推定であり、Tdは時間遅れであり、x’(t)はｘの時間に対する導関数を表している。上記予測方程式は線形であることに注意されたい。しかしながら、幾つかの推測航法アルゴリズムは一層高次の導関数（二次及び三次予測方程式となる）を使用するも、多重な導関数をとることはノイズを更に増幅させるだけであろう。上記基本推測航法アルゴリズムに対する多くの変更（例えば、線形／二次／三次スプライン平滑法及び多段推測航法）を、推定値を平滑化するために使用することができる。このノイズ感度を部分的に克服するような、使用することができる他のタイプの推測航法は、予測コントラクト推測航法（Predictive
Contracts Dead Reckoning）と呼ばれる。この推測航法の方法は、クライアント間の状態を予想及び通知するために、幾何学情報のみの代わりに自然言語記述を使用する。Tdは、装置の時計が同期されている場合にのみ計算することができることに注意すべきである。
【００２２】
第２の方法は、ランダム加速モデルカルマンフィルタ予測器である。この技術は推測航法と類似しているが、予測器が運動予測に使用する一層クリーンな位置、速度及び加速データを発生するためにカルマンフィルタを使用する。この予測器は、送信されるべき信号のモデル、ランダム加速モデル、に基づくものである。このモデルにおいては、第１導関数（例えば、速度）は、操縦（manoeuvring）時間（τ）と呼ばれる有限の期間を除いて一定であると仮定される。該操縦時間の間においては、加速は制限されるがランダムである。即ち、信号x(t)が物体の位置を表すとすると、該ランダム加速モデルは、ランダムな加速が速度を変化させる短い期間を除いて、該物体は殆どの時間は一定の速度で運動すると仮定する。n(t)及びv(t)なるランダムホワイトノイズ信号の場合、該ランダム加速モデルは下記の方程式により表すことができる：
【００２３】
【数２】
2005509970.tif 000004
図４は、カルマンフィルタ予測器が、どの様に推定段と予測段とに分解することができるかを概念的に示している。図４に示されるように、推定器はx(k)、x’(k)及びx”(k)の推定であるようなエレメントを持つベクトル信号X^(k)を導関数演算を用いずに発生し、これにより前記推測航法方法により直面されるノイズ増幅問題を防止する。該推定器はTs秒毎に更新されるので、式（２）で定義された当該システムモデルの離散バージョンは下記のようになり得る：
【００２４】
【数３】
2005509970.tif 000005
【００２５】
【数４】
2005509970.tif 000006
状態雑音分散行列及び測定雑音分散行列を各々表す正の定まった対称行列Ｑ及びＲを定義しよう。この場合、上記推定器は下記の方程式により与えられる：
【００２６】
【数５】
2005509970.tif 000007
上記推定器の入力は時間遅延されたデータであるから、X^(k)はx(ξ), x’(ξ), x”(ξ)の推定値であるエレメントを含むようなベクトルであることに注意すべきであり、ここでξ:=kTs−Tdであり、ｋは正の整数である。X^(k)のエレメントは、x^(ξ),
x^’(ξ), x^”(ξ)と定義されるであろう。当該アルゴリズムの初期条件はX^(0)=X^0及びP(0)=P0である。更に、これらの推定値は余りノイズに影響を受けない。何故なら、最適フィルタは状態の最小の分散推定を与えるからである。このように、当該予測器は、真の信号の推定値を発生する場合に、より高次の導関数の推定を使用することができる。予測器方程式は、
【００２７】
【数６】
2005509970.tif 000008
により与えられる。
【００２８】
事実、ランダム加速カルマンフィルタの予測器方程式は、式（６）の最初の２つの項（一定速度／線形推測航法）により又は最初の３つの項（一定加速／二次推測航法）により分かるように、基本推測航法予測方程式の一般化である。
【００２９】
第３の方法はランダムジャークモデルカルマンフィルタ予測器と呼ばれる。信号の“ジャーク”とは、時間に対する位置の第４導関数、又は代わりとして、加速の時間導関数であることに注意すべきである。ランダム加速モデルカルマンフィルタ予測器と同様に、ランダムジャークモデルカルマンフィルタ予測器は、２つの部分：
ａ）推定器が、位置、速度、加速及びジャークのフィルタされたバージョンを提供する、
ｂ）予測器が、推定された速度、加速及びジャークに基づいて位置推定をTd秒未来に投影する、
に分解することができる。
【００３０】
推定器はランダムジャークモデルに基づいて設計され、下記のモデルにより表すことができる：
【００３１】
【数７】
2005509970.tif 000009
【００３２】
【数８】
2005509970.tif 000010
ここで、x(t)は位置であり、n1(t)及びn2(t)はホワイトノイズ入力であり、τは操縦時間変数である。この場合、信号x(t)が物体の位置を表すなら、該ランダムジャークモデルは、該物体はランダムジャークが加速度を変化させる短い期間を除いて、殆ど時間は一定の加速度で運動すると仮定する。該ランダムジャークモデルの離散バージョンは下記により与えられる：
【００３３】
【数９】
2005509970.tif 000011
【００３４】
【数１０】
2005509970.tif 000012
式（８）及び（１０）に見られるように、ここでなされる他の仮定は、ｘの最初の３つの導関数が当該推定器に対して利用可能であるということである。この実施例において、当該システムの導関数は測定可能である（Ce＝Ｉ）。このことは、ｘの導関数が必要であるということである。しかしながら、ノイズは、ここでは問題ではないということに注意すべきである。何故なら、カルマンフィルタはノイズを最小にし、予測器はフィルタ処理された推定値を使用するであろうからである。状態雑音分散行列及び測定雑音分散行列を各々表すような正の定まった対称行列Ｑ及びＲを定義しよう。ここで使用される推定器方程式は、式（５）に見られるものと同一であるが、Ae及びCeに対して方程式（９）及び（１０）に規定される行列を使用する。該アルゴリズムの初期条件は、X^(0)=X^0及びP(0)=P0である。
【００３５】
時間が変化する時間遅れにより、通信チャンネルデータは乱れ又は失われ得るので、通信チャンネルの出力は該通信チャンネルの入力よりも雑音的に見える。従って、サーバ上の推定器を、よりクリーンな入力で動作させ、該推定器の出力をクライアントへ送信する方がよい。このことは、上記カルマンフィルタがより少ないノイズ入力を有し、この結果、より良好な推定が得られることを意味する。この構成が図６に概念的に示されている。
【００３６】
上記予測器は、推定器の出力を送信された後に取り込み、該出力をTd秒未来に投影する。下記の方程式は、予測器方程式を表している：
【００３７】
【数１１】
2005509970.tif 000013
線形推測航法方法は上記方程式に見られる最初の２つの項のみを使用し、ランダム加速モデルフィルタ予測器は上記方程式に見られる最初の３つの項を使用することに注意されたい。
【００３８】
この点に対して示されたように、データはサンプル期間毎にサーバからクライアントへ送信される。これは最良の予測性能の結果となるが、これは帯域幅の見地からは望ましくはないかも知れず、従って帯域幅を低減するために性能を取り引きする方法を以下に提示する。クライアントのアプリケーションがサーバにユーザの動きのモデルを含んでいる（即ち、僅かな入力のみが与えられたとして、クライアントはサーバのロケーションにおいて埋め込まれたモデルを使用することによりユーザの位置を推定することができる）と仮定する。この場合、サーバは僅かな更新を送出することができ、新たな更新が利用可能でない場合は、クライアントはサーバにおいてユーザの位置を推定する責任を負う。
【００３９】
図５は、カルマンフィルタ型予測器時間遅れ補償処理の好ましい実施例のアルゴリズムのフローチャートであり、ここでは該処理はランダムジャークモデルのカルマンフィルタ推定器及び予測器アルゴリズムに適用される。図５を参照して、該ランダムジャークカルマンフィルタ予測器によりとられる基本ステップを以下に説明する。
ａ）送信側のアプリケーションはデータを推定器に供給する。アプリケーションからのデータは該アプリケーションの動作状態に関係し、従って、時間に対して変化する動作位置のような運動情報を含むことができる。
ｂ）上記推定器は上記データをフィルタ処理し（即ち、速度、加速、ジャークの推定値を発生し）、次いで送信ロジックに対して利用可能にする。
ｃ）該送信ロジックは、更新が必要かを、性能及び帯域幅規準に基づいて決定する。更新が必要な場合は、上記推定器からのデータは受信側に送信される。
ｄ）データは、或る時間遅れの後に、受信側で受信される。
ｅ）送信側及び受信側は同期されているので、時間遅れを決定することが可能である。
ｆ）時間遅れ及び受信された運動データを知ると、予測器は、データを該データが遅延されたのと同じ量の時間だけ未来に投影することにより上記時間遅れを補償することができる。
【００４０】
ランダムジャークカルマン推定器及び予測器アルゴリズムの更なる詳細を以下に示す。
【００４１】
図５は、ランダムジャークカルマンフィルタ推定器及び予測器を実施化するために使用されるロジックを示している。受信側（即ちクライアント側）における初期化の間に、ステップ１４において、データが受信されているかを見るために通信チャンネルがチェックされる。受信されていないなら、受信側はデータが利用可能になるまで待つ。送信側における初期化の間において（ステップ１２において）、位置、速度、加速度及びジャークの初期推定値（即ち、x^(0), x^’(0), x^”(0), x^’”(0)）が決定され、ベクトルX^(0)=[ x^(0) x^’(0) x^”(0)
x^’”(0)]Tが形成される。予測エラー分散行列P(0)の初期推定値も該初期化の間に形成される。P(0)を解析的に決定することが不可能な場合は、P(0)=λIと選択することが可能であり、ここでλはスカラ初期加重定数であり、Ｉは適切な大きさの恒等行列である。
【００４２】
ステップ１４において、送信ロジック（１４）は、データが受信側に送信されるべきかを判断する。全体のアプリケーションに依存して、以下のロジックに規定されるように、初期更新を即座に送信することができるか、又は更新が必要とされるまでデータを保持することができる。該送信ロジック及び受信側のアプリケーションに埋め込まれるものは、信号x(t)の同一のモデルである。上記送信ロジック内のモデルは、当該データのスナップショットを入力として使用し（ステップ１３において）、信号x~(t)を出力する。当該送信ロジック内のモデルは受信側のアプリケーションにとり利用可能な情報しか使用しないので、該送信ロジックにおいて発生される信号x~(t)は受信側アプリケーションにおいて発生されるx~(t)と同一である。従って、該送信ロジックは、受信側の知覚される位置x(t)、即ちx~(t)、及び実際の位置x(t)が分かる。しかしながら、妨害はモデル化されていないので、送信側においてアプリケーションを介して妨害が導入された（例えば、ユーザがランダム入力を与える）場合は、x(t)はx~(t)からずれるであろうことに注意されたい。従って、知覚された位置（即ち、x(t)）と実際の位置（即ち、x~(t)）との間の差が所定の閾を超えた場合は、受信側において新たな更新が必要であり、データが送信される。送信されるデータは、タイムスタンプ、現在の位置、速度、加速度及びジャークを含む。この新たな更新により、上記送信ロジック及び受信側のアプリケーションの埋め込みモデルはリセットされ、当該処理が繰り返される。この送信ロジックを組み込むことにより、僅かな更新しか必要とされず、従って帯域幅要件は低減される。
【００４３】
上記送信ロジックが自身のタスクを完了した後、測定分散行列Ｒが与えられたとすると、カルマン利得Ｋ(k)を、式（５）を使用して計算することができる（ステップ１６）。これに続いて、送信側アプリケーションは現在の位置、速度、加速及びジャークを含むデータ更新を供給し（ステップ１５）、式（１０）に規定されたようにベクトルｙ(k)を形成する（ステップ１８）。次いで、これらＫ(k)及びｙ(k)の値が与えられたとして、更新された推定値X^(k+1)及び更新された分散行列P(k+1)を、式（５）を用いて計算することができる（各々、ステップ２２及び２４）。これらの更新は、次いで、当該アルゴリズムの次の反復（ｋが１だけインクリメントされる）において使用される。
【００４４】
受信側においては、データが一旦受信されると（ステップ３２）、受信側コンピュータ上の現時間を当該データパケット上のタイムスタンプから減算することにより時間遅れを決定することができる。何故なら、上記２つの側は同期されているからである。この計算された時間遅れTd、並びに位置ｘ(t-Td)、速度x’(t-Td)、加速x”(t-Td)及びジャークx”’(t-Td)の遅延バージョンが与えられると、位置xp(t)の予測は、式（１１）を用いて計算することができ、次いで、受信側のアプリケーションに渡される。
【００４５】
図５に図示したロジックはデータが一方向のみに送信されるのを示しているが、双方向通信が必要な場合、当該ネットワークにおける各ノードは上記送信側ロジック及び受信側ロジックを必要とするであろう。
【００４６】
一般的に言って、ランダムジャークモデルカルマンフィルタ予測器は予測のために三次方程式を使用するが、ランダム加速モデルカルマンフィルタ予測器は二次方程式のみを使用し、推測航法予測器は典型的には線形方程式を使用することに限定される。予測方程式の余分な次数は、一層正確な予測を可能にする。これが図７に示されており、該図は、ランダム加速モデルカルマンフィルタ予測器及び線形推測航法予測器と較べた、ランダムジャークモデルカルマンフィルタ予測器のような高次の予測器方程式を用いた影響を概念的に示している。ノード間のデータ伝送が非同期であり得ることにも注意すべきである。これは、必要な場合にのみデータを送出することは帯域幅要件を節約するであろうから、有効である。
【００４７】
ランダムジャークモデルカルマンフィルタ予測器を他のアルゴリズムに対して評価及び比較するために、ユーザのランダムなコンピュータマウスの運動からデータのサンプルが収集され、該情報が、７５ｍｓなる平均の一方向の時間変化的時間遅れを持つ通信ネットワークを介して、或るコンピュータから他のコンピュータへ送信された。該ランダムジャークモデルカルマンフィルタ予測器の予測結果は、図８において、ランダム加速モデル予測器及び推測航法予測器と比較されている。図８ａ及び図８ｂは、各々、図８における部分Ａ及び部分Ｂの拡大図である。該信号は、上記マウスのｘ位置をエンコーダカウントで表している。明らかに、ランダムジャークモデルカルマンフィルタ予測器は、特にユーザにより方向の変更がなされた場合に、オーバーシュートが少ないことを示している。
【００４８】
図９は、本発明の一実施例の概念図であり、該実施例においてはカルマンフィルタ推定器及び予測器アルゴリズムがインターネットゲームアプリケーションにおけるようにサーバ／クライアントネットワークアーキテクチャで構成されている。該サーバ及びクライアントは同期された時計を有し、同期はソフトウェア又はハードウェア方法により達成される。一人のプレーヤはサーバとして働き、全ての残りのプレーヤはクライアントとして働く。各プレーヤは、関連するゲームのオブジェクト（例えば、車、飛行機等）及びゲーム環境のモデル（例えば、道路障壁、ミサイル等）の制御を有する。
【００４９】
図９を参照して、この実施例の詳細を以下に説明する。
（ａ）サーバは、他の全てのプレーヤのオブジェクトの状態に関連するデータ（サーバ送信ロジックを介してのX^server(t)）をクライアントの予測器に間欠的に送信する。データが何時送信されるかについての説明は、ステップ（ｉ）において明らかになる。
（ｂ）クライアントの予測器の目的は、データの送信の間に掛かる時間遅れを補償することであり、そのようにすることにより、クライアントのアプリケーションに各プレーヤのオブジェクトの位置の推定値を提供することである。予測器方程式及びロジックは、式（１１）及び図５により先に説明した通りである。
（ｃ）クライアントのアプリケーションは、クライアントのオブジェクトに関連するデータをクライアントの推定器に供給する。他のプレーヤのオブジェクトのモデルもクライアントのアプリケーションに組み込まれているので、更新の間における他のプレーヤの位置の推定値を決定することができる。
（ｄ）次いで、クライアントの推定器は当該信号をフィルタ処理し、該信号を、サーバに送信して戻す準備として、クライアントの送信ロジックに渡す。推定器方程式及びロジックは、式（５）及び図５により先に説明した通りである。
（ｅ）クライアントの送信ロジック（図９では“Ｔｘロジック”により示す）も、更新の間におけるクライアントの位置を推定するために他の各プレーヤにより使用されるクライアント自身のオブジェクトのモデルを有している。該送信ロジックは上記モデルにより得られた位置の推定値を、アプリケーションにより供給された実際の位置と比較する。該実際の位置と上記モデルの出力との間の差が何らかの閾より大きい（即ち、他のプレーヤにより知覚される位置が実際の位置によく一致しない）場合は、更新が必要であり、該送信ロジックは該クライアントの推定器の出力をサーバの予測器に送信する。この送信ロジックの目的は、サーバに送信する必要があるデータの量を低減し、かくして、帯域幅及びサーバにおいて必要とされる計算労力を低減することである。
（ｆ）サーバにおいてクライアントからデータが受信されると、該サーバの予測器は受信されたデータの時間遅れを補償し、該予測をサーバのアプリケーションに受け渡す。予測器方程式及びロジックは、式（１１）及び図５により先に説明した通りである。
（ｇ）次いで、サーバのアプリケーションは全プレーヤの総合的状態を更新する。クライアントと同様に、サーバのアプリケーションも各プレーヤのモデルを有するので、更新の間において各プレーヤの推定値を決定することができる。また、該サーバのアプリケーションは、この総合的状態を該サーバの推定器に供給する。
（ｈ）次いで、サーバの推定器は運動の推定値を発生し、これら推定値を、クライアントへの送出の準備として該サーバの送信ロジックに渡す。推定器方程式及びロジックは、式（５）及び図５により先に説明した通りである。
（ｉ）或るクライアントからの更新の受信は、サーバの送信ロジックにおいて全ての他のクライアントの予測器へ更新を送出するトリガとして作用する。
【００５０】
上記ステップ（ａ）〜（ｉ）は、クライアントとサーバとの間のデータ伝送が如何にして達成されるかを述べている。クライアント２からのデータがクライアント１により必要とされる場合、データは先ずクライアント２からサーバに伝送され、次いで、クライアント１は該クライアント２のデータをサーバから得ることができる。
【００５１】
これらは３つの可能性のある予測技術であるが、本発明は全ての他の類似の予測技術を含むものである。上記好ましい実施例の拡張及び／又は簡略化の幾つかの例は下記の通りである：
（ａ）上記ランダムジャークモデルを一層高い導関数（例えば、ジャークの導関数を当該モデルに含める）に拡張すれば、より多い計算を犠牲としてではあるが、一層良好な予測結果が得られ得る。
（ｂ）ランダムジャークモデルカルマンフィルタ予測器（例えば、図６）の予測気段及び推定器段の分離は必要ではない（例えば、図３）。インターネットゲームアプリケーションに関して推定器段及び予測器段が一緒のままであるものを示す他の実施例が、図１０に図示されている。図１０において、各クライアントにおける推定器は全ての他のクライアントに対して位置を推定する必要があることに注意すべきである。しかしながら、図９においては、各クライアントにおける推定器は自身の現位置を推定するだけでよい。このことは、図９に示す構成においては、より多くの計算がサーバに渡されていることを意味する。
（ｃ）この時点まで述べたコンピュータアーキテクチャは、サーバ／クライアント型であった。しかし、本発明は如何なるネットワークアーキテクチャ（例えば、ピアツーピア、トークンリング）にも適用することができる。各ネットワークアーキテクチャに対して、各ランダムジャークカルマンフィルタ予測器の推定器及び予測器の分割は、図９に示すように実行することができるか、又は図１０に示すように一緒のままとすることができる。
（ｄ）好ましい実施例において述べた推定器の入力は、位置、速度、加速度及びジャークを含んでいた。多くの信号が存在する大規模なシステム／ネットワークの場合は、全ての高次の導関数が同様に送信されねばならないなら、帯域幅が影響を被る可能性がある。他の実施例においては、位置しか送信する必要がなく、推定器は複数の入力の代わりに単一の入力で設計することができる。例えば、式（１０）に見られるランダムジャークモデルにおいて、Ｃｅ＝Ｉの代わりにＣｅ＝[１０００]を使用することができる。
（ｅ）別のランダムモデルを使用すると、特定のアプリケーションに対して一層良好な追跡性能も得られ得る。例えば、ランダム歩き速度モデル（Random Walk Velocity Model）、
【００５２】
【数１２】
2005509970.tif 000014
又はランダム速度モデル、
【００５３】
【数１３】
2005509970.tif 000015
又はランダム歩き加速モデル、
【００５４】
【数１４】
2005509970.tif 000016
又は、これらモデルの何らかの更なる拡張も推定器を設計するために使用することができる。幾つかのモデルは、他のものよりアプリケーションにとり一層好適となるであろう。
（ｆ）幾つかのアプリケーションにおいては、信号の高次の導関数は測定することができるので（例えば、加速度計が使用される）、導関数をとることは必要ではないかも知れない。
（ｇ）予測技術の代わりに、波形変数（wave variable）変換と呼ばれる他の時間遅れ補償方法を使用することもできる。波形変数変換は、通信チャンネルが受動的のままとなるのを保証するために、送信に先立ち及び受信の後で信号に適用される。通信チャンネルが受動的のように見える場合、当該システムは自身の信号をコンデンサ、抵抗及びインダクタの等価な組を通すように思われる。言い換えると、当該システムには、このシステムにエネルギを投入して該システムを不安定にさせるような能動的部品は存在しない。チャンネルが受動的であることを保証することにより、各コンピュータに対して受動的制御アルゴリズムを使用し、当該システムの全体の安定性に対する理論的保証をなすことができる。しかしながら、これらの変換は非常に控え目なものであって、時間遅れが一定であることを要するので、結果としてのシステム性能は典型的には劣ることに注意されたい。
（ｈ）通信ネットワークの特性は時間にわたり変化し得るものであり、前記予測器の他の実施例は、これらの変化を考慮するために、推定器及び予測器のパラメータを適応的に変更するものである。例えば、前記測定分散行列は日の異なる時間で異なるものとすることができる。従って、最も適切な行列を、当該アプリケーションが動作している日の時間に基づいて選択することが有利であろう。
（ｉ）幾つかのアプリケーションにおいては、ハードリアルタイム制御は必要とされないかも知れない。従って、他の実施例はソフトリアルタイムシステム又はイベント型システムを使用するものであろう。
ネットワークインターフェース：
このインターフェースは、前記コアからのデータをインターネット（又は他の通信ネットワーク）を介して送信するための適切なフォーマット／プロトコルに変換する（又は、その逆を行う）全てのハードウェア（例えば、ＥＰＧＡ：フィールドプログラマブルゲートアレイ）及びソフトウェアを含んでいる。このインターフェースは、全ての通常のプロトコル（送信制御プロトコル／インターフェースプロトコル（ＴＣＰ／ＩＰ）、ユーザデータグラムプロトコル（ＵＤＰ）、無線アプリケーションプロトコル（ＷＡＰ）等）をサポートすることができるように、モジュール型とされるであろう。同様に、ブルートゥースのようなローカル無線フォーマットをサポートする能力も含むことができる。
同期インターフェース：
同期ハードウェア（ハードウェアタイマ）が正確な時間情報のソースをインターフェースに供給し、該インターフェースが前記コアに割り込みを出力して、ＨＲＴＣＣのためのミリ秒の極僅かまでの絶対精度を提供する。
【００５５】
ＧＰＳ受信機又は原子及び他の高精度時計のような該同期ハードウェアは、世界の何処でも一致する正確な時間を供給することができる。これらのハードウェアタイマの何れかにアクセスするコンピュータは、斯かるタイマから現在の絶対時間を得ると共に、該時間を同期目的で内部タイマとして使用することができる。この発明の本実施例は、当該同期ハードウェアとして、地球測位システム（ＧＰＳ）受信機及びディファレンシャル地球測位システム（ＤＧＰＳ）受信機を使用している。しかしながら、ＧＰＳ及びＤＧＰＳ受信機の代わりに、如何なる他の種類のハードウェアタイマを使用することもできる。
【００５６】
ＧＰＳ受信機からは、ナノ秒のオーダの正確なタイミング情報（世界協調時間（ＵＣＴ）、世界標準時に追従可能）を得ることができる。ＧＰＳの設計は、世界の何処における受信機も、ＧＰＳ衛星上の原子時計により維持された非常に正確な時間を発生することができることを要する。この正確なタイミング情報を供給するために、ＧＰＳ受信機は、毎秒、丁度秒に活性化されるような秒毎パルス（ＰＰＳ：Pulse-Per-Second）と呼ばれる専用の信号を有している。ＰＰＳ信号は世界の何処においても正確な（準ミリ秒の精度まで正確である）時間に発生されるから、前記サーバコンピュータ及びクライアントコンピュータの両者は、斯かる両コンピュータ上の内部タイマを開始する指示情報として上記ＰＰＳ信号を待つことができる。該サーバコンピュータ及びクライアントコンピュータは、自身の時計を後続のＰＰＳ信号に再同期させることができる。何故なら、通常のコンピュータの内部の時計は、低品質のクロック水晶により急速にずれる傾向があるからである。
【００５７】
ＧＰＳ受信機とインターフェースするための多くの異なる方法が存在する。ＧＰＳ受信機は、集積要件に依存して種々の構成となる。ＨＲＴＣＣを実行するコンピュータとインターフェースする現在の構成は、シリアルポートを介するものである。受信機のシリアルポートから出力するＰＰＳ信号はマイクロ秒のオーダのパルス長を有するが、このパルス長はコンピュータのシリアルポートが捕捉するには短か過ぎる。受信機からのＰＰＳ信号を捕捉すると共に、該信号をコンピュータが認識及び処理することができるほど充分に長く保持するために、ＲＳラッチを利用した特別な回路が使用される。ＧＰＳ受信機をコンピュータとインターフェースさせる、例えばコンピュータの拡張スロットに挿入されるＰＣＩ又はＩＳＡ型ＧＰＳボード等の他の方法も使用することができる。
【００５８】
同期方法の本構成は、初期化するのに２つのＰＰＳ信号を必要とする。最初のＰＰＳ信号は、コンピュータに受信機から現在の絶対時間を取得するよう指示する。ＧＰＳから取得された絶対時間は、コンピュータのメモリのローカルに記憶され、各サンプリング期間毎に更新される。このタイマ値は、次いで、通信リンクを介して送出されるデータパケットにタイムスタンプを付すために使用される。上記受信機から絶対時間を取得する応答時間は長く（数十ミリ秒のオーダ）且つ変化するという事実により、サーバコンピュータ及びクライアントコンピュータの両者における制御処理の開始を通知するために第２ＰＰＳが必要である。ＰＰＳは丁度秒で通知されるので、該第２ＰＰＳが検出されたら内部タイマを秒に整列するよう調整する必要がある。
上述した動作シーケンスは同期を達成するほんの一例に過ぎない。本発明は時間同期を達成するために如何なる他の方法も含むことができる。
アプリケーションインターフェース：
これは、前記コアから信号を取り込み、これら信号を前記アプリケーションハードウェア上のアクチュエータにより使用することが可能な形態（電圧、電流、パルス幅変調（ＭＷＭ）等）に変換するマイクロコントローラ又はマイクロプロセッサとすることができる。また、該アプリケーションインターフェースは、アプリケーションハードウェアからのセンサ信号（エンコーダの読み、デジタル信号、アナログ信号等）を前記コアにより使用可能な形態に変換する。例えば、上記アプリケーションハードウェアは、コンピュータゲーム用のグラフィックディスプレイ、又は自動化高速道路システムにおける自動車、又はテレヘルスアプリケーションにおける手術ロボットであり得る。
ユーザ入力装置インターフェース：
ハードウェア及びソフトウェアの両者を含むユーザ入力装置インターフェースは、前記コアから信号を取り込むと共に、斯かる信号を仮想タッチ装置のようなユーザ入力ハードウェア又はソフトウェアに固有の形態に変換するマイクロコントローラ又はマイクロプロセッサであり得る。該インターフェースは、既製の及び特注の両者のユーザ入力装置をサポートする。また、該インターフェースはユーザ入力装置からのセンサ信号を上記コアにより使用可能な形態に変換する。前記アプリケーションインターフェースとは異なり、該ユーザ入力装置インターフェースは必ずしもアクチュエータへ生信号を送出し又はセンサから生信号を読み取る（例えば、モータへの電流、モータに関するエンコーダの読み）必要はなく、通常の又は仮想のタッチ装置のようなユーザ入力装置から直接データを送出し／読み取る（例えば、所望のモータ位置、ジョイスティック上で感知された力等）。
【００５９】
本発明の種々の適用例及び斯かる適用例に関連する利点を以下に説明する。
１．オンライン対話型コンピュータゲーム：インターネット上で複数ユーザが互いに競うオンラインコンピュータゲームは、現在のところ、プレーヤ間で非常に限られた力の対話しか有していない。本発明によれば、ユーザ間の正確な時間同期によりリアルタイムな力の効果を送信することができる。例えば、幾人かのユーザの間での格闘ゲームにおいては、全ての接触力が適切な大きさで且つ適切なシーケンスで感じられることが必須である。同様に、大量の複雑な力及び予測計算を達成する主サーバを有し、かくして、力を反映するオンラインコンピュータゲーム可能にするために乏しいクライアントモデルを使用することも可能である。ネットワーク上の乏しいクライアントは、当該システムの機能の大部分が該ネットワーク上のサーバにあることに依存する。
２．ネットワーク化シミュレータ：
上記オンラインゲームのものと類似のアプリケーションは、ネットワーク化されたシミュレータである。仮想現実シミュレータは、現在のところ同一の地理的サイトに配置されたコンピュータにより実行されている。遠隔サイトの仮想現実シミュレータが１つの仮想環境にまとめて接続されると、ネットワーク時間遅れが問題を生じる。異なるシミュレータからのアバタール（人に操作される仮想物体）が相互に作用し合うと、時間遅れがオーバーシュートを生成させ、触覚効果の場合には、危険な発振を生じさせ得る。この発明は時間遅れアーチファクトを除去し、遠隔位置の人間のユーザが、あたかも同一の地理的位置に配置されたコンピュータに接続されているかのように相互作用しあうのを可能にする。このように、この技術は分散型仮想環境（ＤＶＥ）に関連する率先性をサポートする。
３．テレプレゼンス：
本発明の能力によれば、ユーザを、インターネットを介して見る、聞く及び触る能力を備えた遠隔の環境に浸らせることができる。ユーザはＶＲゴーグル（又は同様の装備）を着けてローカルなサイトに座り、ユーザに力の感覚を与える仮想タッチ装置及びＧＵＩとインターフェースする。遠隔位置には、ステレオ対のカメラ及び取り付けられた仮想タッチ装置を備える移動車両又は装置が存在する。この場合、ローカルなユーザは、上記遠隔の移動車両を、当該ＨＲＴＣＣを使用して制御することができる。上記ステレオカメラは上記ＲＶゴーグルの現在位置を追跡し（時間遅れが存在しても）、ビデオを該ＶＲゴーグルに中継して戻す。最後に、当該ＨＲＴＣＣは、ユーザが上記遠隔タッチ装置を使用して時間遅れが存在しても物体に接触することができるように使用される。このようにして、ユーザは例えば遠隔サイトに居るような向上された現実感を有するようになる。
４．自動化高速道路システム（ＡＨＳ）：
現在テレマチックス（telematics）アプリケーションに使用されているソフトウェア／ハードウェア／ファームウエアプラットフォームを本発明のハードリアルタイム制御技術と一緒に使用して、ＡＨＳにおける多くの機能を可能にすることができる。これは、かくして高速道路上で或る車両が他の車両を制御することが可能となり、サーバに高速道路上の全ての車両をリアルタイムで制御させることも可能となるからである。このようにして、自動車を自動車間にあたかも仮想の引き棒が存在するかのように自律的に走行させ、車両間に少ない間隔を形成させ、かくして効率を上昇させることができる。事故の場合に、サーバが即座に安全制動方法（例えば、２つのセミトレーラの間に自動車がいることは、全ての車両が実質的に同じ割合で停止しない限り事故のもととなる）又は軌道変更を実行させる場合には、衝突防止を行うことができる。これは、法律の実効のためにも有効である。というのは、盗難車両又は具合の悪い人により運転されている車両の制御を安全に受け継ぐことができるからである。警察官は斯かる車両を安全な場所まで運転することができる。
５．遠隔車両制御：
本発明は、陸上車両、航空機及び水陸両用車を含む車両制御場所のホストに広く適用することができることに注意すべきである。当該ＨＲＴＣＣプラットフォームは、ユーザに、適切ならば接触を使用して斯かる車両を遠隔的に操縦する能力を提供する。例えば、飛行管制塔内にいるパイロットに、ハイジャックされた航空機の制御を引き継ぎ、該航空機を安全に飛行させる能力を付与することができる。更に、飛行管制塔における制御部に、実際の航空機制御部に対する力をエミュレートするタッチの感覚を付与することができる。
６．電力システム制御：
規制緩和の今日において、複雑な電力システムにおいては、資源が効率的に管理され電力の流れが中断されないことが一層重要になってきている。しかしながら、これを行うために、提案されている多くの複雑な制御アルゴリズムは、当該電力ネットワークの一部における中断は該ネットワークの他の部分において補償することができると仮定している。当該ＨＲＴＣＣは、中断を発生したノードが当該ネットワークの他の部分における他の装置を制御して、停電、電灯制限又は全体的な電圧低下の可能性を低減することができる。
７．テレヘルス：
遠隔外科手術（telesurgery）、遠隔指導（telementoring）、遠隔描画（telestration）及び遠隔触診（telepalpation）を含む多数のテレヘルス率先例が、当該ＨＲＴＣＣ技術から利益を受けることができる。各々の場合において、ヘルスケア専門家（ＨＣＰ）には、ネットワークを介して装置を制御して、接触の感覚を伴い又は伴わずに患者と接する能力が付与される。遠隔外科手術の場合、ＨＣＰは遠隔ロボットを制御して外科処置を実行する。遠隔指導の場合、ＨＣＰは遠隔地の同僚を、接触の感覚を伴って能力化された装置を用いて、動脈網を介してのカテーテルの挿入のような処置又は外科処置を指導する。遠隔描画の場合、ＨＣＰは遠隔地の同僚が処置を実行するのを、カメラ画像のリアルタイムな印し付けにより支援することができる。遠隔触診の場合、ＨＣＰは遠隔装置を制御して患者を触診することができる。これらアプリケーションの全ては、当該ＨＲＴＣＣプラットフォームを用いて可能化することができる。
８．ビデオ監視：
遠隔地に設置された静止カメラのホストを体系的に記録及び監視することによるビデオ監視が、しばしば、採用されている。当該ＨＲＴＣＣを使用して、これらカメラをパン／チルト運動を含むようにアップグレードすることができ、ユーザはネットワーク上の如何なるカメラもリアルタイムにアクセス及び制御することができるであろう。状況が明らかになりつつあるなら、ユーザは関連するカメラをリアルタイムに旋回させて、しばしば静止カメラの範囲外にある証拠を捕捉することができる。
９．遠隔ロボット（telerobotics）：
当該ＨＲＴＣＣプラットフォームの使用からは、一般的に、地雷除去、爆弾除去、偵察、遠隔保守作業（危険区域におけるもののような）、採掘ロボットの制御等のアプリケーション用の遠隔ロボットが利益を受けるであろう。全ての場合において、ユーザはロボットを遠隔的に制御して、周囲に接触し及び感じることができるという付加価値を伴って所望の作業を実行することができる。
【００６０】
以上、本発明を特定の実施例を参照して説明したが、該説明は本発明の解説であって、本発明を限定するものと見なしてはならない。当業者によれば、添付請求項に記載された本発明の真の趣旨及び範囲から逸脱すること無しに種々の変形をなすことができる。
【図面の簡単な説明】
【００６１】
【図１】図１は、本発明の一実施例によるハードリアルタイム制御センタ（ＨＲＴＣＣ）の概念図である。
【図２】図２は、ネットワーク構成の２つのハードリアルタイム制御センタの概念図である。
【図３】図３は、予測器が時間遅れを補償するためにどの様に使用することができるかを示す概念図である。
【図４】図４は、カルマンフィルタ予測器を、どの様にして推定段と予測段とに分解することができるかを示す概念図である。
【図５】図５は、カルマンフィルタ型予測器による時間遅れ補償処理の好ましい実施例のアルゴリズムを示すフローチャートである。
【図６】図６は、サーバ／クライアントアーキテクチャにおけるランダムジャークモデル・カルマンフィルタ予測器の好ましい実施例の概念図である。
【図７】図７は、ランダム加速モデルのカルマンフィルタ予測器及び線形推測航法予測器と比較した、ランダムジャークモデルのカルマンフィルタ予測器のような高次予測器方程式を使用した影響を示す。
【図８】図８は、通信チャンネルに７５ｍｓの一方向平均時間遅れが存在する場合の種々の予測器の予測追跡性能を比較するプロット図である。
【図８ａ】図８ａは、図８の選択された部分のプロット図である。
【図８ｂ】図８ｂは、図８の他の選択された部分のプロット図である。
【図９】図９は、サーバ／クライアントアーキテクチャのゲームアプリケーションにおけるカルマンフィルタ予測器の実施例の概念図である。
【図１０】図１０は、カルマンフィルタ予測器の他の実施例の概念図で、推定器段及び関連する予測器段が分離されておらず、同一のノードに共通配置されている。
【図１】
2005509970.tif 000017
【図２】
2005509970.tif 000018
【図３】
2005509970.tif 000019
【図４】
2005509970.tif 000020
【図５】
2005509970.tif 000021
【図６】
2005509970.tif 000022
【図７】
2005509970.tif 000023
【図８】
2005509970.tif 000024
【図８ａ】
2005509970.tif 000025
【図８ｂ】
2005509970.tif 000026
【図９】
2005509970.tif 000027
【図１０】
2005509970.tif 000028
【国際調査報告】
2005509970.tif 000029
2005509970.tif 000030
2005509970.tif 000031