説明

情報通信装置、その制御方法、及びプログラム

【課題】特定の制御を実行する際の制御命令の書き込み処理を減らすことにより、通信効率を向上させる。
【解決手段】情報通信装置及び制御対象の装置の双方がアクセス可能な記憶領域に記憶された、所定の命名規則に従って決定されたファイル名を有するファイルに、制御対象の装置に対する制御命令を書き込むことにより、制御対象の装置に制御命令を伝達する。このとき、情報通信装置は制御対象の装置に対する制御命令を決定した場合に、該制御命令が書き込まれた第1のファイルが記憶領域に存在するか否かを判断する。第1のファイルが存在すると判断した場合、所定の命名規則に従って決定されたファイル名を有するファイルへの制御命令の書き込みを行わせずに、第1のファイルのファイル名を所定の命名規則に従って決定されたファイル名に変更する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報通信装置、その制御方法、及びプログラムに関し、特に制御側と被制御側の両方の情報通信装置がアクセス可能な共有領域に記録された、制御命令を含むファイルを更新することにより被制御側の情報通信装置の制御を行う技術に関する。
【背景技術】
【0002】
従来、被制御側の機器に所望の動作を実行させる制御命令を記述したファイルを用いて、制御側の機器から被制御側の機器を制御する技術がある。
【0003】
このような制御技術では、例えばネットワークを介して、制御側の機器及び被制御側の機器の両方からアクセス可能なファイルサーバ等の共有領域に、制御命令を記述する所定のファイル名のファイル(コマンドファイル)が記録される。制御側の機器は、コマンドファイルに被制御側の機器に所望の動作を実行させる制御命令を書き込み、被制御側の機器に書き込みを通知することにより、被制御側の機器にコマンドファイルを読み出させて制御命令を実行させることができる。即ち、制御側の機器と被制御側の機器との通信は直接的に行われるのではなく、共有領域に記録されたファイルへの入出力を介して間接的に行われる。
【0004】
特許文献1には、予め一意に定義したファイルを、PC及びファクシミリ等の情報処理装置がアクセス可能な共有ファイル記憶領域に配置し、通信を行う双方の情報処理装置が該ファイルに対して入出力を行うことで通信を実現することが開示されている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2009−16971号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、従来技術のようにファイルへの入出力を介した機器間の通信では、1回の通信において、
1.ファイルへの書き込みについては
「ファイルのオープン」→「ファイルへの書き込み」→「ファイルのクローズ」
2.ファイルからの読み出しについては
「ファイルのオープン」→「ファイルからの読み出し」→「ファイルのクローズ」
の処理が少なくとも必要となる。即ち、一般的にはファイルに対する読み書き処理には予め定められた手続きをとる必要があるため、メモリへの読み書き処理や直接的なコマンドの送受信処理に比べ、処理により多くの時間を要する。
【0007】
本発明は、上述の問題点に鑑みてなされたものであり、制御命令の書き込み処理を減らすことにより、通信効率を向上させる情報通信装置を提供することを目的とする。
【課題を解決するための手段】
【0008】
前述の目的を達成するために、本発明の情報通信装置は、以下の構成を備える。
情報通信装置及び制御対象の装置の双方がアクセス可能な記憶領域に記憶された、所定の命名規則に従って決定されたファイル名を有するファイルに、制御対象の装置に対する制御命令を書き込むことにより、制御対象の装置に制御命令を伝達する情報通信装置であって、記憶領域に接続する接続手段と、制御対象の装置に対する制御命令を決定する決定手段と、所定の命名規則に従って決定されたファイル名を有するファイルに決定手段により決定された制御命令を書き込む書き込み手段と、決定手段により制御命令が決定された場合に、所定の命名規則に従って決定されたファイル名とは異なるファイル名を有する、該制御命令が書き込まれた第1のファイルが記憶領域に存在するか否かを判断する第1の判断手段と、第1の判断手段により第1のファイルが存在すると判断された場合、書き込み手段による所定の命名規則に従って決定されたファイル名を有するファイルへの制御命令の書き込みを行わせずに、第1のファイルのファイル名を所定の命名規則に従って決定されたファイル名に変更する制御手段と、を有することを特徴とする。
【発明の効果】
【0009】
このような構成により本発明によれば、制御命令の書き込み処理を減らすことにより、通信効率を向上させることが可能となる。
【図面の簡単な説明】
【0010】
【図1】本発明の実施形態に係る制御PC100の機能構成を示したブロック図
【図2】本発明の実施形態に係る被制御PC200の機能構成を示したブロック図
【図3】本発明の実施形態に係るファイルサーバ300の構成を示した図
【図4】本発明の実施形態に係る制御PC100で行われる外部機器制御処理のフローチャート
【図5】本発明の実施形態に係る制御PC100でリトライ処理のフローチャート
【図6】本発明の実施形態に係る制御PC100でテンプレート更新処理のフローチャート
【図7】本発明の実施形態に係る被制御PC200で行われる制御命令実行処理のフローチャート
【発明を実施するための形態】
【0011】
以下、本発明の例示的な実施形態について、図面を参照して詳細に説明する。なお、以下に説明する一実施形態は、情報通信装置及び制御対象の装置の一例としての、ファイルサーバにアクセス可能な制御PC及び被制御PCに、本発明を適用した例を説明する。しかし、本発明は、情報通信装置及び制御対象の装置の双方がアクセス可能な記憶領域に記憶されたファイルに制御命令を書き込むことにより該制御対象の装置に制御命令を伝達することが可能な任意の機器に適用可能である。
【0012】
<制御PC100の構成>
図1は、本発明の実施形態に係る制御PC100の機能構成を示すブロック図である。なお、本実施形態において制御PC100と被制御PC200とは、後述する表示部及び操作部を除いて同様の構成を有するため、制御PC100の構成要素には接頭文字として「第1」を付し、被制御PC200の構成要素には「第2」を付して区別して説明する。
【0013】
第1CPU101は、制御PC100が有する各ブロックの動作を制御する。具体的には第1CPU101は、後述する外部機器制御処理の動作プログラムを第1二次記憶装置103から読み出し、第1一次記憶装置102に展開して実行することにより、各ブロックの動作を制御する。
【0014】
第1一次記憶装置102は、例えば揮発性メモリである。第1一次記憶装置102は、外部機器制御処理の動作プログラムの展開領域としでだけでなく、各ブロックの動作において出力された中間データを一時的に記憶する格納領域として用いられる。
【0015】
第1二次記憶装置103は、例えば書き換え可能な不揮発性メモリや、HDDやメモリカード等の制御PC100に着脱可能に接続される記憶装置である。第1二次記憶装置103は、外部機器制御処理の動作プログラムに加え、例えばオペレーティングシステムに係るプログラムや、他のアプリケーション、各ブロックの動作に必要なパラメータ等を記憶する。また本実施形態では、第1二次記憶装置103には、被制御PC200に対して実行させる複数の制御命令の内容が記憶されているものとする。
【0016】
第1通信装置104は、制御PC100が有する通信インタフェースである。第1通信装置104は、例えばインターネットを介して、インターネット上のファイルサーバ300にアクセスし、制御PC100とファイルサーバ300間の通信を確立する。
【0017】
第1表示部105は、例えばLCD等の、制御PC100に内蔵、あるいは制御PC100に外部接続された表示装置である。第1CPU101は、第1表示部105に表示させる表示画像を不図示のGPUに描画させ、該表示画像を第1表示部105に表示させる表示制御を行う。
【0018】
第1操作部106は、例えばマウスやキーボード等の制御PC100が有するユーザインタフェースである。第1操作部106は、ユーザにより操作部材が操作されたことに応じて、該操作に対応する制御信号を第1CPU101に伝送する。
【0019】
<被制御PC200の構成>
図2は、本発明の実施形態に係る被制御PC200の機能構成を示すブロック図である。なお、上述したように制御PC100と被制御PC200は同様の構成を有しているため、各ブロックの詳細な説明は省略する。第2CPU201は第1CPU101、第2一次記憶装置202は第1一次記憶装置102、第2二次記憶装置203は第1二次記憶装置103、第2通信装置204は第1通信装置104にそれぞれ対応している。なお、第2二次記憶装置203は、外部機器制御処理の動作プログラムではなく、後述する制御命令実行処理の動作プログラムを記憶する。第2CPU201は該プログラムを展開して実行することにより、被制御PC200が有する各ブロックの動作を制御する。
【0020】
<ファイルサーバ300の構成>
図3は、本発明の実施形態に係るファイルサーバ300の構成を示している。なお、図ではファイルサーバ300の制御に用いられるCPUやROM等の構成要素は省略されており、ファイルサーバ300が有する記憶領域301に記憶されているファイルが詳細に示されている。
【0021】
本実施形態の制御PC100及び被制御PC200の双方は、上述したようにファイルサーバ300にアクセス可能である。制御PC100の第1CPU101は、記憶領域301に記憶されたファイルについてのファイル操作により、被制御PC200に所望の制御を実行させる。記憶領域301には、図示されるようにコマンドファイル311、レスポンスファイル312(応答ファイル)、及びテンプレートファイル313a〜cが記憶されており、各ファイルは以下のように用途が分けられている。
【0022】
・コマンドファイル:被制御PC200に実行させる制御命令が記述されるファイル。ファイル名はCOMMAND_XXXX.DAT(XXXXは、ユニークID)
・レスポンスファイル:コマンドファイルに記述された制御命令を第2CPU201が実行した結果を示す応答情報が記述されるファイル。ファイル名はRESPONSE_XXXX.DAT(XXXXは、ユニークID)
・テンプレートファイル:予め設定された制御命令が記述されたファイル。コマンドファイル及びレスポンスファイルの命名規則には準拠しないファイル名を有する。(例えばCOMMAND~1.DAT等)
【0023】
<外部機器制御の動作原理>
本実施形態では制御PC100の第1CPU101は、被制御PC200に実行させる制御命令を決定した後、第1通信装置104を介してファイルサーバ300の記憶領域301に記憶されているコマンドファイル311に制御命令の書き込みを行う。被制御PC200の第2CPU201は、コマンドファイル311に制御命令が書き込まれたことを検出すると、第2通信装置204を介して該ファイルから制御命令を読み出して実行する。第2CPU201は、コマンドファイル311から読み出した制御命令の実行した結果、あるいは実行した結果を示す応答情報を作成し、該応答情報を第2通信装置204を介してレスポンスファイル312に書き込む。第1CPU101は、レスポンスファイル312に応答情報が書き込まれたことを検出することにより、制御命令が実行されたことを認識する。このように、第1CPU101は、制御命令を記述したコマンドファイル311を用いて被制御PC200の制御を行うことができる。
【0024】
なお、コマンドファイル311に新たに制御命令が書き込まれたか否かは、例えば所定の命名規則によって決定されたファイル名に含まれるユニークIDにより判断される。この場合、第2CPU201は、最後に制御命令を読み出して実行したコマンドファイル311のファイル名に含まれるユニークIDを記憶しており、新たに制御命令が書き込まれた際にコマンドファイル311に付されるファイル名を予め把握しているものとする。コマンドファイル311に付されるファイル名は、含まれるユニークIDも含めて所定の命名規則に従って決定される。ユニークIDは例えば整数値であってよく、所定の命名規則に従ってファイル名が決定される際に、1ずつ増加されればよい。即ち、第2CPU201は、新たに制御命令が書き込まれた際にコマンドファイル311に付されるファイル名を予め把握し、該ファイル名のファイルの有無を判断することで、新たな制御命令がコマンドファイル311に書き込まれたことを判断できる。また、レスポンスファイル312に応答情報が書き込まれたか否かも、同様に判断されればよい。
【0025】
本実施形態では、コマンドファイル311に記述された制御命令が実行されて得られた応答情報が書き込まれたレスポンスファイル312は、該コマンドファイル311のファイル名に含まれるユニークIDが付されたファイル名とする。このようにすることで、コマンドファイル311とレスポンスファイル312との対応付けを、第1CPU101は容易に判断することができる。
【0026】
また本実施形態では、ファイル名に含まれるユニークIDによって、コマンドファイル311あるいはレスポンスファイル312が更新されたか否かを判断するものとして説明するが、該判断はこの方法に限られるものではない。例えば、従来技術と同様にコマンドファイル311及びレスポンスファイル312のファイル名は固定であり、該ファイルが更新されたことを示す情報は、別ファイルの作成や更新によって通信相手の装置に伝達されてもよい。
【0027】
また本実施形態では、頻繁に使用される制御命令等、予め設定された制御命令が記述されたファイルが、テンプレートファイル313として記憶領域301に記憶される。第1CPU101は、記憶領域301に記憶されているテンプレートファイル313の各々について、そのファイル名と該ファイルに記述されている制御命令とを対応付けた情報を、例えば第1二次記憶装置103に記憶して管理している。そして第1CPU101は、該情報を参照して、被制御PC200に実行させる制御命令が記述されているテンプレートファイル313が存在するか否かを判断する。第1CPU101は、被制御PC200に実行させる制御命令が記述されているテンプレートファイル313が存在する場合、該ファイルをコマンドファイルの命名規則に従って決定されたファイル名に変更し、コマンドファイル311として用いる。このようにすることで、第1CPU101はコマンドファイル311への制御命令の書き込み処理を行うことなく、被制御PC200に行わせる制御命令が記述されたコマンドファイル311を作成することができる。
【0028】
<外部機器制御処理>
以下、このような本実施形態の制御側である制御PC100の外部機器制御処理の詳細について、図4のフローチャートを用いて具体的な処理を説明する。当該フローチャートに対応する処理は、第1CPU101が、例えば第1二次記憶装置103に記憶されている対応する処理プログラムを読み出し、第1一次記憶装置102に展開して実行することにより実現することができる。なお、本外部機器制御処理は、例えば制御PC100において、ユーザにより被制御PC200を制御するアプリケーションの起動指示がなされたことを、第1CPU101が第1操作部106からの制御信号により判断した際に開始されるものとして説明する。
【0029】
S401で、第1CPU101は、被制御PC200に実行させる制御命令を決定する。具体的には第1CPU101は、例えば被制御PC200に実行させることが可能な制御命令の種類を、第1表示部105に表示することによりユーザに通知する。そしてユーザにより制御命令の選択がなされたことを第1操作部106から出力された制御信号により認識すると、第1CPU101は該制御命令を示す情報を第1一次記憶装置102に格納する。なお、本実施形態では、制御命令はユーザにより選択されるものとして説明するが、制御命令の選択はこれに限られない。例えば第1CPU101が制御PC100の状態を判断して制御命令を決定するものであってもよいし、予め定められた制御命令の実行順に従って第1CPU101が被制御PC200に実行させる制御命令を選択するものであってもよい。
【0030】
S402で、第1CPU101は、S401で決定した制御命令が記述されたテンプレートファイル313(第1のファイル)が、ファイルサーバ300の記憶領域301に存在するか否かを判断する(第1の判断)。具体的には第1CPU101は、例えばテンプレートファイル313の各々について、ファイル名と記述されている制御命令とが対応付けられた情報(以下、対応情報)を第1二次記憶装置103より読み出す。そして第1CPU101は、対応情報を参照して、決定した制御命令が記述されたテンプレートファイル313が存在するか否かを判断する。第1CPU101は、決定した制御命令が記述されたテンプレートファイル313が存在すると判断した場合は該ファイルのファイル名を第1一次記憶装置102に格納して処理をS403に移し、存在しないと判断した場合は処理をS405に移す。
【0031】
なお、本実施形態では、記憶領域301に記憶されている複数のテンプレートファイル313について、第1CPU101はS401で決定した制御命令が記述されているか否かを判断するものとして説明するが、本発明の実施はこれに限られない。例えば第1CPU101は、最後に該制御命令が書き込まれたコマンドファイル311に対しても、決定した制御命令が記述されているか否かを判断してもいい。即ち、同一の制御命令を繰り返し行うような場合、コマンドファイル311に記述される制御命令は同一であるため、第1CPU101は、最後に被制御PC200に制御命令を伝達するために使用したコマンドファイル311をリネームして使用してもよい。例えば、最後に使用したコマンドファイル311のファイル名が「COMMAND_1500.DAT」であった場合、コマンドファイルの命名規則に従って決定したファイル名「COMMAND_1501.DAT」に変更すればよい。
【0032】
S403で、第1CPU101は、S402で第1一次記憶装置102に格納した、S401で決定した制御命令が記述されたテンプレートファイル313(対象テンプレートファイル)が、リネーム可能な状態であるか否かを判断する。具体的には第1CPU101は、対象テンプレートファイルへの「ファイルオープン」や「ファイル読み出し」等の、ファイル名の変更を妨げるアクセスがなされているか否かを、例えばファイルサーバ300に問い合わせることで判断する。第1CPU101は、対象テンプレートファイルがリネーム可能な状態であると判断した場合は処理をS404に移し、リネーム不可能な状態であると判断した場合は本ステップの処理を繰り返す。即ち、第1CPU101は、対象テンプレートファイルがアクセス可能な状態になるまで、本ステップにおいて処理を待機する。
【0033】
S404で、第1CPU101は、対象テンプレートファイルのファイル名をコマンドファイルの命名規則に従って決定したファイル名に変更する。具体的には第1CPU101は、最後に被制御PC200に対して実行させる制御命令が記述されたファイルのファイル名に含めたユニークID(例:1500)の情報を、例えば第1二次記憶装置103より取得する。さらに第1CPU101は、コマンドファイルの命名規則に従って、S401で決定した制御命令を被制御PC200に実行させるためのファイルのファイル名(例:COMMAND_1501.DAT)を決定する。そして第1CPU101は、対象テンプレートファイルのファイル名を該ファイル名に変更する。
【0034】
S402において、S401で決定した制御命令が記述されたテンプレートファイル313が存在しないと判断した場合は、第1CPU101はS405で、コマンドファイル311が書き込み可能な状態であるか否かを判断する。具体的には第1CPU101は、コマンドファイル311への「ファイルオープン」や「ファイル読み出し」等の、ファイルへの書き込みを妨げるアクセスがなされているか否かを、例えばファイルサーバ300に問い合わせることで判断する。第1CPU101は、コマンドファイル311が書き込み可能な状態であると判断した場合は処理をS406に移し、書き込み不可能な状態であると判断した場合は本ステップの処理を繰り返す。即ち、第1CPU101は、コマンドファイル311が書き込み可能な状態になるまで、本ステップにおいて処理を待機する。
【0035】
S406で、第1CPU101は、第1通信装置104を介してコマンドファイル311に対してS401で決定した制御命令の書き込みを行う。書き込まれる制御命令の内容については、予め第1二次記憶装置103に記憶されているものとし、第1CPU101は本ステップで対応する制御命令の内容を読み出し、コマンドファイル311に書き込みを行う。また第1CPU101は、書き込みを行なったコマンドファイル311のファイル名を、コマンドファイルの命名規則に従って決定したファイル名に変更する。
【0036】
S407で、第1CPU101は、S401で決定した制御命令が被制御PC200において実行された結果を示す応答情報がレスポンスファイル312に書き込まれたか否かを判断する(第2の判断)。具体的には第1CPU101は、決定した制御命令が記述されたファイルに付されたファイル名に含めたユニークIDの情報を第1二次記憶装置103より取得する。そして第1CPU101は、該ユニークIDを含む、レスポンスファイルの命名規則に従って決定されたファイル名を有するレスポンスファイル312が記憶領域301に存在するか否かを判断することで、応答情報が書き込まれたか否かを判断する。第1CPU101は、応答情報がレスポンスファイル312に書き込まれたと判断した場合は処理をS408に移し、書き込まれていないと判断した場合は処理をS410に移す。
【0037】
S408で、第1CPU101は、レスポンスファイル312が読み出し可能な状態であるか否かを判断する。具体的には第1CPU101は、レスポンスファイル312への「ファイルオープン」や「ファイル書き込み」等の、ファイルの読み出しを妨げるアクセスがなされているか否かを、例えばファイルサーバ300に問い合わせることで判断する。第1CPU101は、レスポンスファイル312が読み出し可能な状態であると判断した場合は処理をS409に移し、読み出し不可能な状態であると判断した場合は本ステップの処理を繰り返す。即ち、第1CPU101は、レスポンスファイル312が読み出し可能な状態になるまで、本ステップにおいて処理を待機する。
【0038】
S409で、第1CPU101は、レスポンスファイル312から応答情報を読み出す。第1CPU101は、読み出した応答情報を例えば第1一次記憶装置102に記憶し、第1表示部105に応答内容を表示する等、応答情報の受信について予め定められた処理を実行する。
【0039】
S407において、レスポンスファイル312に応答情報が書き込まれていないと判断した場合、第1CPU101はS410で、タイムアウトを判断する、予め設定された時間が経過したか否かを判断する。具体的には第1CPU101は、対象テンプレートファイルをコマンドファイルの命名規則に従って決定したファイル名に変更した際、あるいは制御命令を書き込んだ、該ファイル名のファイルを作成した際に、不図示の内蔵タイマーによる時間計測を開始する。そして本ステップにおいて第1CPU101は、計測された経過時間が、例えば第1二次記憶装置103に予め記憶されている設定時間を超えたか否かによりタイムアウトを判断する。即ち、本実施形態では第1CPU101は、所定の時間内に応答情報がレスポンスファイル312に書き込まれない場合、被制御PC200において制御命令の実行に失敗したと判断する。第1CPU101は、タイムアウトであると判断した場合は処理をS411に移し、タイムアウトではないと判断した場合は処理をS407に戻す。
【0040】
なお、本実施形態ではタイムアウトの判断を経過時間を用いて行うものとして説明するが、本判断の実施はこれに限られない。例えば、本ステップの処理が読み出された回数によってタイムアウトであるか否かを判断するものであってもよい。
【0041】
S411で、第1CPU101は、S402において決定した制御命令が記述された対象テンプレートファイルが、ファイルサーバ300の記憶領域301に存在すると判断したか否かを判断する。第1CPU101は、S402において対象テンプレートファイルが存在すると判断した場合は処理をS412に移してリトライ処理を実行し、存在しないと判断した場合は処理をS413に移す。
【0042】
このように、本実施形態では第1CPU101は、リネームした対象テンプレートファイルを用いて被制御PC200に制御命令を実行させることができなかった場合に、後述するリトライ処理を実行する。リトライ処理では第1CPU101は、テンプレートファイル313を使用せずに、制御命令を書き込んだファイルを用いることにより、再び被制御PC200への制御命令の伝達を試みる。
【0043】
(リトライ処理)
ここで、本実施形態の制御PC100のリトライ処理について、図5を用いて詳細に説明する。
【0044】
S501で、第1CPU101は、S404でコマンドファイルの命名規則に従って決定されたファイル名に変更した対象テンプレートファイルのファイル名を、変更前のファイル名に戻す。即ち、コマンドファイル311として使用された対象テンプレートファイルを、再びテンプレートファイル313として使用可能なように、第1CPU101は本ステップでファイル名を元に戻す。
【0045】
なお、本実施形態では決定した制御命令が記述されている対象テンプレートファイルのファイル名を直接変更するため、本ステップにおいて対象テンプレートファイルのファイル名を、変更前の状態に戻すものとして説明するが、本発明の実施はこれに限られない。例えば、S404において、対象テンプレートファイルをコピーして得られたファイルを、コマンドファイルの命名規則に従って決定されたファイル名に変更する場合は、第1CPU101は本ステップの処理を行わなくてよい。また例えば、予め設定された制御命令が記述された複数のテンプレートファイル313は、外部機器制御処理が実行される度に、ファイルサーバ300の不図示の制御部が記憶領域301に作成する場合も、第1CPU101本ステップの処理を行わなくてよい。
【0046】
S502で、第1CPU101は、コマンドファイルの命名規則に従って決定されたファイル名のファイル(第2のファイル)をコマンドファイル311として作成する。具体的には第1CPU101は、該ファイル名を有するファイルを新規に作成するか、あるいは既に存在するファイル(例えば、最後に制御命令の書き込んだコマンドファイル等)のファイル名を該ファイル名に変更して、コマンドファイル311を作成する。なお、本リトライ処理において制御命令を書き込むコマンドファイル311のファイル名は、S404において対象テンプレートファイルのリネームに用いたファイル名と同一であってもよいし、命名規則に従って新たに決定されたファイル名であってもよい。
【0047】
S503で、第1CPU101は、コマンドファイル311が書き込み可能な状態であるか否かを判断する。第1CPU101は、コマンドファイル311が書き込み可能な状態であると判断した場合は処理をS504に移し、書き込み不可能な状態であると判断した場合は、書き込み可能な状態になるまで本ステップの処理を繰り返す。
【0048】
S504で、第1CPU101は、コマンドファイル311にS401で決定した制御命令の書き込みを行う。
【0049】
S505で、第1CPU101は、S401で決定した制御命令が被制御PC200において実行された結果を示す応答情報がレスポンスファイル312に書き込まれたか否かを判断する(第3の判断)。第1CPU101は、応答情報がレスポンスファイル312に書き込まれたと判断した場合は処理をS506に移し、書き込まれていないと判断した場合は処理をS508に移す。
【0050】
S506で、第1CPU101は、レスポンスファイル312が読み出し可能な状態であるか否かを判断する。第1CPU101は、レスポンスファイル312が読み出し可能な状態であると判断した場合は処理をS507に移し、読み出し不可能な状態であると判断した場合は本ステップの処理を繰り返す。
【0051】
S507で、第1CPU101は、レスポンスファイル312から応答情報を読み出して、本リトライ処理を完了する。第1CPU101は、読み出した応答情報を例えば第1一次記憶装置102に記憶し、第1表示部105に応答内容を表示する等、応答情報の受信について予め定められた処理を実行する。
【0052】
なお、本リトライ処理では、リネームした対象テンプレートファイルに記述された制御命令に対する応答情報は得られなかったが、書き込み処理によってコマンドファイル311に記述された制御命令に対する応答情報は得られる場合が生じる。これは、対象テンプレートファイルが何らかの要因によって破損している等の原因が考えられるため、第1CPU101は本ステップにおいて、対象テンプレートファイルに代えてコマンドファイル311をテンプレートファイルとしてもよい。具体的には第1CPU101は、まずS501でファイル名を変更前のファイル名に戻した対象テンプレートファイルを記憶領域301から削除する。そして第1CPU101は、決定した制御命令が記述されているコマンドファイル311をコピーし、削除した対象テンプレートファイルに付されていたファイル名に変更することにより、テンプレートファイル313とすればよい。このようにすることで、該制御命令について、応答情報が得られるファイルをテンプレートファイルとして保持することができる。
【0053】
またS505において、レスポンスファイル312に応答情報が書き込まれていないと判断した場合、第1CPU101はS508で、タイムアウトを判断する、予め設定された時間が経過したか否かを判断する。第1CPU101は、タイムアウトであると判断した場合は本リトライ処理を完了し、タイムアウトではないと判断した場合は処理をS505に戻す。
【0054】
このようにリトライ処理を実行した後、第1CPU101は、外部機器制御処理のS413に処理を移す。S413で、第1CPU101は、S401で決定した制御命令に対する応答情報が得られたか否かを判断する。第1CPU101は、決定した制御命令に対する応答情報が得られたと判断した場合は処理をS414に移してテンプレート更新処理を実行する。また第1CPU101は、決定した制御命令に対する応答情報が得られなかったと判断した場合は、応答がなかったことを示す通知を第1表示部105に表示し、本外部機器制御処理を完了する。
【0055】
(テンプレート更新処理)
ここで、S414で行われるテンプレート更新処理について、図6のフローチャートを用いて説明する。本テンプレート更新処理は、ユーザにより決定された制御命令の頻度に応じて、テンプレートファイル313として記憶領域301に記憶される、制御命令が記述されたファイルを変更する処理である。なお、本実施形態の第1CPU101は、被制御PC200に実行させることが可能な制御命令の各々について、所定の期間内に決定した回数を計数し、例えば第1二次記憶装置103に記憶しているものとする。
【0056】
S601で、第1CPU101は、S401で決定した制御命令について、所定の期間内に決定した回数が予め定められた回数を超えているか否かを判断する。第1CPU101は、決定した制御命令が所定の期間内に決定された回数が予め定められた回数を超えていると判断した場合は処理をS602に移し、超えていないと判断した場合は本テンプレート更新処理を完了する。
【0057】
S602で、第1CPU101は、記憶領域301に記憶されている複数のテンプレートファイル313のうち、所定の期間内に決定した回数が最も少ない制御命令が記述されたファイルを削除する。
【0058】
S603で、第1CPU101は、S401で決定した制御命令が記述されているコマンドファイル311をテンプレートファイル313として記憶領域301に記憶させて本テンプレート更新処理を完了する。具体的には第1CPU101は、コマンドファイル311をコピーして得られたファイルのファイル名を、コマンドファイルの命名規則に従わないファイル名に変更することで、テンプレートファイルとして記憶領域301に記憶させる。このように、使用頻度の高い制御命令についてはテンプレートファイルとすることで、第1CPU101ファイルの書き込み処理を実行される頻度を低減し、通信効率を向上させることができる。
【0059】
なお、本実施形態では、決定された制御命令が所定の期間内に決定された回数(第2の計数)が予め定められた回数を超えた場合に、所定の期間内に決定された回数が最も少ない制御命令が記述されたテンプレートファイルが削除されるものとして説明した。しかしながら、決定された制御命令が所定の期間内に決定された回数によらず、第1CPU101は所定の期間内に決定された回数が予め定められた回数(第2の回数)以下のテンプレートファイルが存在する場合は、該ファイルを削除してもよい。
【0060】
また、本実施形態では、所定の期間内に決定された回数が予め定められた回数(第1の計数)を超える制御命令がテンプレートファイルとして記憶領域301に記憶されるものとして説明したが、本発明の実施はこれに限られない。例えば、決定された回数が予め定められた回数(第1の回数)を超えた制御命令について、第1CPU101は、該制御命令が記述されたファイルをテンプレートファイルとして記憶領域301に追加してもよい。この場合、第1CPU101は、既に存在するテンプレートファイルを削除しなくてもよい。
【0061】
<制御命令実行処理>
また、本実施形態の被制御PC200において実行される制御命令実行処理について、図7のフローチャートを用いて具体的な処理を説明する。当該フローチャートに対応する処理は、第2CPU201が、例えば第2二次記憶装置203に記憶されている対応する処理プログラムを読み出し、第2一次記憶装置202に展開して実行することにより実現することができる。なお、本制御命令実行処理は、例えば被制御PC200が起動した際に開始されるものとして説明する。
【0062】
S701で、第2CPU201は、新たな制御命令が記述されたコマンドファイル311が記憶領域301に存在するか否かを判断する。具体的には第2CPU201は、最後に実行した制御命令が記述されたファイルのファイル名に含まれていたユニークIDの情報を、例えば第2二次記憶装置203より取得する。さらに第2CPU201は、コマンドファイルの命名規則に従って、新たな制御命令が記述されたコマンドファイル311に付されるファイル名を、ユニークIDを用いて特定する。そして第2CPU201は、特定したファイル名のファイルが、記憶領域301に生成されたか否かを判断する。第2CPU201は、新たな制御命令が記述されたコマンドファイル311が存在すると判断した場合は処理をS702に移し、存在しないと判断した場合は本ステップの処理を繰り返す。即ち、第2CPU201は、新たな制御命令が記述されたコマンドファイル311が制御PC100の第1CPU101により生成されるまで、本ステップで処理を待機する。
【0063】
S702で、第2CPU201は、コマンドファイル311が読み出し可能な状態であるか否かを判断する。具体的には第2CPU201は、コマンドファイル311への「ファイルオープン」や「ファイル書き込み」等の、ファイルからの読み出しを妨げるアクセスがなされているか否かを、例えばファイルサーバ300に問い合わせることで判断する。第2CPU201は、コマンドファイル311が読み出し可能な状態であると判断した場合は処理をS703に移し、読み出し不可能な状態であると判断した場合は本ステップの処理を繰り返す。
【0064】
S703で、第2CPU201は、コマンドファイル311に記述された制御命令をコマンドファイル311より読み出し、該制御命令に対応する処理を実行する。なお、制御命令の実行ができない、あるいは実行中にエラーが生じる等の場合は、第2CPU201は処理をS701に戻すものとする。
【0065】
S704で、第2CPU201は、レスポンスファイル312が書き込み可能な状態であるか否かを判断する。具体的には第2CPU201は、レスポンスファイル312への「ファイルオープン」や「ファイル読み出し」等の、ファイルへの書き込みを妨げるアクセスがなされているか否かを、例えばファイルサーバ300に問い合わせることで判断する。第2CPU201は、レスポンスファイル312が書き込み可能な状態であると判断した場合は処理をS705に移し、書き込み不可能な状態であると判断した場合は本ステップの処理を繰り返す。
【0066】
S705で、第2CPU201は、実行した制御命令の結果を示す応答情報をレスポンスファイル312に書き込む。また第2CPU201は、書き込みを行なったレスポンスファイル312のファイル名を、コマンドファイル311に付されていたユニークIDを含む、レスポンスファイルの命名規則に従って決定したファイル名に変更し、本制御命令実行処理を完了する。
【0067】
以上説明したように、本発明の情報通信端末は、特定の制御を実行する際の制御命令の書き込み処理を減らすことにより、通信効率を向上させることができる。
【0068】
[その他の実施形態]
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。

