(57)【特許請求の範囲】
【請求項１】
スクリプトの処理を行う制御装置であって、
実行するように要求された複数のスクリプトが未実行の状態の場合に、前記複数の未実行のスクリプトに含まれるコマンドのうちいずれかのコマンドの発行時刻を基準として所定の時間範囲内に発行された未実行のコマンドを抽出し、前記抽出された未実行のコマンドのうち前記未実行のコマンドに付随する制御対象を制御するためのパラメータ値が予め設定された所定条件を満たすコマンドを、実行時に共通化することが可能な候補として抽出するスクリプト分析手段と、
前記共通化することが可能な前記候補に基づいて前記複数のコマンドの全てまたは一部のコマンドを統合化するスクリプト統合手段と、
を備えることを特徴とする制御装置。
【請求項２】
スクリプトの処理を行う制御装置であって、
実行するように要求された複数のスクリプトが未実行の状態の場合に、前記複数の未実行のスクリプトに含まれるコマンドのうちいずれかのコマンドの発行時刻を基準として所定の時間範囲内に発行された未実行のコマンドを抽出し、前記抽出された未実行のコマンドのうち同一あるいは類似の実行結果に到達することが期待されるコマンドを、実行時に共通化することが可能な候補として抽出するスクリプト分析手段と、
前記共通化することが可能な前記候補に基づいて前記複数のコマンドの全てまたは一部のコマンドを統合化するスクリプト統合手段と、
を備えることを特徴とする制御装置。
【請求項３】
ネットワークに接続された、請求項１又は２に記載の制御装置であって、前記実行するように要求されたスクリプトは、前記ネットワークを介して供給されることを特徴とする制御装置。
【請求項４】
請求項１乃至３の何れか１項に記載の制御装置であって、前記スクリプト分析手段において、前記発行時刻として、前記スクリプトの送信元がスクリプトを送信した時刻あるいは受信側である制御装置がスクリプトを受信した時刻を用いることを特徴とする制御装置。
【請求項５】
スクリプトの実行要求を行う少なくとも一つの端末と、該端末とネットワークを介して接続された請求項１乃至４の何れか１項に記載の制御装置とを備える制御システムであって、前記制御装置が、前記スクリプト分析手段によって導出されたスクリプト統合の結果を用いてスクリプトの統合を行うことの可否について、統合に使用されたスクリプト要求を行った端末に確認することを特徴とする制御システム。
【請求項６】
スクリプトの処理を行う制御方法であって、
実行するように要求された複数のスクリプトが未実行の状態の場合に、分析手段が、前記複数の未実行のスクリプトに含まれるコマンドのうちいずれかのコマンドの発行時刻を基準として所定の時間範囲内に発行された未実行のコマンドを抽出し、前記抽出された未実行のコマンドのうち前記未実行のコマンドに付随する制御対象を制御するためのパラメータ値が予め設定された所定条件を満たすコマンドを、実行時に共通化することが可能な候補として抽出するスクリプト分析ステップと、
統合手段が、前記共通化することが可能な前記候補に基づいて前記複数のコマンドの全てまたは一部のコマンドを統合化するスクリプト統合ステップと、
を備えることを特徴とする制御方法。
【請求項７】
スクリプトの処理を行う制御方法であって、
実行するように要求された複数のスクリプトが未実行の状態の場合に、分析手段が、前記複数の未実行のスクリプトに含まれるコマンドのうちいずれかのコマンドの発行時刻を基準として所定の時間範囲内に発行された未実行のコマンドを抽出し、前記抽出された未実行のコマンドのうち同一あるいは類似の実行結果に到達することが期待されるコマンドを、実行時に共通化することが可能な候補として抽出するスクリプト分析ステップと、
統合手段が、前記共通化することが可能な前記候補に基づいて前記複数のコマンドの全てまたは一部のコマンドを統合化するスクリプト統合ステップと、
を備えることを特徴とする制御方法。
【請求項８】
ネットワークに接続された、請求項６又は７に記載の制御方法であって、前記実行するように要求されたスクリプトは、前記ネットワークを介して供給されることを特徴とする制御方法。
【請求項９】
請求項６乃至８の何れか１項に記載の制御方法であって、前記スクリプト分析ステップにおいて、前記発行時刻として、前記スクリプトの送信元がスクリプトを送信した時刻あるいは受信側である前記スクリプトの処理を行う制御装置がスクリプトを受信した時刻を用いることを特徴とする制御方法。
【請求項１０】
スクリプトの実行要求を行う少なくとも一つの端末と、該端末とネットワークを介して接続された請求項６乃至９の何れか１項に記載の制御方法を行う制御装置とを備える制御システムにおける制御方法であって、
前記制御装置が、前記スクリプト分析ステップによって導出されたスクリプト統合の結果を用いてスクリプトの統合を行うことの可否について、統合に使用されたスクリプト要求を行った端末に確認することを特徴とする制御方法。
【請求項１１】
スクリプトの処理を行う制御プログラムであって、
実行するように要求された複数のスクリプトが未実行の状態の場合に、前記複数の未実行のスクリプトに含まれるコマンドのうちいずれかのコマンドの発行時刻を基準として所定の時間範囲内に発行された未実行のコマンドを抽出し、前記抽出された未実行のコマンドのうち前記未実行のコマンドに付随する制御対象を制御するためのパラメータ値が予め設定された所定条件を満たすコマンドを、実行時に共通化することが可能な候補として抽出するスクリプト分析機能と、
前記共通化することが可能な前記候補に基づいて前記複数のコマンドの全てまたは一部のコマンドを統合化するスクリプト統合機能と、
をコンピュータに実現させることを特徴とする制御プログラム。
【請求項１２】
スクリプトの処理を行う制御プログラムであって、
実行するように要求された複数のスクリプトが未実行の状態の場合に、前記複数の未実行のスクリプトに含まれるコマンドのうちいずれかのコマンドの発行時刻を基準として所定の時間範囲内に発行された未実行のコマンドを抽出し、前記抽出された未実行のコマンドのうち同一あるいは類似の実行結果に到達することが期待されるコマンドを、実行時に共通化することが可能な候補として抽出するスクリプト分析機能と、
前記共通化することが可能な前記候補に基づいて前記複数のコマンドの全てまたは一部のコマンドを統合化するスクリプト統合機能と、
をコンピュータに実現させることを特徴とする制御プログラム。
【請求項１３】
ネットワークに接続された、請求項１１又は１２に記載の制御プログラムであって、前記実行するように要求されたスクリプトは、前記ネットワークを介して供給されることを特徴とする制御プログラム。
【請求項１４】
請求項１１乃至１３の何れか１項に記載の制御プログラムであって、前記スクリプト分析機能において、前記発行時刻として、前記スクリプトの送信元がスクリプトを送信した時刻あるいは受信側である制御プログラムがスクリプトを受信した時刻を用いることを特徴とする制御プログラム。
【請求項１５】
スクリプトの実行要求を行う少なくとも一つの端末と、該端末とネットワークを介して接続された請求項１１乃至１４の何れか１項に記載の制御プログラムを組み込んだ制御装置とを備える制御システムにおける制御プログラムであって、
前記制御装置に、前記スクリプト分析機能によって導出されたスクリプト統合の結果を用いてスクリプトの統合を行うことの可否について、統合に使用されたスクリプト要求を行った端末に確認する機能を更にコンピュータに実現させることを特徴とする制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークによって接続された複数の計算機または処理装置の間で行う遠隔制御の最適化方法およびこれを用いたネットワーク型制御システム、ネットワーク型制御方法及びネットワーク型制御プログラムに関する。
【背景技術】
【０００２】
端末から、コンピュータネットワークを介して接続された電子機器や計算機を制御する分散型の計算機システムが広く用いられている。
【０００３】
例えば、アクチュエータを備え、撮像する方向を制御可能なアクティブ型のＷｅｂカメラを遠隔地から制御可能なシステムが、ビルなどの監視用途、商品の在庫管理、観光地の情報提供、といった用途で用いられている。
【０００４】
これらのシステムでは、複数の端末から遠隔制御可能な機器に対して、所望の動作をさせるためのコマンドやコマンドシーケンスが送信される（例えば特許文献１参照）。
【特許文献１】特開２０００−０９９３３２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
この点、上述した分散型の遠隔制御システムには、以下の問題点があった。
【０００６】
上述した分散型の遠隔制御システムの問題点は、複数の端末からの動作制御要求が時間的に短い間隔で発行されている場合や、あるいは未実行の動作制御要求が溜まっている場合であって、更に動作制御要求が発行された場合は、時間的に後に発生した動作制御要求の実行が遅れてしまうことである。
【０００７】
その理由は、上述した分散型の遠隔制御システムは、単一のホストコンピュータからの動作制御要求のみしか受け付けないような設計がなされている場合があるためである。また、複数のホストコンピュータからの動作制御要求を受け付けるように設計されている場合であったとしても、要求のあった順番に取りこぼすことなく実行するような設計しかなされていないためである。
【０００８】
上述の問題点に鑑みて、単一のクライアントからの一連の遠隔手続き群をまとめて新たな遠隔手続きとすることにより、複数回の遠隔手続きによる通信を１回に低減するという技術がある。しかし、この技術は単一のクライアントからの要求についてのみ考慮されている技術であり、複数のクライアントからの要求については考慮されていない。
【０００９】
そこで、本発明は、複数の端末からの動作制御要求が同時に発生している場合、または未実行の動作制御要求が溜まっている場合において、時間的に後に発生した要求の実行までの待ち時間を短縮することが可能なネットワーク型制御システム、ネットワーク型制御方法及びネットワーク型制御プログラムを提供することを目的とする。
【００１０】
更に、本発明は、複数の端末からの動作制御要求が同時に発生している場合、または未実行の動作制御要求が溜まっている場合において、コマンド実行の効率的な処理が可能な
ネットワーク型制御システム、ネットワーク型制御方法及びネットワーク型制御プログラムを提供することを他の目的とする。
【課題を解決するための手段】
【００１１】
本発明の第１の観点によれば、装置としてスクリプトの処理を行う制御装置であって、実行するように要求された複数のスクリプトが未実行の状態の場合に、前記複数の未実行のスクリプトに含まれるコマンドのうちいずれかのコマンドの発行時刻を基準として所定の時間範囲内に発行された未実行のコマンドを抽出し、前記抽出された未実行のコマンドのうち前記未実行のコマンドに付随する制御対象を制御するためのパラメータ値が予め設定された所定条件を満たすコマンドを、実行時に共通化することが可能な候補として抽出するスクリプト分析手段と、前記共通化することが可能な前記候補に基づいて前記複数のコマンドの全てまたは一部のコマンドを統合化するスクリプト統合手段と、を備えることを特徴とする制御装置が提供される。
【００１２】
本発明の第２の観点によれば、方法としてスクリプトの処理を行う制御方法であって、実行するように要求された複数のスクリプトが未実行の状態の場合に、分析手段が、前記複数の未実行のスクリプトに含まれるコマンドのうちいずれかのコマンドの発行時刻を基準として所定の時間範囲内に発行された未実行のコマンドを抽出し、前記抽出された未実行のコマンドのうち前記未実行のコマンドに付随する制御対象を制御するためのパラメータ値が予め設定された所定条件を満たすコマンドを、実行時に共通化することが可能な候補として抽出するスクリプト分析ステップと、統合手段が、前記共通化することが可能な前記候補に基づいて前記複数のコマンドの全てまたは一部のコマンドを統合化するスクリプト統合ステップと、を備えることを特徴とする制御方法が提供される。
【００１３】
本発明の第３の観点によれば、プログラムとしてスクリプトの処理を行う制御プログラムであって、実行するように要求された複数のスクリプトが未実行の状態の場合に、前記複数の未実行のスクリプトに含まれるコマンドのうちいずれかのコマンドの発行時刻を基準として所定の時間範囲内に発行された未実行のコマンドを抽出し、前記抽出された未実行のコマンドのうち前記未実行のコマンドに付随する制御対象を制御するためのパラメータ値が予め設定された所定条件を満たすコマンドを、実行時に共通化することが可能な候補として抽出するスクリプト分析機能と、前記共通化することが可能な前記候補に基づいて前記複数のコマンドの全てまたは一部のコマンドを統合化するスクリプト統合機能と、をコンピュータに実現させることを特徴とする制御プログラムが提供される。
【発明の効果】
【００１４】
本発明によれば、統合化可能なコマンドやスクリプトに関して統合の可否を判断するルールを記述するだけで、複数の端末がネットワークを介して接続された機器を制御するシステムにおける実行速度を向上することが可能となる。
【００１５】
その理由は、未実行のコマンドが滞留している状況において、スクリプト分析手段とスクリプト統合手段によって、コマンド実行による効果あるいは結果が近い複数のコマンドを抽出し、これらを１つのコマンドに代替することで、実行するコマンドの数を低減できるためである。
【発明を実施するための最良の形態】
【００１６】
次に、本発明の実施の形態について図面を参照して詳細に説明する。
【００１７】
図１を参照すると、本発明の第１の実施形態は、端末装置１と、コンピュータネットワーク２と、計算機装置３を有する。
【００１８】
端末装置１は例えば、個人向け計算機（Personal Computer）や個人向け携帯端末（Personal Digital Assistant）、車載ナビゲーションシステム等の端末装置である。コンピュータネットワーク２は、コマンドやデータ等を通信するネットワークであり端末装置１と、計算機装置３を接続している。計算機装置３は、ロボットやＷｅｂカメラ等の出力機能を有する装置である。
【００１９】
図２は本発明における計算機装置３の代表的な構成を示すブロック図である。図２を参照すると、計算機装置３は、スクリプト受信部３１と、スクリプト記憶部３２と、スクリプト分析部３４と、スクリプト分析ルール格納部３３と、スクリプト統合部３５と、スクリプト実行部３６と、出力機能制御部３７と、出力装置３８を有している。
【００２０】
スクリプト受信部３１は、コンピュータネットワーク２を介して接続された端末装置１からスクリプトデータを解釈して受信する。本実施形態におけるスクリプトデータは、例えばＨＴＴＰ（Hyper Text Transfer Protocol）等の通信規約に準拠した方式で送られるＸＭＬ（Extended Markup Language）形式等の言語で記述された、処理の手続きを示すデータである。
【００２１】
スクリプト記憶部３２は、前記スクリプトデータと共に、該スクリプトデータの関連情報を記憶する。スクリプト記憶部３２の記憶するデータの一例を図３を参照して説明する。
【００２２】
本実施形態における例では、一つのスクリプトデータとこのスクリプトデータの関連情報（以降、スクリプトデータの関連情報を「スクリプトデータ関連情報」と記述する。）は、要求番号３２１と、クライアント識別ＩＤ３２２と、要求スクリプト本体３２３と、要求時刻３２４を有している。ここで、スクリプトデータの関連情報はあくまで本実施形態での例であって、他の情報に置き換えても構わない。また、その他の関連情報を含むようにしても構わない。
【００２３】
要求番号３２１は、スクリプトデータと、スクリプトデータ関連情報の各セットに対応してつけられる番号である。以降、スクリプトデータとスクリプトデータ関連情報を合わせてセットとしたデータを「スクリプトデータセット」と呼ぶこととする。
【００２４】
クライアント識別ＩＤ３２２は、例えば端末のネットワーク上の識別ＩＤであるＩＰ（Internet Protocol）アドレスであり、送信元である端末毎に独立して割り振られているおり、送信元である端末を特定するためのものである。
【００２５】
要求スクリプト本体３２３は、端末装置１から送られてきた処理の手続きであるスクリプトデータそのものであるか、あるいはスクリプトデータが格納されるファイルへのリンクであっても構わない。
【００２６】
要求時刻３２４は、端末装置１から処理の手続きであるスクリプトデータを送った時刻を表すものである。要求時刻３２４は、端末装置１側で該スクリプトデータに時刻データを付与して送信し、スクリプト受信部３１を経由してスクリプト記憶部でデコードされ、時刻データとして格納されるようにしてもよい。
【００２７】
また、別の場合として、要求時刻３２４は、端末装置１からは処理の手続きであるスクリプトデータを送るのみとしてもよい。このようにした場合は、スクリプト受信部３１またはスクリプト記憶部３２のいずれかにおいて、該スクリプトデータを受信した時刻を時刻データとする。
【００２８】
これら２つの要求時刻３２４の与え方は、コンピュータネットワーク２におけるデータの送信時間のばらつきが大きい場合は前者の方法が望ましい。一方、コンピュータネットワーク２におけるデータの送信時間のばらつきが大きくない場合はいずれの方法であっても構わない。
【００２９】
また、スクリプト記憶部３２は、スクリプト統合部３５からの命令によって、格納しているスクリプトデータセットの集合を再構成する。具体的な詳細動作については後述するが、スクリプト統合部３５において統合されるスクリプトデータの対象となるスクリプトデータセットは削除される。
【００３０】
スクリプト分析部３４は、スクリプト記憶部３２に格納されている全てのスクリプトデータセットに対して、スクリプト分析ルール格納部３３に格納されたスクリプト分析ルールを適用し、ルールに適合するスクリプトデータセットを抽出する。
【００３１】
スクリプト分析ルール格納部３３は、スクリプト分析ルールが格納されている部分である。
【００３２】
スクリプト実行部３６はスクリプトを実行する機能を有する。スクリプト実行部３６の実行結果はネットワーク２を通じて外部に出力されるか、あるいは、出力機能制御部３７に伝達される。出力機能制御部３７では、伝達された情報の出力に関しての制御を行う機能を有する。そして、スクリプトの実行結果は、出力機能制御部３７の制御のもと、出力装置３８から出力される。
【００３３】
次に、図２のブロック図及び図４のフローチャートを参照して本実施の形態の動作の詳細について説明する。
【００３４】
端末装置１からコンピュータネットワーク２を通信路として送られてきたスクリプトデータを含むデータは、スクリプト受信部３１に受け取られる。スクリプト受信部３１は、送信元である端末装置１を特定するＩＤと、スクリプトが送信あるいは受信された時刻と、スクリプトデータを分離した形で取り出して、スクリプト記憶部３２に受け渡す。スクリプト記憶部３２は、既に記憶済みのスクリプトデータセットと区別することが可能な形式で、受け渡されたスクリプトデータとスクリプトデータ関連情報を格納する。区別するために最も一般的と考えられる形式は、スクリプト記憶部３２が受信した時刻の古い順から昇順に整数の番号をつける形式である。もっとも、スクリプトデータとスクリプトデータ関連情報のセットが互いに区別できるのであれば、他の形式を用いてもよい。
【００３５】
スクリプト分析部３４は、スクリプト記憶部３２に格納されているスクリプトデータセットに対して、予め設定した時間間隔で以下の処理を行う。この処理について図４を用いて説明する。
【００３６】
まず、スクリプト記憶部３２に格納されている全てのスクリプトデータセットに対して、スクリプト分析ルールに適合するか否かを判断する処理を行ったかを調べる（ステップＡ１）。ステップＡ１で調べた結果、全てのスクリプトデータセットに対して判断処理を行っている場合には、終了ステップに分岐する（ステップＡ１のＹＥＳ）。一方、ステップＡ１で調べた結果、未処理のスクリプトデータセットがある場合には、ステップＡ２に進む（ステップＡ１のＮＯ）。
【００３７】
次に、未処理のスクリプトデータセットのうち、要求番号の最も小さいものを取り出し、スクリプト分析ルール格納部３３に格納されたスクリプト分析ルールの代替可能コマンドテーブルに定義された代替可能コマンドを含むか否かを調べる（ステップＡ２）。
【００３８】
ステップＡ２で調べた結果、代替可能コマンドがあると判断された場合はステップＡ４に進む（ステップＡ３のＹＥＳ）。一方、代替可能コマンドがないと判断された場合は終了ステップに分岐する（ステップＡ３のＮＯ）。
【００３９】
次に、代替可能コマンドの識別ＩＤと、代替可能コマンドを含む要求スクリプトの要求番号を記憶する（ステップＡ４）。そして未処理のスクリプトデータセットのうち、要求番号がステップＡ４で記憶した要求番号の次に小さいものを取り出し、スクリプト分析ルール格納部３３に格納されたスクリプト分析ルールの代替可能コマンドテーブルに定義された代替可能コマンドを含むか否かを調べる（ステップＡ５）。含んでいる場合は、再度ステップＡ１から処理を行う（ステップＡ５のＹＥＳ）。一方含んでいない場合はステップＡ６に進む（ステップＡ５のＮＯ）。
【００４０】
次に、未処理の代替可能コマンドがあるか否かを判断する。未処理の代替可能コマンドがある場合は、ステップＡ７に進む（ステップＡ６のＹＥＳ）。一方未処理の代替可能コマンドがない場合は、終了ステップに分岐する（ステップＡ６のＮＯ）。
【００４１】
次に、同一の識別ＩＤを持つ代替可能コマンドのうち、要求時刻の最も早いコマンドから予め与えた時間閾値以内のコマンドを抽出する（ステップＡ７）。
【００４２】
ステップＡ７において、時間閾値以内のコマンドが抽出された場合はステップＡ９に進む（ステップＡ７のＹＥＳ）一方、時間閾値以内のコマンドが抽出されなかった場合は、ステップＡ６に進む（ステップＡ８のＮＯ）。
【００４３】
次に、ステップＡ７において抽出されたコマンドの中から代替に用いるコマンドを算出する。以後のステップでは、この算出されたコマンドのパラメータを用いて代替がされることとなる（ステップＡ９）。
【００４４】
ステップＡ９で算出されたコマンドのパラメータから予め与えた条件を満たすパラメータを持つコマンドを抽出する（ステップＡ１０）。
【００４５】
ステップＡ１０で抽出されたコマンドのうち、記憶した時刻の最も早いコマンドのみをステップＡ７において抽出された代替に用いるコマンドのパラメータに置換する。そして、ステップＡ１０で抽出されたコマンドのうち置換したコマンド以外の残りのコマンドを記憶領域から削除する（ステップＡ１１）。
【００４６】
図５にスクリプト分析ルールの一例を示す。図５を用いてスクリプト分析ルールについて説明する。
【００４７】
”カメラ方向設定”というタグ名は遠隔制御可能なＣＣＤ（Charge Coupled Devices）カメラやＣＭＯＳ（Complementary Metal Oxide Semiconductor）カメラなどの撮影方向を規定するための動作位置を制御するコマンドを示す。ここで、動作位置とは例えば、カメラの撮影方向を変えるアクチュエータとセットで設置されたエンコーダの数値情報として表現される。”カメラ方向設定”というタグで規定されるデータセットの子要素である”時間閾値”は、”カメラ方向設定”というコマンドに関して、異なる時刻に発行された複数のコマンドについて、時間的に近接しており統合可能候補として判断するための尺度として用いられる。例えば、２つのコマンドについて、両者の発行された時刻の差の絶対値が”時間閾値”要素の値である３０秒より小さい場合には、これら２つのコマンドは統合可能候補と判断されることになる。
【００４８】
また、”カメラ方向設定”というタグで規定されるデータセットの子要素である”ｘ方向下限値”と”ｘ方向上限値”は、”カメラ方向設定”というコマンドに関して、異なる時刻に発行された複数のコマンドについて、ｘ方向の位置に関して近接しており統合可能候補として判断するための尺度として用いられる。すなわち、あるコマンド”カメラ方向設定”について、このコマンドに付随するパラメータ”ｘ方向値”の値が、”ｘ方向下限値”と”ｘ方向上限値”の間の範囲を満たす場合は、統合可能な候補コマンドと判断される。同様に、”ｙ方向下限値”と”ｙ方向上限値”“は、”カメラ方向設定”というコマンドに関して、異なる時刻に発行された複数のコマンドについて、ｙ方向の位置に関して近接しており統合可能候補として判断するための尺度として用いられる。すなわち、あるコマンド”カメラ方向設定”について、このコマンドに付随するパラメータ”ｙ方向値”の値が、”ｙ方向下限値”と”ｙ方向上限値”の間の範囲を満たす場合は、統合可能な候補コマンドと判断される。ここで、”ｘ方向下限値”と”ｘ方向上限値”の間の範囲、”ｙ方向下限値”と”ｙ方向上限値”の間の範囲の規定においては、境界値である下限値および上限値については、それぞれの境界値を条件を満たすと判断する場合と、条件を満たさないと判断する場合があるが、いずれの判断方式であっても構わない。例えば図５の例であれば、”ｘ方向下限値”が１５度であり、”ｘ方向値”が１５度であった場合に条件を満たすと判断するという判断方式を用いてもよく、条件を満たさないと判断するという判断方式を用いてもよい。
【００４９】
スクリプト分析部３４は、例えば図５のスクリプト分析ルールにおいて、最も早い時刻に発行された未実行の”カメラ方向設定”コマンドの発行時刻、ｘ方向位置、ｙ方向位置を基準として、”時間閾値”、”ｘ方向下限値”、”ｘ方向上限値”、”ｙ方向下限値”、”ｙ方向下限値”の全ての条件を満たす一つあるいは複数の”カメラ方向設定”コマンドについて、基準として用いた最も早い時刻に発行された未実行の”カメラ方向設定”コマンドも含む全てのコマンドを、＜置換方法＞というタグで記述された方法で算出されたコマンドに統合化する。本実施形態での例では、置換方法として中間値を用いる。具体的には、統合化したコマンドとして、前記の該当する全てのコマンドのｘ方向位置、ｙ方向位置の数値を値の大きい方から順番に並べて値の大きい方から数えた場合のちょうど中間の順番に相当する値をそれぞれ、ｘ方向位置、ｙ方向位置として採用する。
【００５０】
ここで説明した例では、統合候補と判断するコマンドは、コマンド名が同一であり、コマンドの持つパラメータが近い値を持つというものである。もっとも、統合候補と判断するか否かの本質的な基準は、コマンド名の同一性やパラメータの値が近似するかどうかということではなく、コマンドやコマンドシーケンスの実行による効果が近いことである。この点、図６に示す、図５とは異なるスクリプトルールを用いてコマンドやコマンドシーケンスの実行による効果が近いという判断処理について説明する。
【００５１】
図６の例では、図５のルールに加えて、物体Ａを撮影するという内容を持つコマンドとして、物体撮影というコマンドとこのコマンドのパラメータとして、対象物として物体Ａを与えたものを判断ルールとして定義されている。ここで、物体Ａを撮影するという内容を持つ指示と”カメラ方向設定”とを比較する。前者はコマンドというよりはむしろカメラを対象物に向けて撮影するというコマンドの複合体に相当するマクロやライブラリである。一方、後者は単なるコマンドである。このように、記述レベルや動作内容において両者は異なるものである。しかしながら、仮に物体Ａを撮影するという内容を持つ指示において、その動作の一部である物体Ａの方向にカメラを向ける動作は”カメラ方向設定”と類似の実行結果を導くものであるなら、これら２つのコマンドは統合可能である。
【００５２】
図６のルールはこのように、物体Ａを撮影するという内容を持つ指示が”カメラ方向設定”と類似の効果をもたらすという判断のもとで、スクリプト分析ルールに加えられた例である。すなわち、この例のように、同一のコマンド名でパラメータが近似のもののみならず、異なるコマンド名、マクロ名、ライブラリ名であったとしても、実行時に同等あるいは類似の効果が期待出来るものについては、スクリプト分析ルールに定義して統合することが出来る。
【００５３】
また、これまでの説明は、ある時点において未実行のコマンドを対象として統合可能か否かを判断するものであった。この点、ある時点において未実行のコマンドのうち、実行の結果として期待される効果が当該時点の状態と同一あるいは近似の状態であると解釈出来るコマンドについては、実行する必要が無い。これは、前述の説明ではある時点で未実行のコマンドを対象に統合候補の判断処理を行っていたのに対して、ある時点での状態に導く既に実行済みのコマンドと未実行のコマンドを併せて対象とし統合候補の判断処理を行うように変更することで実現可能である。この場合、当該時点で実行済みのコマンドと未実行のコマンドを統合した結果として、実行済みのコマンドが統合コマンドとして選択されるということになる。
【００５４】
図７は、具体的なスクリプトデータセットに対して、スクリプト分析部３４の処理において、時間閾値に関する処理を行った結果の一例である。この例では、スクリプト記憶部に格納された未実行のコマンドである要求番号１から９のコマンドについて、時間閾値に関する処理を行った結果として、”Ｓｃｒｉｐｔ＿Ａ１．ｘｍｌ”、”Ｓｃｒｉｐｔ＿Ａ２．ｘｍｌ”、”Ｓｃｒｉｐｔ＿Ａ３．ｘｍｌ”、”Ｓｃｒｉｐｔ＿Ａ４．ｘｍｌ”及び”Ｓｃｒｉｐｔ＿Ａ５．ｘｍｌ”の５つのコマンドが統合可能なコマンドの候補として抽出されている。
【００５５】
図８は、スクリプト分析部３４の処理において、図７に示す処理に引き続いて行われる処理の処理結果を示す。この例では、前述した図７の示す処理結果である”Ｓｃｒｉｐｔ＿Ａ１．ｘｍｌ”、”Ｓｃｒｉｐｔ＿Ａ２．ｘｍｌ”、”Ｓｃｒｉｐｔ＿Ａ３．ｘｍｌ”、”Ｓｃｒｉｐｔ＿Ａ４．ｘｍｌ”及び”Ｓｃｒｉｐｔ＿Ａ５．ｘｍｌ”の５つのコマンドが統合可能なコマンドの候補について、図７のスクリプトルールに従って、統合コマンドとして、中間値である”Ｓｃｒｉｐｔ＿Ａ２．ｘｍｌ”を採用している。
【００５６】
図９は、スクリプト統合部３５でいくつか（この図では５つの）のスクリプトデータセットを統合する場合における、統合の前と後のスクリプト記憶部の状態を表す。この例では、統合の前の状態では、未実行のコマンドとして要求番号１から９のコマンドが格納されているが、統合によって、”Ｓｃｒｉｐｔ＿Ａ１．ｘｍｌ”、”Ｓｃｒｉｐｔ＿Ａ２．ｘｍｌ”、”Ｓｃｒｉｐｔ＿Ａ３．ｘｍｌ”、”Ｓｃｒｉｐｔ＿Ａ４．ｘｍｌ”、”Ｓｃｒｉｐｔ＿Ａ５．ｘｍｌ”の５つのコマンドが１つのコマンド”Ｓｃｒｉｐｔ＿Ａ２．ｘｍｌ”に統合されて、統合の後の状態では、未実行のコマンドとして要求番号１から５のコマンドが格納される状態に変化していることを示す。
【００５７】
［発明の他の実施の形態］
次に、本発明の第２の実施の形態について図面を参照して詳細に説明する。
【００５８】
図１０を参照すると、本発明の第２の実施の形態は、スクリプト統合ＵＩ確認部３９が、図２に示された第１の実施の形態におけるスクリプト分析部３４とスクリプト統合部３６の間に加えられている点で異なる。スクリプト統合ＵＩ確認部３９は、スクリプト分析部３４によって分析された統合処理の内容の実行の可否について、実行前に、統合の対象となるスクリプトを送信した端末あるいは端末の操作者に問い合わせる。
【００５９】
具体的な問い合わせ方法の１つの例としては、操作者が端末を介して送信した要求スクリプトとスクリプト分析部が判断した変更内容をそれぞれ、計算機の画面上の別ウィンドウ上にテキスト表示しつつ、変更をしてもよいかを質問する方法がある。質問の方法としては、計算機の画面上に質問内容をテキスト表示する、あるいはスピーカーを介して音声合成機能を用いて音声出力によって質問する方法などがある。また、操作者からの回答を得る方法としては、キーボードから”Ｙｅｓ”、”Ｎｏ”などの入力をさせる方法、または画面上に表示した”Ｙｅｓ”、”Ｎｏ”のボタン表示をポインティングデバイスなどによって選択してもらう方法、または操作者に”Ｙｅｓ”、”Ｎｏ”の意味に相当する音声を発してもらい、計算機に内蔵した音声認識機能によって入力する方法、などがある。
【００６０】
以上説明した本発明の実施形態を実施することにより、統合化可能なコマンドやスクリプトに関して統合の可否を判断するルールを記述するだけで、複数の端末がネットワークを介して接続された機器を制御するシステムにおける実行速度を向上することが可能となる。
【００６１】
また、発明の他の実施の形態のように実施形態を変形することによりユーザの意図に沿わないスクリプト統合を行ってしまうことを避けることが可能となる。
【００６２】
なお、本発明の実施形態であるネットワーク型制御システム及び計算機装置は、ハードウェア、ソフトウェア又はこれらの組合せにより実現することができる。
【図面の簡単な説明】
【００６３】
【図１】本発明の実施形態の基本的構成を表す図である。
【図２】本発明の第１の実施の形態の構成を示すブロック図である。
【図３】スクリプト記憶部に格納されるデータの構成を示す図である。
【図４】本発明の第１の実施の形態の動作を示す流れ図である。
【図５】スクリプト構成ルールの一例を示す図である。
【図６】スクリプト構成ルールの一例を示す図である。
【図７】スクリプト分析部の処理の一例を示す図である。
【図８】スクリプト統合部の処理の一例を示す図である。
【図９】スクリプト記憶部の格納内容の変化の一例を示す図である。
【図１０】本発明の第２の実施の形態の構成を示すブロック図である。
【符号の説明】
【００６４】
１  端末機器
２  計算機ネットワーク
３  制御機器
３１  スクリプト受信部
３２  スクリプト記憶部
３３  スクリプト分析ルール格納部
３４  スクリプト分析部
３５  スクリプト統合部
３６  スクリプト実行部
３７  出力機能制御部
３８  出力装置
３９  スクリプト統合可否確認ＵＩ部
７１  スクリプト記憶部格納データ
７２  スクリプト分析ルールデータ
７３  スクリプト分析部出力データ
８１  スクリプト統合部出力データ
３２１  スクリプト記憶データ要素ＩＤ（要求番号）
３２２  クライアント識別ＩＤ
３２３  要求スクリプト本体
３２４  要求時刻
【図１】
0005152694.tif 000002
【図２】
0005152694.tif 000003
【図３】
0005152694.tif 000004
【図４】
0005152694.tif 000005
【図５】
0005152694.tif 000006
【図６】
0005152694.tif 000007
【図７】
0005152694.tif 000008
【図８】
0005152694.tif 000009
【図９】
0005152694.tif 000010
【図１０】
0005152694.tif 000011