【特許請求の範囲】
【請求項1】
情報通信装置及び制御対象の装置の双方がアクセス可能な記憶領域に記憶された、所定の命名規則に従って決定されたファイル名を有するファイルに、前記制御対象の装置に対する制御命令を書き込むことにより、前記制御対象の装置に前記制御命令を伝達する情報通信装置であって、
前記記憶領域に接続する接続手段と、
前記制御対象の装置に対する制御命令を決定する決定手段と、
前記所定の命名規則に従って決定されたファイル名を有するファイルに前記決定手段により決定された制御命令を書き込む書き込み手段と、
前記決定手段により制御命令が決定された場合に、前記所定の命名規則に従って決定されたファイル名とは異なるファイル名を有する、該制御命令が書き込まれた第1のファイルが前記記憶領域に存在するか否かを判断する第1の判断手段と、
前記第1の判断手段により前記第1のファイルが存在すると判断された場合、前記書き込み手段による前記所定の命名規則に従って決定されたファイル名を有するファイルへの制御命令の書き込みを行わせずに、前記第1のファイルのファイル名を前記所定の命名規則に従って決定されたファイル名に変更する制御手段と、
を有することを特徴とする情報通信装置。
【請求項2】
前記制御対象の装置により書き込まれた、前記所定の命名規則に従って決定されたファイル名を有するファイルに書き込まれた制御命令に対する応答情報を、前記記憶領域に記憶された応答ファイルから読み出す読み出し手段と、
前記所定の命名規則に従って決定されたファイル名に変更された前記第1のファイルに書き込まれた制御命令に対する応答情報が、前記ファイル名の変更から所定の時間内に、前記応答ファイルに書き込まれたか否かを判断する第2の判断手段と、をさらに有し、
前記第2の判断手段により前記第1のファイルに書き込まれた制御命令に対する応答情報が前記応答ファイルに書き込まれていないと判断された場合に、前記書き込み手段は、前記決定手段により決定された制御命令を、前記所定の命名規則に従って決定されたファイル名を有する第2のファイルに書き込むことを特徴とする請求項1に記載の情報通信装置。
【請求項3】
前記第2のファイルに書き込まれた制御命令に対する応答情報が、前記第2のファイルへの書き込みから前記所定の時間内に、前記応答ファイルに書き込まれたか否かを判断する第3の判断手段と、をさらに有し、
前記第3の判断手段により前記第2のファイルに書き込まれた制御命令に対する応答情報が前記応答ファイルに書き込まれたと判断された場合に、前記制御手段は、前記第1のファイルに代えて、前記記憶領域に、前記第2のファイルを前記第1のファイルのファイル名に変更して記憶させることを特徴とする請求項2に記載の情報通信装置。
【請求項4】
制御命令ごとに前記決定手段により決定された回数を計数する第1の計数手段をさらに有し、
前記制御手段は、前記決定された回数が第1の回数を超えた制御命令が書き込まれた前記所定の命名規則に従って決定されたファイル名を有するファイルを、前記所定の命名規則に従って決定されたファイル名とは異なるファイル名に変更することを特徴とする請求項1乃至3のいずれか1項に記載の情報通信装置。
【請求項5】
制御命令ごとに、所定の期間内に前記決定手段により決定された回数を計数する第2の計数手段をさらに有し、
前記制御手段は、前記所定の期間内に決定された回数が第2の回数を超えない制御命令が書き込まれた、前記所定の命名規則に従って決定されたファイル名とは異なるファイル名を有するファイルが前記記憶領域に存在する場合に、該ファイルを削除することを特徴とする請求項1乃至4のいずれか1項に記載の情報通信装置。
【請求項6】
情報通信装置及び制御対象の装置の双方がアクセス可能な記憶領域に記憶された、所定の命名規則に従って決定されたファイル名を有するファイルに、前記制御対象の装置に対する制御命令を書き込むことにより、前記制御対象の装置に前記制御命令を伝達する情報通信装置の制御方法であって、
前記情報通信装置の接続手段が、前記記憶領域に接続する接続工程と、
前記情報通信装置の決定手段が、前記制御対象の装置に対する制御命令を決定する決定工程と、
前記情報通信装置の書き込み手段が、前記所定の命名規則に従って決定されたファイル名を有するファイルに前記決定工程で決定された制御命令を書き込む書き込み工程と、
前記情報通信装置の判断手段が、前記決定工程において制御命令が決定された場合に、前記所定の命名規則に従って決定されたファイル名とは異なるファイル名を有する、該制御命令が書き込まれた第1のファイルが前記記憶領域に存在するか否かを判断する判断工程と、
前記情報通信装置の制御手段が、前記判断工程において前記第1のファイルが存在すると判断された場合、前記書き込み手段における前記所定の命名規則に従って決定されたファイル名を有するファイルへの制御命令の書き込みを行わせずに、前記第1のファイルのファイル名を前記所定の命名規則に従って決定されたファイル名に変更する制御工程と、
を有することを特徴とする情報通信装置の制御方法。
【請求項7】
コンピュータを、請求項1乃至5のいずれか1項に記載の情報通信装置の各手段として機能させるためのプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate


【公開番号】特開2013−114514(P2013−114514A)
【公開日】平成25年6月10日(2013.6.10)
【国際特許分類】
【出願番号】特願2011−261003(P2011−261003)
【出願日】平成23年11月29日(2011.11.29)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】