(57)【要約】【課題】利用するデバイスの指定を容易に行えるようにすること。【解決手段】第１の記憶手段１ｃは、制御情報２を記憶する。第２の記憶手段１ｄは、デバイス１ｇを制御するための１または複数のプログラムと１または複数の文字列との対応関係を示す定義情報３を記憶する。判定手段１ｅは、受け付ける操作入力に応じた文字列２ａを含む画面情報に基づいて表示装置１ａに表示された画面への操作入力に対して、文字列２ａを含む制御情報２が第１の記憶手段１ｃに登録されたことを検出すると定義情報３に示される何れかの文字列が、制御情報２に含まれているか判定する。制御手段１ｆは、定義情報３で示される文字列３ａが制御情報２に含まれていると判定されたとき、定義情報３を参照して、判定された該文字列３ａに対応付けられたプログラム３ｂを呼び出すことで、デバイス１ｇを制御する。【選択図】図１
2013077151.tif 000002
【特許請求の範囲】
【請求項１】
受け付ける操作入力に応じた文字列を含む画面情報に基づいて表示装置に表示された画面への前記操作入力に対して、前記文字列を含む制御情報が第１の記憶手段に登録されたことを検出すると、第２の記憶手段に記憶された、デバイスを制御するための１またはそれ以上のプログラムと１またはそれ以上の文字列との対応関係を示す定義情報に示される何れかの文字列が、前記制御情報に含まれているか判定し、
前記定義情報で示される何れかの文字列が含まれていると判定されたとき、前記定義情報を参照して、判定された該文字列に対応付けられたプログラムを呼び出すことで、デバイスを制御する、
処理をコンピュータに実行させるデバイス制御プログラム。
【請求項２】
前記画面情報および前記制御情報は、操作入力に応じたデバイスに対する命令の種別を含み、
前記定義情報には、デバイスに対する命令の種別ごとに前記対応関係が定義され、
前記制御情報に含まれる命令の種別に応じた前記定義情報内の前記対応関係を参照して、該対応関係に示される何れかの文字列が、前記制御情報に含まれているか判定する、
請求項１記載のデバイス制御プログラム。
【請求項３】
前記命令の種別には、前記デバイスを用いた処理の実行および停止が含まれる、請求項２記載のデバイス制御プログラム。
【請求項４】
前記定義情報には、前記文字列に対して複数のプログラムと複数のプログラムそれぞれを実行する順序とが対応付けられており、
前記制御情報に前記文字列が含まれる場合、前記定義情報に設定された順序で当該複数のプログラムそれぞれを呼び出すことで、複数のデバイスを順次制御する、
請求項１乃至３の何れか一項に記載のデバイス制御プログラム。
【請求項５】
前記画面情報および前記制御情報は、操作入力に応じた１またはそれ以上のパラメータに対する設定情報を含み、
前記定義情報には、文字列と１またはそれ以上のパラメータとの対応付けが定義され、
前記定義情報で示される何れかの文字列が前記制御情報に含まれていると判定されたとき、前記定義情報を参照して、判定された該文字列に対応付けられたパラメータに、前記制御情報に含まれる前記設定情報を設定して、該パラメータを呼び出したプログラムに入力し、実行することで、デバイスを制御する、
請求項１乃至４の何れか一項に記載のデバイス制御プログラム。
【請求項６】
呼び出したプログラムによりデバイスを制御することで、該デバイスが取得したデータを取得し、該データまたは該データを示す情報の何れかである格納データと前記格納データが該データまたは該データを示す情報の何れであるかを示す情報とを対応付けて前記第１の記憶手段に格納する、請求項１乃至５の何れか一項に記載のデバイス制御プログラム。
【請求項７】
前記制御情報は、前記画面情報を処理するウェブブラウザにより前記第１の記憶手段に登録される、請求項１乃至６の何れか一項に記載のデバイス制御プログラム。
【請求項８】
前記第１の記憶手段は、ＨＴＭＬ５で規定されるローカルストレージ、ウェブＳＱＬデータベースまたは任意のローカルディレクトリの何れかである、請求項７記載のデバイス制御プログラム。
【請求項９】
所定の文字列を含む制御情報を記憶する第１の記憶手段と、
デバイスを制御するための１またはそれ以上のプログラムと１またはそれ以上の文字列との対応関係を示す定義情報を記憶する第２の記憶手段と、
受け付ける操作入力に応じた文字列を含む画面情報に基づいて表示装置に表示された画面への前記操作入力に対して、前記文字列を含む前記制御情報が第１の記憶手段に登録されたことを検出すると、前記定義情報に示される何れかの文字列が、前記制御情報に含まれているか判定する判定手段と、
前記定義情報で示される何れかの文字列が含まれていると判定されたとき、前記定義情報を参照して、判定された該文字列に対応付けられたプログラムを呼び出すことで、デバイスを制御する制御手段と、
を有する情報処理装置。
【請求項１０】
コンピュータが実行するデバイス制御方法であって、
受け付ける操作入力に応じた文字列を含む画面情報に基づいて表示装置に表示された画面への前記操作入力に対して、前記文字列を含む制御情報が第１の記憶手段に登録されたことを検出すると、第２の記憶手段に記憶された、デバイスを制御するための１またはそれ以上のプログラムと１またはそれ以上の文字列との対応関係を示す定義情報に示される何れかの文字列が、前記制御情報に含まれているか判定し、
前記定義情報で示される何れかの文字列が含まれていると判定されたとき、前記定義情報を参照して、判定された該文字列に対応付けられたプログラムを呼び出すことで、デバイスを制御する、
デバイス制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はデバイス制御プログラム、情報処理装置およびデバイス制御方法に関する。
【背景技術】
【０００２】
情報処理装置には種々のデバイスが設けられる。情報処理装置は各種のデバイスを利用することで、データの入出力や他の情報処理装置とのデータ通信等、種々の処理を行う。
近年では、携帯可能な情報処理装置（携帯端末装置）にも多様なデバイスが設けられ、多機能化が進んでいる。例えば、携帯端末装置に撮像用のデバイスを設け、携帯端末装置で静止画や動画を生成可能にしたものがある。また、例えば、携帯端末装置に近距離無線通信用のデバイスを設け、当該デバイスによりスキャナやプリンタ等の外部機器と通信することで、外部機器を利用可能とし、拡張性を向上させたものがある。
【０００３】
ここで、サーバ装置に接続された情報処理装置では、情報処理装置に設けられたデバイスをサーバ装置の指示により動作させるものがある。例えば、携帯端末装置がセンタ側のコンピュータからダウンロードしたプログラムを用いて携帯端末装置に接続された外部機器を制御することで、センタ側のデータ処理に応じた外部機器の制御を実現する方法が提案されている（例えば、特許文献１参照）。
【０００４】
なお、例えば、クライアント装置でのドキュメントファイルの作成・更新を検出したときに、該ファイルをサーバ装置に自動的にアップロードし、その後、クライアント装置から削除する方法も提案されている（例えば、特許文献２参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００２−７４２３８号公報
【特許文献２】特開２０１０−２６６９３３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ところで、情報処理システムでは、サーバ装置が提供するグラフィカルユーザインタフェースを情報処理装置に設けられた表示装置に表示させ、当該インタフェースに従った操作をユーザに行わせるものがある。例えば、Ｗｅｂシステムでは、情報処理装置が備えるＷｅｂブラウザがサーバ装置からダウンロードした画面情報により、グラフィカルユーザインタフェースを生成し、ユーザによる操作入力を受け付ける。
【０００７】
このような情報処理システムでも、グラフィカルユーザインタフェースに対する操作に応じて、サーバ装置が指定するデバイスを動作させて、所定の処理を行わせたいという要求がある。その場合、サーバ装置が指定するデバイスの制御を、情報処理装置側での操作に応じて行う仕組みを、どのようにして実現するか問題となる。
【０００８】
一側面では、本発明は、利用するデバイスの指定を容易に行えるようにしたデバイス制御プログラム、情報処理装置およびデバイス制御方法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
一実施態様によれば、デバイス制御プログラムが提供される。このデバイス制御プログラムは、受け付ける操作入力に応じた文字列を含む画面情報に基づいて表示装置に表示された画面への操作入力に対して、文字列を含む制御情報が第１の記憶手段に登録されたことを検出すると、第２の記憶手段に記憶された、デバイスを制御するための１またはそれ以上のプログラムと１またはそれ以上の文字列との対応関係を示す定義情報に示される何れかの文字列が、制御情報に含まれているか判定し、定義情報で示される何れかの文字列が含まれていると判定されたとき、定義情報を参照して、判定された該文字列に対応付けられたプログラムを呼び出すことで、デバイスを制御する、処理をコンピュータに実行させる。
【００１０】
また、一実施態様によれば、第１の記憶手段と第２の記憶手段と判定手段と制御手段とを有する情報処理装置が提供される。第１の記憶手段は、所定の文字列を含む制御情報を記憶する。第２の記憶手段は、デバイスを制御するための１またはそれ以上のプログラムと１またはそれ以上の文字列との対応関係を示す定義情報を記憶する。判定手段は、受け付ける操作入力に応じた文字列を含む画面情報に基づいて表示装置に表示された画面への操作入力に対して、文字列を含む制御情報が第１の記憶手段に登録されたことを検出すると、定義情報に示される何れかの文字列が、制御情報に含まれているか判定する。制御手段は、定義情報で示される何れかの文字列が含まれていると判定されたとき、定義情報を参照して、判定された該文字列に対応付けられたプログラムを呼び出すことで、デバイスを制御する。
【００１１】
また、一実施対象によれば、コンピュータが実行するデバイス制御方法が提供される。このデバイス制御方法では、受け付ける操作入力に応じた文字列を含む画面情報に基づいて表示装置に表示された画面への操作入力に対して、文字列を含む制御情報が第１の記憶手段に登録されたことを検出すると、第２の記憶手段に記憶された、デバイスを制御するための１またはそれ以上のプログラムと１またはそれ以上の文字列との対応関係を示す定義情報に示される何れかの文字列が、制御情報に含まれているか判定する。定義情報で示される何れかの文字列が含まれていると判定されたとき、定義情報を参照して、判定された該文字列に対応付けられたプログラムを呼び出すことで、デバイスを制御する。
【発明の効果】
【００１２】
一実施態様によれば、利用するデバイスの指定を容易に行える。
【図面の簡単な説明】
【００１３】
【図１】第１の実施の形態の情報処理装置を示す図である。
【図２】第２の実施の形態の情報処理システムを示す図である。
【図３】クライアントのハードウェア例を示す図である。
【図４】第２の実施の形態のクライアントのソフトウェア例を示す図である。
【図５】ローカルストレージの例を示す図である。
【図６】プログラム定義ファイルの例を示す図である。
【図７】業務支援画面の例を示す図である。
【図８】業務支援画面のＨＴＭＬファイルの記述例を示す図である。
【図９】スクリプトの記述例を示す図である。
【図１０】クライアントの処理例を示すフローチャートである。
【図１１】デバイス実行制御の処理例を示すフローチャートである。
【図１２】デバイス停止制御の処理例を示すフローチャートである。
【図１３】撮像部の制御例を示すシーケンス図である。
【図１４】撮像部の制御例を示すシーケンス図（続き）である。
【図１５】バーコード読取の制御例を示すシーケンス図である。
【図１６】バーコード読取の制御例を示すシーケンス図（続き）である。
【図１７】第３の実施の形態のクライアントのソフトウェア例を示す図である。
【発明を実施するための形態】
【００１４】
以下、本実施の形態を図面を参照して説明する。
［第１の実施の形態］
図１は、第１の実施の形態の情報処理装置を示す図である。情報処理装置１は、表示装置１ａ、画面情報処理手段１ｂ、第１の記憶手段１ｃ、第２の記憶手段１ｄ、判定手段１ｅ、制御手段１ｆおよびデバイス１ｇを有する。
【００１５】
表示装置１ａは、画面情報処理手段１ｂにより生成された画面を表示する。
画面情報処理手段１ｂは、画面情報に基づいて、表示装置１ａに表示させる画面を生成する。画面情報処理手段１ｂが生成する画面は、所定の操作入力を受け付けるためのＧＵＩ（Graphical User Interface）である。画面情報は、ＧＵＩを記述可能な形式のデータである。画面情報の形式には、例えばＨＴＭＬ（HyperText Markup Language）やＸＭＬ（Extensible Markup Language）などが考えられる。画面情報は、複数のファイルを含んでもよい。例えば、１またはそれ以上のＨＴＭＬファイルと１またはそれ以上のスクリプトファイルを含んでいてもよい。スクリプトファイルは、該ＨＴＭＬファイルで記述した要素に対する操作入力に応じた処理を記述したファイルである。スクリプトファイルは、例えばＪａｖａＳｃｒｉｐｔ（登録商標）で記述されたファイルでもよい。
【００１６】
画面情報処理手段１ｂは、例えば、ネットワークを介して情報処理装置１と接続されたサーバ装置（図示を省略）から画面情報を取得できる。画面情報処理手段１ｂは、画面に対する操作入力に応じて、画面情報に含まれる所定の文字列２ａを含む制御情報２を第１の記憶手段１ｃに登録する。画面情報には、例えば、第１の記憶手段１ｃに登録する文字列が、受け付ける操作入力の内容ごとに定義される。
【００１７】
第１の記憶手段１ｃは、所定の文字列を含む制御情報２を記憶する。例えば、制御情報２には、文字列２ａ“ａｂｃｄｅ”が含まれている。
第２の記憶手段１ｄは、デバイス１ｇを制御するための１またはそれ以上のプログラムと１またはそれ以上の文字列との対応関係を示す定義情報３を記憶する。例えば、定義情報３には、文字列３ａ（“ａｂｃｄｅ”）およびプログラム３ｂ（／ｐｒｏｇｒａｍ／ｄｅｖｉｃｅ１ｇ．ｄａｔ）が含まれる。例えば、文字列３ａとプログラム３ｂとが“＝”（イコール）記号によって対応付けられている。
【００１８】
第１の記憶手段１ｃおよび第２の記憶手段１ｄは、ＳＳＤ（Solid State Drive）およびＨＤＤ（Hard Disk Drive）などのディスク装置によって実装されてもよい。第１の記憶手段１ｃおよび第２の記憶手段１ｄは、同じディスク装置上の異なる記憶領域によって実装されてもよい。
【００１９】
判定手段１ｅは、画面情報処理手段１ｂにより、制御情報２が第１の記憶手段１ｃに登録されたことを検出すると、第２の記憶手段１ｄに記憶された定義情報３に示される何れかの文字列が制御情報２に含まれているか判定する。制御情報２には、文字列２ａ“ａｂｃｄｅ”が含まれている。このとき、文字列２ａは、文字列３ａに一致する。よって、この場合、判定手段１ｅは、定義情報３に示される文字列３ａが制御情報２に含まれていると判定する。
【００２０】
制御手段１ｆは、定義情報３で示される何れかの文字列が含まれていると判定されたとき、定義情報３を参照して、判定された文字列に対応付けられたプログラムを呼び出すことでデバイスを制御する。例えば、制御手段１ｆは、文字列３ａが制御情報２に含まれていると判定された場合、定義情報３を参照して、文字列３ａに対応付けられたプログラム３ｂを呼び出すことでデバイスを制御する。プログラム３ｂはデバイス１ｇを制御するためのプログラムである。
【００２１】
デバイス１ｇは、所定の機能を実現するための装置である。例えば、静止画や動画を撮像するための撮像装置や有線・無線の通信を実現するための通信装置である。また、通信装置によって通信可能な、情報処理装置１の外部のデバイスでもよい。その場合、制御手段１ｆは、呼び出したプログラムにより、通信装置を介して外部のデバイスを制御する。
【００２２】
なお、画面情報処理手段１ｂは、例えばウェブ（Ｗｅｂ）ページを閲覧するためのブラウザにより実現されてもよい。また、判定手段１ｅおよび制御手段１ｆをブラウザに含めてもよい。
【００２３】
また、情報処理装置１は、ＣＰＵ（Central Processing Unit）などのプロセッサとＲＡＭ（Random Access Memory）などのメモリとを備えてもよく、メモリに記憶されたプログラムをプロセッサが実行するコンピュータであってもよい。
【００２４】
情報処理装置１によれば、判定手段１ｅにより、画面情報処理手段１ｂが表示装置１ａに表示された画面に対する操作入力に応じた制御情報２が第１の記憶手段１ｃに登録したことが検出される。判定手段１ｅにより、第２の記憶手段に記憶された定義情報３に示される何れかの文字列が、制御情報２に含まれているか判定される。定義情報３で示される何れかの文字列が含まれていると判定されたとき、制御手段１ｆにより、定義情報３が参照され、判定された文字列３ａに対応付けられたプログラム３ｂを呼び出すことで、デバイス１ｇが制御される。
【００２５】
これにより、利用するデバイスの指定を容易に行える。具体的には、画面情報処理手段１ｂが、第１の記憶手段１ｃに登録した制御情報２に含まれる文字列により、情報処理装置１で動作させるデバイスを指定できる。例えば、画面情報処理手段１ｂは、ブラウザの機能を用いることができる。ブラウザは、情報処理装置１で一般的に利用可能なソフトウェアである。このため、例えば、サーバ装置側で制御対象のデバイスの指定を追加・変更したい場合には、制御情報２に含める文字列の変更で対応可能である。よって、サーバ装置や情報処理装置１においてアプリケーションプログラム（以下、単にアプリケーションという）などの変更を伴わずに、デバイス指定の設定を容易に行える。
【００２６】
［第２の実施の形態］
図２は、第２の実施の形態の情報処理システムを示す図である。第２の実施の形態の情報処理システムは、情報機器（例えば、コンピュータやその周辺機器）の保守業務を支援する。この情報処理システムでは、クライアント装置（以下、単にクライアントという）で取得した保守内容をサーバ装置（以下、単にサーバという）で一元管理する。この情報処理システムは、クライアント装置（以下、単にクライアントという）１００およびサーバ装置（以下、単にサーバという）２００を含む。クライアント１００およびサーバ２００は、ネットワーク１０および基地局１１を介して接続されている。クライアント１００と基地局１１とは無線で接続され、移動通信で用いられる所定の周波数帯を用いて通信する。クライアント１００は、Ｗｉ−Ｆｉ（Wireless - Fidelity、登録商標）などで無線ＬＡＮ接続を行えるものでもよい。その場合、クライアント１００は、ネットワーク１０と直接的または間接的に接続されたアクセスポイント（図示を省略）を介してサーバ２００にアクセスしてもよい。
【００２７】
クライアント１００は、保守作業を行う保守員が所持する携帯端末装置である。クライアント１００は、静止画または動画を撮像する撮像部を備えている。保守員は、該撮像部によって保守対象の情報機器の静止画または動画を撮像できる。
【００２８】
また、クライアント１００は、バーコードリーダ１２と近距離無線通信により接続可能である。近距離無線通信の例としては、ＩｒＤＡ（Infrared Data Association）通信、Ｂｌｕｅｔｏｏｔｈ（登録商標）、Ｗｉ−ＦｉおよびＺｉｇｂｅｅ（登録商標）などがある。以下では、近距離無線通信の一例としてＢｌｕｅｔｏｏｔｈを示して説明する。
【００２９】
バーコードリーダ１２は、保守対象の情報機器に付されたバーコードの情報を読み取るスキャナ装置である。バーコードリーダ１２は、クライアント１００とＢｌｕｅｔｏｏｔｈにより通信可能である。バーコードリーダ１２は、読み取ったバーコードの情報をクライアント１００に送信できる。
【００３０】
サーバ２００は、クライアント１００から受信した画像データやバーコードのデータなどを管理する。サーバ２００は、Ｗｅｂサーバ機能を有しており、保守業務を支援するＧＵＩを記述した画面情報（ＨＴＭＬファイル）をクライアント１００に提供する。例えば、サーバ２００は、業務支援画面のＵＲＬ（Uniform Resource Locator）を指定したＨＴＴＰ（HyperText Transfer Protocol）リクエストをクライアント１００から受信する。サーバ２００は、該リクエストに対する応答として、業務支援のＧＵＩを記述したＨＴＭＬファイルをクライアント１００に送信する。
【００３１】
ここで、クライアント１００はＷｅｂブラウザを実行可能である。Ｗｅｂブラウザは、サーバ２００から受信したＨＴＭＬファイルを解析して、クライアント１００上のディスプレイにＧＵＩを表示させる。保守員は、ＧＵＩに従った操作入力を行うことで、クライアント１００の撮像部やバーコードリーダ１２に所定の情報を取得させることができる。また、クライアント１００により、取得した情報をサーバ２００へ送信させることができる。
【００３２】
なお、クライアント１００は、バーコードリーダ１２を用いて情報を取得する場合、バーコードリーダ１２および基地局１１との通信を行う。このとき、クライアント１００は、移動通信と近距離無線通信との２種類の通信方式を利用する。この場合、両方の通信方式を同時に利用するのが困難なことがある。同時利用により、クライアント１００が高負荷状態となる、電力消費が過大となる、などの問題が生じるためである。そこで、クライアント１００は、一方の通信方式を利用する場合に、他方の通信方式による通信を行わないよう制御する。具体的には、クライアント１００は、通常時は基地局１１と接続して、音声通話や電子メールなどを待ち受ける。一方、保守作業などで必要な場合に、移動通信を切断し、Ｂｌｕｅｔｏｏｔｈによる近距離無線通信を行う。Ｂｌｕｅｔｏｏｔｈによるデータ通信が完了すると、Ｂｌｕｅｔｏｏｔｈによる通信を切断し、移動通信を再開する。
【００３３】
図３は、クライアントのハードウェア例を示す図である。クライアント１００は、ＣＰＵ１０１、ＲＯＭ（Read Only Memory）１０２、ＲＡＭ１０３、移動通信部１０４、アンテナ１０４ａ，１０５ａ、近距離無線通信部１０５、記録媒体読取部１０６、撮像部１０７、画像信号処理部１０８、ディスプレイ１０８ａ、入力信号処理部１０９、タッチパネル１０９ａ、キーパッド１０９ｂ、音声信号処理部１１０、マイク１１０ａおよびスピーカ１１０ｂを有する。各ユニットがクライアント１００のバスに接続されている。
【００３４】
ＣＰＵ１０１は、クライアント１００の情報処理を制御するプロセッサである。ＣＰＵ１０１は、ＲＯＭ１０２やＲＡＭ１０３などに記憶されているプログラムやデータの少なくとも一部を読み出し、ＲＡＭ１０３に展開してプログラムを実行する。なお、クライアント１００は、複数のプロセッサを設けて、プログラムを分散して実行してもよい。
【００３５】
ＲＯＭ１０２は、クライアント１００の起動時に実行されるＢＩＯＳ（Basic Input / Output System）プログラムなどの所定のプログラムを記憶する。ＲＯＭ１０２は、書き換え可能な不揮発性メモリであってもよい。
【００３６】
ＲＡＭ１０３は、ＣＰＵ１０１が実行するプログラムや処理に用いるデータを一時的に記憶する揮発性メモリである。なお、クライアント１００は、ＲＡＭ以外の種類のメモリを備えてもよく、複数個のメモリを備えていてもよい。
【００３７】
移動通信部１０４は、無線信号処理を行い、基地局１１と移動通信網を介した無線通信を実現する。具体的には、移動通信部１０４は、基地局１１からアンテナ１０４ａを介して受信した信号を復調・復号し、得られた受信データをＣＰＵ１０１に出力する。また、移動通信部１０４は、ＣＰＵ１０１から取得した送信データを符号化・変調し、得られた送信信号をアンテナ１０４ａを介して基地局１１へ送信する。
【００３８】
近距離無線通信部１０５は、無線信号処理を行い、バーコードリーダ１２とのＢｌｕｅｔｏｏｔｈによる無線通信を実現する。具体的には、近距離無線通信部１０５は、ＣＰＵ１０１から取得した送信データを符号化・変調し、得られた送信信号をアンテナ１０５ａを介してバーコードリーダ１２へ送信する。また、近距離無線通信部１０５は、バーコードリーダ１２からアンテナ１０５ａを介して受信した信号を復調・復号し、得られた受信データをＣＰＵ１０１に出力する。
【００３９】
記録媒体読取部１０６は、記録媒体１３に記憶されたデータを読み取り、また、記録媒体１３に格納する。記録媒体１３としては、例えば、半導体メモリを使用できる。
撮像部１０７は、静止画または動画を撮像する。
【００４０】
画像信号処理部１０８は、ＣＰＵ１０１の命令に従って、ディスプレイ１０８ａに画像を出力する。ディスプレイ１０８ａとしては、例えば、液晶ディスプレイを用いることができる。
【００４１】
入力信号処理部１０９は、タッチパネル１０９ａに対するタッチ操作やキーパッド１０９ｂに対するキー押下を検出すると、該タッチ操作や押下されたキーなどを示す入力信号を取得し、ＣＰＵ１０１に出力する。
【００４２】
音声信号処理部１１０は、マイク１１０ａから音声アナログ信号を取得し、所定の信号変換処理を行ってＣＰＵ１０１に音声データを出力する。また、音声信号処理部１１０は、ＣＰＵ１０１から音声データを取得し、所定の信号変換処理を行ってスピーカ１１０ｂに音声再生させる。
【００４３】
図４は、第２の実施の形態のクライアントのソフトウェア例を示す図である。図４に示すユニットの一部または全部は、クライアント１００が実行するプログラムのモジュールであってもよい。また、図４に示すユニットの一部または全部は、ＦＰＧＡ（Field Programmable Gate Array）やＡＳＩＣ（Application Specific Integrated Circuit）などの電子回路であってもよい。
【００４４】
クライアント１００は、ファイルＩ／Ｏ（Input / Output）部１２０、記憶部１３０、Ｗｅｂブラウザ１４０、デバイス処理部１５０を有する。
ファイルＩ／Ｏ部１２０は、Ｗｅｂブラウザ１４０およびデバイス処理部１５０が読み書き可能な記憶領域である。ファイルＩ／Ｏ部１２０としては、例えば、ＨＴＭＬ５で標準化が検討されているローカルストレージ（ＬｏｃａｌＳｔｏｒａｇｅ）、ＷｅｂＳＱＬＤａｔａＢａｓｅおよびローカルディレクトリの任意のファイルなどが考えられる。以下では、ローカルストレージを想定する。
【００４５】
記憶部１３０は、プログラム定義ファイルを記憶する。プログラム定義ファイルは、文字列とデバイス制御用のプログラムとの対応関係を定義したものである。
Ｗｅｂブラウザ１４０は、サーバ２００から取得したＨＴＭＬファイルに基づき、ディスプレイ１０８ａに業務メニューなどの画面を表示させる。Ｗｅｂブラウザ１４０は、該画面に対し、タッチパネル１０９ａやキーパッド１０９ｂを用いた所定の操作入力を受け付ける。すると、Ｗｅｂブラウザ１４０は、ファイルＩ／Ｏ部１２０に該操作入力に応じた所定の文字列を含む制御情報を登録する。
【００４６】
デバイス処理部１５０は、ファイルＩ／Ｏ部１２０に登録された制御情報に基づき、クライアント１００で利用可能なデバイスを制御する。例えば、移動通信部１０４、近距離無線通信部１０５（近距離無線通信部１０５を介して通信するバーコードリーダ１２）および撮像部１０７の制御を行う。デバイス処理部１５０は、判定部１５１および制御部１５２を有する。
【００４７】
判定部１５１は、ファイルＩ／Ｏ部１２０を監視する。判定部１５１は、Ｗｅｂブラウザ１４０によりファイルＩ／Ｏ部１２０に制御情報が登録されたことを検出する。すると、判定部１５１は、記憶部１３０に記憶されたプログラム定義ファイルを参照して、プログラム定義ファイルで示される所定の文字列が、制御情報に含まれているかを判定する。
【００４８】
制御部１５２は、判定部１５１によりプログラム定義ファイルで示される文字列が制御情報に含まれていると判定されると、プログラム定義ファイルを参照して、該文字列に対応するプログラムを特定する。制御部１５２は、特定したプログラムを呼び出すことで、デバイスを制御する。
【００４９】
また、制御部１５２は、デバイスからデータを取得する。例えば、撮像部１０７から撮像部１０７が撮像して得た画像データを取得する。また、例えば、バーコードリーダ１２が読み取ったバーコードの値を近距離無線通信部１０５から取得する。制御部１５２は、デバイスから受け取ったデータまたは該データを示す情報を、ファイルＩ／Ｏ部１２０に格納する。所定のアプリケーションにより、デバイスから取得したデータに基づく処理を実行させるためである。例えば、Ｗｅｂブラウザ１４０は、デバイスから取得したデータをディスプレイ１０８ａに表示させることができる。また、Ｗｅｂブラウザ１４０は、選択されたデータをサーバ２００に送信することができる。
【００５０】
ここで、第２の実施の形態のクライアント１００は、第１の実施の形態の情報処理装置１の一例である。また、判定部１５１は、判定手段１ｅの一例である。制御部１５２は、制御手段１ｆの一例である。
【００５１】
図５は、ローカルストレージの例を示す図である。ローカルストレージ１２１は、ファイルＩ／Ｏ部１２０に格納される。ローカルストレージ１２１は、ＫＶＳ（Key-Value Store）であり、キー（ｋｅｙ）と値（ｖａｌｕｅ）とのペアでデータを格納する。
【００５２】
ローカルストレージ１２１には、Ｗｅｂブラウザ１４０および制御部１５２により複数種類の情報が登録される。該情報には、第１の制御情報１２１ａ、第２の制御情報１２１ｂおよび格納データ１２１ｃが含まれる。第１の制御情報１２１ａおよび第２の制御情報１２１ｂは、Ｗｅｂブラウザ１４０により登録され、デバイス処理部１５０の処理に利用される。格納データ１２１ｃは、制御部１５２により登録され、Ｗｅｂブラウザ１４０の処理に利用される。
【００５３】
第１の制御情報１２１ａは、デバイス制御に関する指示を登録したものである。具体的には、ｋｅｙとしてデバイス制御の命令の種別（実行／停止）（以下、命令種別ということがある）を登録する。ｖａｌｕｅとしてデバイス制御用のプログラムを特定するための文字列を登録する。
【００５４】
例えば、第１の制御情報１２１ａには、（ｋｅｙ，ｖａｌｕｅ）のペア（Ｅｘｅｃｕｔｅ，Ｃａｍｅｒａ）が登録され得る。ｋｅｙである“Ｅｘｅｃｕｔｅ”は、デバイスによる処理の実行指示であることを示す。なお、デバイスによる処理の停止指示は“Ｓｔｏｐ”の文字列で記述する。ｖａｌｕｅである“Ｃａｍｅｒａ”は、デバイス制御用のプログラムを特定するための文字列を示す。
【００５５】
第２の制御情報１２１ｂは、デバイス制御に用いるパラメータを登録したものである。具体的には、ｋｅｙとして設定する変数に対応する文字列を登録する。ｖａｌｕｅとしてパラメータに設定する値を登録する。
【００５６】
例えば、第２の制御情報１２１ｂには、（ｋｅｙ，ｖａｌｕｅ）のペア（ｐａｒａｍ１，６００ｘ４００）が登録され得る。ｋｅｙである“ｐａｒａｍ１”は、プログラム定義ファイルで定義されるｐａｒａｍ１のパラメータに、ｖａｌｕｅの値“６００ｘ４００”を設定することを示す。
【００５７】
また、例えば、第２の制御情報１２１ｂには、（ｋｅｙ，ｖａｌｕｅ）のペア（ｐａｒａｍ２，３）が登録され得る。ｋｅｙである“ｐａｒａｍ２”は、プログラム定義ファイルで定義されるｐａｒａｍ２のパラメータに、ｖａｌｕｅの値“３”を設定することを示す。
【００５８】
格納データ１２１ｃは、撮像部１０７やバーコードリーダ１２が取得したデータ（または該データを示す情報）を登録したものである。具体的には、ｋｅｙとして格納したデータの種別（パス、データ本体およびエンコード形式など）を登録する。ｖａｌｕｅとして取得したデータを示す情報（パスの内容、データ本体およびエンコードしたデータ本体）を登録する。格納データ１２１ｃとしては、例えば図５（Ａ）（Ｂ）（Ｃ）で示すような情報が登録され得る。
【００５９】
例えば図５（Ａ）では格納データ１２１ｃとして（ｋｅｙ，ｖａｌｕｅ）のペア（ｐａｔｈ，．．．／ｉｍｇ／ｃｏｍｍｏｎ／ｉｍｇ００１．ｊｐｇ）が登録され得る。ｋｅｙである“ｐａｔｈ”は、ｖａｌｕｅに格納された情報が、デバイスにより取得されたデータ本体へのパスであることを示す。ｖａｌｕｅである“．．．／ｉｍｇ／ｃｏｍｍｏｎ／ｉｍｇ００１．ｊｐｇ”は、デバイスにより取得されたデータ本体へのパスである。
【００６０】
また、例えば図５（Ｂ）では格納データ１２１ｃとして（ｋｅｙ，ｖａｌｕｅ）のペア（ｄａｔａ，３２８９３１）が登録され得る。ｋｅｙである“ｄａｔａ”は、ｖａｌｕｅに格納された情報が、デバイスにより取得されたデータ本体であることを示す。ｖａｌｕｅである“３２８９３１”は、デバイスにより取得されたデータ本体である。
【００６１】
また、例えば図５（Ｃ）で示すように、格納データ１２１ｃとして（ｋｅｙ，ｖａｌｕｅ）のペア（ｂａｓｅ６４，ＬＳ０ｔＩＷ５ｎＨＪ・・・）が登録され得る。ｋｅｙである“ｂａｓｅ６４”は、ｖａｌｕｅに格納された情報が、デバイスにより取得したデータ本体をＢａｓｅ６４でエンコードしたものであることを示す。ｖａｌｕｅである“ＬＳ０ｔＩＷ５ｎＨＪ・・・”は、デバイスにより取得されたデータ本体をＢａｓｅ６４によりエンコードしたものである。例えば、制御部１５２は、ｖａｌｕｅにバイナリデータを格納できない場合に画像などのバイナリデータをＢａｓｅ６４でエンコードしてから、ローカルストレージ１２１に登録してもよい。
【００６２】
なお、ＷｅｂＳＱＬＤａｔａｂａｓｅやローカルディレクトリの任意のファイルを用いる場合でも、ローカルストレージ１２１と同様のデータ構造を実装できる。ローカルディレクトリの任意のファイルを用いる場合には、例えば、ＣＳＶ（Comma Separated Values）形式やＸＭＬ形式のファイルを用いてもよい。
【００６３】
ＨＴＭＬ５で規定されるローカルストレージ１２１、ＷｅｂＳＱＬＤａｔａＢａｓｅおよびローカルディレクトリの任意のファイルなどは、データの有効期限の有無や設定値を任意に設定可能である。データを永続的に保持することも可能である。また、複数の異なるＷｅｂページやアプリケーションからのアクセスについても、制限の有無や制限範囲を任意に設定可能である。このため、任意のアプリケーションから容易にアクセス可能である。ここで、例えば、ｃｏｏｋｉｅを利用することも考えられる。しかし、ｃｏｏｋｉｅを利用する場合、有効期限、アクセス制限、サイズおよび個数などの仕様上の制約があり、扱い難い。これに対し、本実施の形態のようにローカルストレージ１２１などを用いることで、ｃｏｏｋｉｅに課されるような制約を受けずに、複数のアプリケーションにより各種データを容易に扱える。
【００６４】
図６は、プログラム定義ファイルの例を示す図である。プログラム定義ファイル１３１は、記憶部１３０に格納される。プログラム定義ファイル１３１は、文字列とデバイス制御用のプログラムとの対応付けを定義した定義情報である。また、プログラム定義ファイル１３１には、該プログラムを実行する際に用いるパラメータも定義される。プログラム定義ファイル１３１には、レコード１３１ａ，１３１ｂ，１３１ｃ，１３１ｄ，１３１ｅ，１３１ｆ，１３１ｇ，１３１ｈ，１３１ｉ，１３１ｊ，１３１ｋが含まれる。
【００６５】
レコード１３１ａ，１３１ｅ，１３１ｉは、該レコードよりも下の行に属するレコードの種別を示すものである。例えば、レコード１３１ａには、“［Ｃｏｍｍａｎｄ］［Ｅｘｅｃｕｔｅ］”と記述されている。これは、レコード１３１ｂ，１３１ｃ，１３１ｄが、命令種別“Ｅｘｅｃｕｔｅ”（動作実行）に対応するデバイス制御用のプログラムを定義した情報であることを示す。
【００６６】
具体的には、レコード１３１ｂには、“Ｃａｍｅｒａ（１）＝／ｐｒｏｇｒａｍ／ＥｘｅｃＣａｍｅｒａ．ｄａｔ”と記述されている。これは、“Ｃａｍｅｒａ”という文字列に対してデバイス制御用のプログラム“／ｐｒｏｇｒａｍ／ＥｘｅｃＣａｍｅｒａ．ｄａｔ”を対応付けたものであり、該プログラムがデバイスによる処理を実行する際に呼び出すものであることを示す。ここで、レコード１３１ｂで示されるプログラムは、撮像部１０７による静止画の撮像を制御するプログラムである。また、左辺の“Ｃａｍｅｒａ”の文字列に付加された“（１）”の文字列は、該プログラムが、撮像部１０７による一連の処理の最初に呼び出すものであることを示す。例えば、該プログラムの次に呼び出すプログラムに対応する文字列には、“（２）”を付す。更にその次であれば“（３）”を付す。単一のプログラムを呼び出して処理を行う場合には、“（１）”を付したレコードのみを定義する。
【００６７】
レコード１３１ｃ，１３１ｄも、レコード１３１ｂと同様の記述方法である。ここで、レコード１３１ｃは、移動通信部１０４の停止および近距離無線通信部１０５の起動を制御するプログラムを示すものとする。レコード１３１ｄは、バーコードリーダ１２でのバーコードの読み取り、読み取ったコードのクライアント１００への送信を制御するプログラムを示すものとする。このように、データ取得の一連の処理におけるデバイスの実行／停止を複数のプログラムに記述し、実行する順番を“（１）”、“（２）”のように記述する。
【００６８】
また、例えば、レコード１３１ｅには、“［Ｃｏｍｍａｎｄ］［Ｓｔｏｐ］”と記述されている。これは、レコード１３１ｆが、命令種別“Ｓｔｏｐ”（動作停止）に対応するデバイス制御用のプログラムを定義した情報であることを示す。
【００６９】
具体的には、レコード１３１ｆには、“Ｃａｍｅｒａ（１）＝／ｐｒｏｇｒａｍ／ＳｔｏｐＣａｍｅｒａ．ｄａｔ”と記述されている。これは、“Ｃａｍｅｒａ”という文字列に対してデバイス制御用のプログラム“／ｐｒｏｇｒａｍ／ＳｔｏｐＣａｍｅｒａ．ｄａｔ”を対応付けたものであり、該プログラムがデバイスの動作を停止する際に呼び出すものであることを示す。ここで、レコード１３１ｆで示されるプログラムは、撮像部１０７の動作停止を制御するプログラムである。なお、左辺の“Ｃａｍｅｒａ”の文字列に付加された“（１）”の文字列の示す意味は、レコード１３１ｂと同様である。
【００７０】
レコード１３１ｇ，１３１ｈも、レコード１３１ｆと同様の記述方法である。ここで、レコード１３１ｇは、バーコードリーダ１２の停止を制御するプログラムを示すものとする。レコード１３１ｈは、近距離無線通信部１０５の停止および移動通信部１０４の起動を制御するプログラムを示すものとする。
【００７１】
また、例えば、レコード１３１ｉには、“［ｐａｒａｍｅｔｅｒｅｓ］［Ｅｘｅｃｕｔｅ］”と記述されている。これは、レコード１３１ｊ，１３１ｋが、命令種別“Ｅｘｅｃｕｔｅ”に対応するデバイス制御用のプログラムを実行する際に、そのプログラムに入力するパラメータを定義した情報であることを示す。
【００７２】
具体的には、レコード１３１ｊには、“Ｃａｍｅｒａ（１）＝ｐａｒａｍ１（ｓｉｚｅ），ｐａｒａｍ２（ｆｒｅｑｕｅｎｃｙ）”と記述されている。これは、“Ｃａｍｅｒａ”という文字列に対して、命令種別“Ｅｘｅｃｕｔｅ”の制御用プログラム（レコード１３１ｂに対応）を実行する場合に、該プログラムに入力するパラメータを定義している。より具体的には、“ｐａｒａｍ１”で指定された値は、該プログラム中のパラメータ“ｓｉｚｅ”に設定すること、“ｐａｒａｍ２”で指定された値は該プログラム中のパラメータ“ｆｒｅｑｕｅｎｃｙ”に設定すること、を示す。ここで、パラメータ“ｓｉｚｅ”は、撮像部１０７により撮像される画像データのサイズ（幅×高さの画素数）を示す。また、パラメータ“ｆｒｅｑｕｅｎｃｙ”は、撮像部１０７による撮像の回数を示す。
【００７３】
レコード１３１ｋも、レコード１３１ｊと同様の記述方法である。ここで、レコード１３１ｋは、レコード１３１ｃで示されるプログラムを実行する際に入力するパラメータを定義したものである。より具体的には、“ｐａｒａｍ１”で指定された値は該プログラム中のパラメータ“ｍｏｄｅ”に設定すること、“ｐａｒａｍ２”で指定された値は該プログラム中のパラメータ“ｃｏｎｎｅｃｔ”に設定することを示す。ここで、パラメータ“ｍｏｄｅ”は、接続のための所定のモードを指定する情報である。パラメータ“ｃｏｎｎｅｃｔ”は、Ｂｌｕｅｔｏｏｔｈ接続に用いるプロファイルなどを指定する情報である。
【００７４】
なお、“ＢＳｃａｎ”の文字列に対応付けられた制御用プログラムはレコード１３１ｃ，１３１ｄの２種類存在している。これに対し、レコード１３１ｃ，１３１ｋでは、左辺の“ＢＳｃａｎ”に付加された文字列“（１）”が一致している。これによって、レコード１３１ｃ，１３１ｋを対応付けることができる。
【００７５】
更に、パラメータの入力が不要な場合には、パラメータの定義は記述されない。また、制御用プログラムに対して定義するパラメータの数は、１つでもよいし、２つ以上の複数個でもよい。
【００７６】
図７は、業務支援画面の例を示す図である。図７（Ａ）は業務支援画面３００を例示している。図７（Ｂ）は業務支援画面３００ａを例示している。
業務支援画面３００は、取得するデータを選択するための画面である。保守員は、Ｗｅｂブラウザ１４０上で、業務支援画面３００のＵＲＬを指定する。すると、Ｗｅｂブラウザ１４０は、サーバ２００から該ＵＲＬに対応するＨＴＭＬファイルを取得し、業務支援画面３００をディスプレイ１０８ａに表示させる。業務支援画面３００には、撮像ボタン３１０、バーコード読取ボタン３２０および終了ボタン３３０が表示されている。
【００７７】
撮像ボタン３１０は、保守対象の情報機器を撮像部１０７で撮像し、静止画のデータを取得するためのボタンである。バーコード読取ボタン３２０は、保守対象の情報機器に付されたバーコードを、バーコードリーダ１２により読み取り、読取結果を取得するためのボタンである。終了ボタン３３０は、業務支援画面３００を閉じて作業を終了するためのボタンである。終了ボタン３３０は、撮像ボタン３１０またはバーコード読取ボタン３２０を押下した後で、各ボタンによって実行された処理を終了するためのボタンとして用いてもよい。
【００７８】
業務支援画面３００ａは、撮像ボタン３１０が押下された後、撮像部１０７が取得した静止画のデータを閲覧・選択するための画面である。例えば、業務支援画面３００ａの領域３１０ａには、画像３１１ａ，３１２ａ，３１３ａが表示されている。例えば、保守員は、領域３１０ａに対してフリック操作（例えば、左右方向）する。すると、Ｗｅｂブラウザ１４０は領域３１０ａ内の表示をスクロールする（何れかの画像を中央に配置させる）。また、例えば、保守員は、画像３１１ａ，３１２ａ，３１３ａに対してタップ操作する。すると、Ｗｅｂブラウザ１４０は、タップされた画像の選択を受け付け、該画像を更に拡大表示する、あるいは、サーバ２００に送信する、などの処理を行う。
【００７９】
図８は、業務支援画面のＨＴＭＬファイルの記述例を示す図である。ＨＴＭＬファイル４００では、業務支援画面３００で示した表示内容に対応する記述を抜粋している。ＨＴＭＬファイル４００は、記述４１０，４２０を含む。
【００８０】
記述４１０は、撮像ボタン３１０を記述したものである。撮像ボタン３１０が押下されたときに、所定のディレクトリに配置されたスクリプトファイル“Ｃａｍｅｒａ．ｊｓ”内に定義された関数“ＥｘｅｃＣａｍｅｒａ（）”を実行することを示す。
【００８１】
記述４２０は、バーコード読取ボタン３２０を記述したものである。バーコード読取ボタン３２０が押下されたときに、所定のディレクトリに配置されたスクリプトファイル“ＢＳｃａｎ．ｊｓ”内に定義された関数“ＥｘｅｃＢＳｃａｎ（）”を実行することを示す。
【００８２】
図９は、スクリプトの記述例を示す図である。図９（Ａ）はスクリプトファイル５００（“Ｃａｍｅｒａ．ｊｓ”）を示す。図９（Ｂ）はスクリプトファイル６００（ＢＳｃａｎ．ｊｓ）を示す。スクリプトファイル５００，６００は、例えば、ＪａｖａＳｃｒｉｐｔ形式で記述される。
【００８３】
スクリプトファイル５００は、関数“ＥｘｅｃＣａｍｅｒａ（）”、“ＳｔｏｐＣａｍｅｒａ（）”および“ｓｅｌｅｃｔＩｍｇ（）”を含む。関数“ＥｘｅｃＣａｍｅｒａ（）”は、撮像部１０７の実行制御を行うときに用いる関数である。関数“ＳｔｏｐＣａｍｅｒａ（）”は、撮像部１０７の停止制御を行うときに用いる関数である。関数“ｓｅｌｅｃｔＩｍｇ（）”は、撮像部１０７が取得した画像データの表示および選択受付に用いる関数である。
【００８４】
例えば、関数“ＥｘｅｃＣａｍｅｒａ（）”は、コード５１０，５２０，５３０を含む。コード５１０，５２０，５３０は、（ｋｅｙ，ｖａｌｕｅ）ペアをローカルストレージ１２１に登録する処理を記述したものである。
【００８５】
コード５１０は、（Ｅｘｅｃｕｔｅ，Ｃａｍｅｒａ）を登録する処理である。コード５２０は、（ｐａｒａｍ１，６００ｘ４００）を登録する処理である。コード５３０は、（ｐａｒａｍ２，３）を登録する処理である。
【００８６】
なお、コード５２０，５３０の何れかまたは両方を含まなくてもよい。パラメータが指定されない場合には、制御部１５２は、デフォルトの設定によって撮像部１０７を制御する。
【００８７】
また、例えば、関数“ＳｔｏｐＣａｍｅｒａ（）”は、コード５４０を含む。コード５４０は、（ｋｅｙ，ｖａｌｕｅ）のペア（Ｓｔｏｐ，Ｃａｍｅｒａ）をローカルストレージ１２１に登録する処理である。
【００８８】
スクリプトファイル６００は、関数“ＥｘｅｃＢＳｃａｎ（）”および“ＳｔｏｐＢＳｃａｎ（）”を含む。関数“ＥｘｅｃＢＳｃａｎ（）”は、バーコードリーダ１２によるバーコード読取を行うときに用いる関数である。関数“ＳｔｏｐＢＳｃａｎ（）”は、バーコード読取を終了するときに用いる関数である。関数“ＥｘｅｃＢＳｃａｎ（）”は、コード６１０，６２０，６３０を含む。コード６１０，６２０，６３０は、（ｋｅｙ，ｖａｌｕｅ）ペアをローカルストレージ１２１に登録する処理を記述したものである。
【００８９】
コード６１０は、（Ｅｘｅｃｕｔｅ，ＢＳｃａｎ）を登録する処理である。コード６２０は、（ｐａｒａｍ１，ｍｏｄｅ０１）を登録する処理である。コード６３０は、（ｐａｒａｍ２，ｐｒｏｆｉｌｅ０１）を登録する処理である。
【００９０】
なお、コード６２０，６３０の何れかまたは両方を含まなくてもよい。パラメータが指定されない場合には、制御部１５２は、予め設定されたデフォルトのパラメータを用いて、移動通信部１０４、近距離無線通信部１０５およびバーコードリーダ１２を制御する。
【００９１】
また、例えば、関数“ＳｔｏｐＢＳｃａｎ（）”は、コード６４０を含む。コード６４０は、（ｋｅｙ，ｖａｌｕｅ）のペア（Ｓｔｏｐ，ＢＳｃａｎ）をローカルストレージ１２１に登録する処理である。
【００９２】
また、スクリプトファイル５００，６００に記述された関数は、ＨＴＭＬファイル４００内に記述されてもよい。
次に、以上の構成のクライアント１００の処理手順を説明する。以下の説明では、撮像部１０７で画像データを取得し、サーバ２００へアップロードする制御を例示する。
【００９３】
図１０は、クライアントの処理例を示すフローチャートである。以下、図１０に示す処理をステップ番号に沿って説明する。なお、ステップＳ１１の処理の直前では、ローカルストレージ１２１内のデータは全てクリアされているものとする。
【００９４】
（ステップＳ１１）Ｗｅｂブラウザ１４０は、サーバ２００からＨＴＭＬファイル４００を受信する。Ｗｅｂブラウザ１４０は、ＨＴＭＬファイル４００に基づいて、業務支援画面３００をディスプレイ１０８ａに表示させる。
【００９５】
（ステップＳ１２）Ｗｅｂブラウザ１４０は、保守員による撮像ボタン３１０へのタップ操作を受け付ける。
（ステップＳ１３）Ｗｅｂブラウザ１４０は、ローカルストレージ１２１に制御情報を登録する。具体的には、（ｋｅｙ，ｖａｌｕｅ）のペア（Ｅｘｅｃｕｔｅ，Ｃａｍｅｒａ）を登録する。また、（ｐａｒａｍ１，６００ｘ４００）および（ｐａｒａｍ２，３）を登録する。
【００９６】
（ステップＳ１４）判定部１５１は、ローカルストレージ１２１を監視している。判定部１５１は、ステップＳ１３でローカルストレージ１２１に（ｋｅｙ，ｖａｌｕｅ）＝（Ｅｘｅｃｕｔｅ，Ｃａｍｅｒａ）の制御情報が登録されたことを検出する。すると、プログラム定義ファイル１３１を参照し、命令種別“Ｅｘｅｃｕｔｅ”に係る制御用プログラムに対応する文字列が、ｋｅｙ“Ｅｘｅｃｕｔｅ”のｖａｌｕｅに含まれるか判定する。含まれる場合、処理をステップＳ１５に進める。含まれない場合、処理を終了する。ここで、「制御用プログラムに対応する文字列」とは、レコード１３１ｂ、１３１ｃ、１３１ｄの左辺の文字列のうち“（）”記号と“（）”記号内の数値を除く文字列である。ここでは、ｋｅｙ“Ｅｘｅｃｕｔｅ”に対して、ｖａｌｕｅ“Ｃａｍｅｒａ”がローカルストレージ１２１に登録されている。このとき、判定部１５１は、プログラム定義ファイル１３１のレコード１３１ｂの左辺で示される文字列“Ｃａｍｅｒａ”が、制御情報に含まれると判定する。
【００９７】
（ステップＳ１５）判定部１５１は、制御情報で指定された文字列に対応する制御用プログラムを特定する。具体的には、判定部１５１は、レコード１３１ｂの左辺の文字列“Ｃａｍｅｒａ”に対応する“／ｐｒｏｇｒａｍ／ＥｘｅｃＣａｍｅｒａ．ｄａｔ”を特定する。判定部１５１は、特定したプログラムを制御部１５２に通知する。
【００９８】
（ステップＳ１６）制御部１５２は、プログラム定義ファイル１３１を参照し、ステップＳ１５で特定したプログラム（レコード１３１ｂ）に対応するパラメータ定義用の文字列“ｐａｒａｍ１”および“ｐａｒａｍ２”を特定する（レコード１３１ｊに相当）。そして、制御部１５２は、ローカルストレージ１２１のｋｅｙにパラメータ定義用の文字列を指定して、そのｖａｌｕｅを取得する。これによって、制御部１５２は、パラメータ“ｓｉｚｅ”の設定値“６００ｘ４００”およびパラメータ“ｆｒｅｑｕｅｎｃｙ”の設定値“３”を得る。なお、パラメータ定義用の文字列がプログラム定義ファイル１３１内に定義されていない場合、あるいは、定義されていてもローカルストレージ１２１に対応するｋｅｙが登録されていない場合には、本ステップをスキップしてステップＳ１８に進む。
【００９９】
（ステップＳ１７）制御部１５２は、判定部１５１から通知されたプログラムを呼び出して、撮像部１０７を制御する。詳細は後述する。
（ステップＳ１８）制御部１５２は、撮像部１０７から画像データを取得する。例えば、撮像部１０７が３回撮像を行っていれば、制御部１５２は画像データを３つ取得する。制御部１５２は、所定のディレクトリ（例えば、“．．．／ｉｍｇ／ｃｏｍｍｏｎ／”）に画像データ（例えば、ファイル名“ｉｍｇ００１．ｊｐｇ”）を書込む。複数の画像データがあれば、ファイル名を変更して複数の画像データを書込む。
【０１００】
（ステップＳ１９）制御部１５２は、画像データのパスをローカルストレージ１２１に登録する。具体的には、（ｋｅｙ，ｖａｌｕｅ）のペア（ｐａｔｈ，．．．／ｉｍｇ／ｃｏｍｍｏｎ／ｉｍｇ００１．ｊｐｇ）を登録する。ｋｅｙである“ｐａｔｈ”は、ｖａｌｕｅが画像データへのパスを示す情報であることを示す。複数の画像データがあれば、複数のパスを登録する。
【０１０１】
（ステップＳ２０）Ｗｅｂブラウザ１４０は、ローカルストレージ１２１に新たな情報が登録されたことを検出する。すると、Ｗｅｂブラウザ１４０は、撮像部１０７の停止を指示する制御情報をローカルストレージ１２１に登録する。判定部１５１は、該制御情報の登録を検出すると、ステップＳ１４，Ｓ１５と同様の処理を行う。制御部１５２は、判定部１５１の判定結果に基づいて、撮像部１０７の停止を制御する。詳細は後述する。
【０１０２】
（ステップＳ２１）Ｗｅｂブラウザ１４０は、ｋｅｙとして“ｐａｔｈ”を指定して、ローカルストレージ１２１からパスの情報を取得する。Ｗｅｂブラウザ１４０は、該パスの指定に沿って、画像データを取得する。Ｗｅｂブラウザ１４０は、取得した画像データに基づいて、画像データを選択させるための業務支援画面３００ａを生成する。Ｗｅｂブラウザ１４０は、業務支援画面３００ａをディスプレイ１０８ａに表示させる。
【０１０３】
（ステップＳ２２）Ｗｅｂブラウザ１４０は、保守員による画像の選択操作（タップ操作）の入力を受け付ける。例えば、画像３１２ａの選択操作の入力を受け付ける。
（ステップＳ２３）Ｗｅｂブラウザ１４０は、選択された画像３１２ａに対応する画像データをサーバ２００にアップロードする。アップロードのための処理は、例えば、ＨＴＭＬファイル４００に予め記述される。
【０１０４】
（ステップＳ２４）Ｗｅｂブラウザ１４０は、ローカルストレージ１２１に格納されたデータを全て削除する。
ここで、ステップＳ１９では、画像データへのパスに代えて、データ本体、あるいは、データ本体をＢａｓｅ６４などにエンコードしたデータをローカルストレージ１２１に登録してもよい。その場合、ｋｅｙには、格納したデータに応じて“ｄａｔａ”や“ｂａｓｅ６４”などの文字列を登録する（図５参照）。なお、データ形式として、例えば“ｂａｓｅ６４”が指定されていた場合、Ｗｅｂブラウザ１４０は、ローカルストレージ１２１から取得したデータをＢａｓｅ６４でデコードすることでデータ本体を復元し得る。何れの形式でデータをローカルストレージ１２１に格納するかは、制御部１５２に予め設定される。
【０１０５】
次に、ステップＳ１７のデバイス実行制御の手順を説明する。
図１１は、デバイス実行制御の処理例を示すフローチャートである。以下、図１１に示す処理をステップ番号に沿って説明する。
【０１０６】
（ステップＳ３１）制御部１５２は、判定部１５１から通知された撮像部１０７の制御用プログラムを呼び出す。このとき、ステップＳ１６で取得したパラメータがある場合には、該パラメータを呼び出したプログラムに入力する。該プログラムはＣＰＵ１０１により実行され、撮像部１０７が起動・実行制御される。
【０１０７】
（ステップＳ３２）撮像部１０７は、保守対象の情報機器を撮像する。撮像方法は、例えば、ステップＳ３１で入力されたパラメータにより指定される。例えば、“ｓｉｚｅ”に“６００ｘ４００”が入力された場合、幅６００ピクセル、高さ４００ピクセルの解像度で撮像する。また、例えば、“ｆｒｅｑｕｅｎｃｙ”に“３”が入力された場合、所定の時間間隔で３回撮像する。
【０１０８】
（ステップＳ３３）撮像部１０７は、撮像した画像データを制御部１５２に出力する。例えば、３回撮像していれば、画像データを３つ出力する。
このようにして、クライアント１００は、業務支援画面３００に対する操作に応じた制御情報をローカルストレージ１２１に登録する。クライアント１００は、ローカルストレージ１２１内の制御情報に応じたデバイス制御用のプログラムを呼び出して、デバイスを制御する。
【０１０９】
次に、ステップＳ２０のデバイス停止制御の手順を説明する。
図１２は、デバイス停止制御の処理例を示すフローチャートである。以下、図１２に示す処理をステップ番号に沿って説明する。
【０１１０】
（ステップＳ４１）Ｗｅｂブラウザ１４０は、ローカルストレージ１２１に画像データのパスが登録されたことを検出すると、撮像部１０７の停止用の制御情報をローカルストレージ１２１に登録する。具体的には、（ｋｅｙ，ｖａｌｕｅ）のペア（Ｓｔｏｐ，Ｃａｍｅｒａ）を登録する。
【０１１１】
（ステップＳ４２）判定部１５１は、ステップＳ４１でローカルストレージ１２１に（ｋｅｙ，ｖａｌｕｅ）＝（Ｓｔｏｐ，Ｃａｍｅｒａ）の制御情報が登録されたことを検出する。すると、プログラム定義ファイル１３１を参照し、命令種別“Ｓｔｏｐ”に係る制御用プログラムに対応する文字列“Ｃａｍｅｒａ”が、ローカルストレージ１２１内のｋｅｙ“Ｓｔｏｐ”に対するｖａｌｕｅとして含まれることを検出する。
【０１１２】
（ステップＳ４３）判定部１５１は、制御情報で指定された文字列に対応する命令種別“Ｓｔｏｐ”の制御用プログラムを特定する。具体的には、判定部１５１は、レコード１３１ｆの左辺の文字列“Ｃａｍｅｒａ”に対応する“／ｐｒｏｇｒａｍ／ＳｔｏｐＣａｍｅｒａ．ｄａｔ”を特定する。判定部１５１は、特定したプログラムを制御部１５２に通知する。
【０１１３】
（ステップＳ４４）制御部１５２は、判定部１５１から通知された撮像部１０７の制御用プログラムを呼び出す。なお、本例では、ステップＳ４１でローカルストレージ１２１にパラメータの登録がなされないものとしている。これに対し、停止制御を行う場合であっても、実行制御の場合と同様に、パラメータを指定してもよい。
【０１１４】
（ステップＳ４５）制御部１５２が呼び出したプログラムがＣＰＵ１０１により実行され、撮像部１０７が停止される。
このようにして、クライアント１００は、デバイスによってデータが取得されたことを検出し、該デバイスを停止するための制御情報をローカルストレージ１２１に登録する。
【０１１５】
なお、デバイス停止制御の処理は、例えば、画像データのアップロードを完了した直後など、別のタイミングで実行してもよい。例えば、図１０において、ステップＳ２０は、ステップＳ２１〜Ｓ２３の何れかのステップの処理が完了した直後に実行されてもよい。また、例えば、ステップＳ２０はステップＳ２１〜Ｓ２３と並行に実行されてもよい。
【０１１６】
次に、撮像部１０７の制御を行う際の構成間の関係を具体的に説明する。
図１３は、撮像部の制御例を示すシーケンス図である。以下、図１３に示す処理をステップ番号に沿って説明する。
【０１１７】
（ステップＳＴ１０１）判定部１５１は、ローカルストレージ１２１を定期的に監視している。判定部１５１は、ローカルストレージ１２１の更新をチェックする。本ステップの段階では、ローカルストレージ１２１には何れの情報も登録されていない。このため、判定部１５１は更新を検出しない。
【０１１８】
（ステップＳＴ１０２）サーバ２００は、Ｗｅｂブラウザ１４０からのリクエストに応じて、業務支援画面３００のＨＴＭＬファイル４００を送信する。Ｗｅｂブラウザ１４０は、サーバ２００からＨＴＭＬファイル４００を受信する。
【０１１９】
（ステップＳＴ１０３）Ｗｅｂブラウザ１４０は、業務支援画面３００をディスプレイ１０８ａに表示させる。Ｗｅｂブラウザ１４０は、撮像ボタン３１０に対するタップ操作を受け付ける。Ｗｅｂブラウザ１４０は、制御情報（ｋｅｙ，ｖａｌｕｅ）＝（Ｅｘｅｃｕｔｅ，Ｃａｍｅｒａ）などをローカルストレージ１２１に登録する。すると、Ｗｅｂブラウザ１４０は、ローカルストレージ１２１の所定周期での更新監視を開始する。
【０１２０】
（ステップＳＴ１０４）判定部１５１は、ローカルストレージ１２１の更新をチェックする。判定部１５１は、ローカルストレージ１２１が更新されたことを検出する。
（ステップＳＴ１０５）判定部１５１は、ステップＳＴ１０３でＷｅｂブラウザ１４０が登録した制御情報をローカルストレージ１２１から取得する。
【０１２１】
（ステップＳＴ１０６）判定部１５１は、プログラム定義ファイル１３１に含まれる（命令種別“Ｅｘｅｃｕｔｅ”に係る）文字列“Ｃａｍｅｒａ”が制御情報のｋｅｙ“Ｅｘｅｃｕｔｅ”に対応するｖａｌｕｅに含まれると判定する。すると、判定部１５１は、プログラム定義ファイル１３１を参照して、文字列“Ｃａｍｅｒａ”に対応する制御用プログラム（レコード１３１ｂに対応）を制御部１５２に通知する。
【０１２２】
（ステップＳＴ１０７）Ｗｅｂブラウザ１４０は、ローカルストレージ１２１の更新をチェックする。本ステップの段階では、ローカルストレージ１２１は更新されていない。このため、Ｗｅｂブラウザ１４０は更新を検出しない。
【０１２３】
（ステップＳＴ１０８）制御部１５２は、判定部１５１から通知された制御用プログラムを呼び出して、撮像部１０７による情報機器の撮像を制御する。制御情報としてパラメータが指定されている場合には、該パラメータを制御用プログラムに入力して撮像部１０７を制御する。
【０１２４】
（ステップＳＴ１０９）制御部１５２は、撮像部１０７が生成した画像データを取得する。
（ステップＳＴ１１０）制御部１５２は、撮像部１０７が生成した画像データを所定のディレクトリに格納する。制御部１５２は、該画像データのパスをローカルストレージ１２１に登録する。例えば、（ｋｅｙ，ｖａｌｕｅ）＝（ｐａｔｈ，．．．／ｉｍｇ／ｃｏｍｍｏｎ／ｉｍｇ００１．ｊｐｇ）である。
【０１２５】
（ステップＳＴ１１１）Ｗｅｂブラウザ１４０は、ローカルストレージ１２１の更新をチェックする。Ｗｅｂブラウザ１４０は、ローカルストレージ１２１が更新されたことを検出する。Ｗｅｂブラウザ１４０は、監視を停止する。
【０１２６】
（ステップＳＴ１１２）Ｗｅｂブラウザ１４０は、制御情報（ｋｅｙ，ｖａｌｕｅ）＝（Ｓｔｏｐ，Ｃａｍｅｒａ）をローカルストレージ１２１に登録する。すると、判定部１５１および制御部１５２により、撮像部１０７の停止制御が開始される（後述する）。
【０１２７】
（ステップＳＴ１１３）Ｗｅｂブラウザ１４０は、ローカルストレージ１２１から新たに登録された画像データのパスを取得する。
（ステップＳＴ１１４）Ｗｅｂブラウザ１４０は、該パスから画像データを取得して、サーバ２００に送信する。サーバ２００は、該画像データを受信して、所定の記憶部に格納する。
【０１２８】
（ステップＳＴ１１５）Ｗｅｂブラウザ１４０は、ローカルストレージ１２１に格納されたデータ（制御情報や取得されたデータ）を消去する。
次に、ステップＳＴ１１２から派生する撮像部１０７の停止制御を説明する。
【０１２９】
図１４は、撮像部の制御例を示すシーケンス図（続き）である。以下、図１４に示す処理をステップ番号に沿って説明する。
（ステップＳＴ１２１）判定部１５１は、ローカルストレージ１２１の更新をチェックする。判定部１５１は、ローカルストレージ１２１が更新されたことを検出する。なお、本ステップは、ステップＳＴ１１４よりも前に実行される。
【０１３０】
（ステップＳＴ１２２）判定部１５１は、Ｗｅｂブラウザ１４０がステップＳＴ１１２で登録した制御情報をローカルストレージ１２１から取得する。
（ステップＳＴ１２３）判定部１５１は、プログラム定義ファイル１３１に含まれる（命令種別“Ｓｔｏｐ”に係る）文字列“Ｃａｍｅｒａ”が制御情報のｋｅｙ“Ｓｔｏｐ”に対応するｖａｌｕｅに含まれると判定する。すると、判定部１５１は、プログラム定義ファイル１３１を参照して、文字列“Ｃａｍｅｒａ”に対応する制御用プログラム（レコード１３１ｆに対応）を制御部１５２に通知する。
【０１３１】
（ステップＳＴ１２４）制御部１５２は、判定部１５１から通知された制御プログラムを呼び出して、撮像部１０７を停止させる。
このようにして、クライアント１００は、撮像部１０７の一連の制御を行う。
【０１３２】
次に、移動通信部１０４、近距離無線通信部１０５およびバーコードリーダ１２を制御し、情報機器に付されたバーコードを読み取る処理の例を説明する。
図１５は、バーコード読取の制御例を示すシーケンス図である。以下、図１５に示す処理をステップ番号に沿って説明する。
【０１３３】
（ステップＳＴ１３１）判定部１５１は、ローカルストレージ１２１を定期的に監視している。判定部１５１は、ローカルストレージ１２１の更新をチェックする。本ステップの段階では、ローカルストレージ１２１には何れの情報も登録されていない。このため、判定部１５１は更新を検出しない。
【０１３４】
（ステップＳＴ１３２）サーバ２００は、Ｗｅｂブラウザ１４０からのリクエストに応じて、業務支援画面３００のＨＴＭＬファイル４００を送信する。Ｗｅｂブラウザ１４０は、サーバ２００からＨＴＭＬファイル４００を受信する。
【０１３５】
（ステップＳＴ１３３）Ｗｅｂブラウザ１４０は、業務支援画面３００をディスプレイ１０８ａに表示させる。Ｗｅｂブラウザ１４０は、バーコード読取ボタン３２０に対するタップ操作を受け付ける。Ｗｅｂブラウザ１４０は、制御情報（ｋｅｙ，ｖａｌｕｅ）＝（Ｅｘｅｃｕｔｅ，ＢＳｃａｎ）などをローカルストレージ１２１に登録する。すると、Ｗｅｂブラウザ１４０は、ローカルストレージ１２１の所定周期での更新監視を開始する。
【０１３６】
（ステップＳＴ１３４）判定部１５１は、ローカルストレージ１２１の更新をチェックする。判定部１５１は、ローカルストレージ１２１が更新されたことを検出する。
（ステップＳＴ１３５）判定部１５１は、ステップＳＴ１３３でＷｅｂブラウザ１４０が登録した制御情報をローカルストレージ１２１から取得する。
【０１３７】
（ステップＳＴ１３６）判定部１５１は、プログラム定義ファイル１３１に含まれる（命令種別“Ｅｘｅｃｕｔｅ”に係る）文字列“ＢＳｃａｎ”が制御情報のｋｅｙ“Ｅｘｅｃｕｔｅ”に対応するｖａｌｕｅに含まれると判定する。すると、判定部１５１は、プログラム定義ファイル１３１を参照して、文字列“ＢＳｃａｎ”に対応する制御用プログラム（レコード１３１ｃ，１３１ｄに対応）を“（）”で定義された順番にしたがって、制御部１５２に通知する。
【０１３８】
（ステップＳＴ１３７）Ｗｅｂブラウザ１４０は、ローカルストレージ１２１の更新をチェックする。本ステップの段階では、ローカルストレージ１２１は更新されていない。このため、Ｗｅｂブラウザ１４０は更新を検出しない。
【０１３９】
（ステップＳＴ１３８）制御部１５２は、判定部１５１から通知された最初の制御用プログラム（／ｐｒｏｇｒａｍ／ＥｘｅｃＢＴ．ｄａｔ）を呼び出して、移動通信部１０４を停止させる。
【０１４０】
（ステップＳＴ１３９）制御部１５２は、更に該プログラムにより、近距離無線通信部１０５を起動し、バーコードリーダ１２との通信を確立させる。
（ステップＳＴ１４０）制御部１５２は、判定部１５１から通知された次の制御用プログラム（／ｐｒｏｇｒａｍ／ＥｘｅｃＢＲ．ｄａｔ）を呼び出し、近距離無線通信部１０５を介したバーコードリーダ１２のバーコード読取を制御する。なお、ステップＳＴ１３８〜ＳＴ１４０において、制御情報としてパラメータが指定されている場合には、該パラメータを対応する各制御用プログラムに入力して各デバイスを制御する。
【０１４１】
（ステップＳＴ１４１）制御部１５２は、近距離無線通信部１０５を介してバーコードリーダ１２が読み取ったコードデータ（例えば、“３２８９３１”）を取得する。
（ステップＳＴ１４２）制御部１５２は、取得した読取データをローカルストレージ１２１に登録する。例えば、（ｋｅｙ，ｖａｌｕｅ）＝（ｄａｔａ，３２８９３１）である。
【０１４２】
（ステップＳＴ１４３）Ｗｅｂブラウザ１４０は、ローカルストレージ１２１の更新をチェックする。Ｗｅｂブラウザ１４０は、ローカルストレージ１２１が更新されたことを検出する。Ｗｅｂブラウザ１４０は、監視を停止する。
【０１４３】
（ステップＳＴ１４４）Ｗｅｂブラウザ１４０は、制御情報（ｋｅｙ，ｖａｌｕｅ）＝（Ｓｔｏｐ，ＢＳｃａｎ）をローカルストレージ１２１に登録する。すると、判定部１５１および制御部１５２により、バーコードリーダ１２の停止制御が開始される（後述する）。
【０１４４】
（ステップＳＴ１４５）Ｗｅｂブラウザ１４０は、ローカルストレージ１２１から新たに登録された読取データを取得する。このとき、読取データのｋｅｙに“ｄａｔａ”が指定されているため、Ｗｅｂブラウザ１４０は該読取データをデータ本体であると認識できる。
【０１４５】
（ステップＳＴ１４６）Ｗｅｂブラウザ１４０は、取得した読取データをサーバ２００に送信する。サーバ２００は、該読取データを受信して、所定の記憶部に格納する。
（ステップＳＴ１４７）Ｗｅｂブラウザ１４０は、ローカルストレージ１２１に格納されたデータ（制御情報や取得されたデータ）を消去する。
【０１４６】
次に、ステップＳＴ１４４から派生するバーコード読取処理の停止制御を説明する。
図１６は、バーコード読取の制御例を示すシーケンス図（続き）である。以下、図１６に示す処理をステップ番号に沿って説明する。
【０１４７】
（ステップＳＴ１５１）判定部１５１は、ローカルストレージ１２１の更新をチェックする。判定部１５１は、ローカルストレージ１２１が更新されたことを検出する。なお、本ステップはステップＳＴ１４７よりも前に実行される。
【０１４８】
（ステップＳＴ１５２）判定部１５１は、Ｗｅｂブラウザ１４０がステップＳＴ１４４で登録した制御情報をローカルストレージ１２１から取得する。
（ステップＳＴ１５３）判定部１５１は、プログラム定義ファイル１３１に含まれる（命令種別“Ｓｔｏｐ”に係る）文字列“ＢＳｃａｎ”が制御情報のｋｅｙ“Ｓｔｏｐ”に対応するｖａｌｕｅに含まれると判定する。すると、判定部１５１は、プログラム定義ファイル１３１を参照して、文字列“ＢＳｃａｎ”に対応する制御用プログラム（レコード１３１ｇ，１３１ｈに対応）を“（）”で定義された順番にしたがって、制御部１５２に通知する。
【０１４９】
（ステップＳＴ１５４）制御部１５２は、判定部１５１から通知された最初の制御用プログラム（／ｐｒｏｇｒａｍ／ＳｔｏｐＢＲ．ｄａｔ）を呼び出して、近距離無線通信部１０５とバーコードリーダ１２との通信を切断させる。
【０１５０】
（ステップＳＴ１５５）制御部１５２は、判定部１５１から通知された次の制御用プログラム（／ｐｒｏｇｒａｍ／ＳｔｏｐＢＴ．ｄａｔ）を呼び出して、近距離無線通信部１０５を停止させる。
【０１５１】
（ステップＳＴ１５６）制御部１５２は、更に該プログラムにより、移動通信部１０４を起動する。
このようにして、クライアント１００はバーコード読取を制御する。
【０１５２】
以上のように、サーバ２００は、クライアント１００で利用させたいデバイスをＨＴＭＬファイル４００の記述により指定できる。ＨＴＭＬファイル４００は、Ｗｅｂブラウザ１４０で解析できる。Ｗｅｂブラウザ１４０は、クライアント１００で一般的に利用可能なソフトウェアである。このため、例えば、サーバ２００でデバイスの指定を追加・変更したい場合には、制御情報（ｋｅｙ−ｖａｌｕｅペア）の設定値、あるいは、スクリプト中の関数の変更で対応可能である。よって、クライアント１００やサーバ２００においてアプリケーションなどの変更を伴わずに、デバイス指定の設定を容易に行える。更に、クライアント１００は、プログラム定義ファイル１３１で定義された順番に沿ってプログラムを呼び出すことで、複数のデバイスによる一連の処理を実行できる。これにより、サーバ２００から複数のデバイスを用いた制御の指定も容易に行える。
【０１５３】
また、呼び出し対象のプログラムに入力させるパラメータを指定することもできる。具体的には、パラメータを示す文字列“ｐａｒａｍ”などをｋｅｙとして、ローカルストレージ１２１に登録する。制御部１５２は、該ｋｅｙとプログラム定義ファイル１３１とを参照して、登録されたパラメータが何れのプログラムに入力すべきものであるかを判断する。このようにして、デバイス指定に加えて、該デバイスを制御する際のパラメータの指定も容易に行える。
【０１５４】
また、制御部１５２は、ローカルストレージ１２１にデバイスが取得したデータに関する情報を格納する。これによって、他のアプリケーションによる該データを用いた処理を容易に実現することもできる。
【０１５５】
その際、制御部１５２は、格納するデータをｖａｌｕｅに、データ形式をｋｅｙに設定する。これによって、アプリケーションは該データのデータ形式を容易に識別できる。例えば、ｋｅｙに“ｐａｔｈ”が登録されていれば、データのパスであると識別できる。また、例えばｋｅｙに“ｄａｔａ”が登録されていれば、データ本体であると識別できる。また、例えばｋｅｙに“ｂａｓｅ６４”が登録されていれば、Ｂａｓｅ６４でエンコードされたデータであると識別できる。これら以外の他のデータ形式を登録してもよい。具体的には、データの属性（例えば、データが備品コードであることを示す情報など）、取り扱い方（サーバ送信用およびサーバ非送信用など）などを登録することも考えられる。
【０１５６】
［第３の実施の形態］
次に、第３の実施の形態を説明する。前述の第２の実施の形態との相違点を主に説明し、同様の事項の説明を省略する。
【０１５７】
第２の実施の形態では、デバイス処理部１５０の機能をＷｅｂブラウザとは別個のアプリケーションにより実装する例を説明した。一方、デバイス処理部１５０の機能をＷｅｂブラウザに設けてもよい。そこで、第３の実施の形態では、デバイス処理部１５０の機能をＷｅｂブラウザに設ける場合を例示する。
【０１５８】
ここで、第３の実施の形態の情報処理システムの全体構成は、図２で説明した第２の実施の形態の情報処理システムの全体構成と同様である。また、第３の実施の形態のクライアントのハードウェア例は、図３で説明した第２の実施の形態のクライアント１００のハードウェア例と同様である。なお、第３の実施の形態のクライアントを第２の実施の形態のクライアント１００と区別して、クライアント１００ａと称する。
【０１５９】
図１７は、第３の実施の形態のクライアントのソフトウェア例を示す図である。図１７に示すユニットの一部または全部は、クライアント１００ａが実行するプログラムのモジュールであってもよい。また、図４に示すユニットの一部または全部は、ＦＰＧＡやＡＳＩＣなどの電子回路であってもよい。
【０１６０】
クライアント１００ａは、ファイルＩ／Ｏ部１２０、記憶部１３０およびＷｅｂブラウザ１４０ａを有する。
ファイルＩ／Ｏ部１２０および記憶部１３０は、図４で同一の符号および名称を付して説明した第２の実施の形態の構成と同一である。
【０１６１】
Ｗｅｂブラウザ１４０ａは、ＨＴＭＬ処理部１４１、判定部１４２および制御部１４３を有する。
ＨＴＭＬ処理部１４１は、サーバ２００から取得したＨＴＭＬファイルに基づき、ディスプレイ１０８ａに業務メニューなどの画面を表示させる。ＨＴＭＬ処理部１４１は、該画面に対し、タッチパネル１０９ａやキーパッド１０９ｂを用いた所定の操作入力を受け付ける。すると、ＨＴＭＬ処理部１４１は、ファイルＩ／Ｏ部１２０に該操作入力に応じた所定の文字列を含む制御情報を登録する。すなわち、ＨＴＭＬ処理部１４１は、図４で説明した第２の実施の形態のＷｅｂブラウザ１４０の主な機能を担う。
【０１６２】
判定部１４２は、ファイルＩ／Ｏ部１２０を監視する。判定部１４２は、ＨＴＭＬ処理部１４１によりファイルＩ／Ｏ部１２０に制御情報が登録されたことを検出する。すると、判定部１４２は、記憶部１３０に記憶されたプログラム定義ファイルを参照して、プログラム定義ファイルで示される文字列が、制御情報に含まれているかを判定する。
【０１６３】
制御部１４３は、判定部１４２によりプログラム定義ファイルで示される文字列が制御情報に含まれていると判定されると、プログラム定義ファイルを参照して、該文字列に対応するプログラムを特定する。制御部１４３は、特定したプログラムを呼び出すことで、移動通信部１０４、近距離無線通信部１０５および撮像部１０７などのデバイスを制御する。
【０１６４】
また、制御部１４３は、デバイスからデータを取得する。例えば、撮像部１０７から撮像部１０７が撮像して得た画像データを取得する。また、例えば、バーコードリーダ１２が読み取ったバーコードの値を近距離無線通信部１０５から取得する。制御部１４３は、デバイスから受け取ったデータを示す情報を、ファイルＩ／Ｏ部１２０に格納する。ＨＴＭＬ処理部１４１により、デバイスから取得したデータに基づく処理を実行させるためである。例えば、ＨＴＭＬ処理部１４１は、デバイスから取得したデータをディスプレイ１０８ａに表示させることができる。また、ＨＴＭＬ処理部１４１は、選択されたデータをサーバ２００に送信することができる。
【０１６５】
ここで、第３の実施の形態のクライアント１００ａは、第１の実施の形態の情報処理装置１の一例である。また、判定部１４２は、判定手段１ｅの一例である。制御部１４３は、制御手段１ｆの一例である。
【０１６６】
このような構成のクライアント１００ａもクライアント１００と同様の処理を実行可能である。具体的には、第２の実施の形態の判定部１５１の処理を判定部１４２が行う。また、第２の実施の形態の制御部１５２の処理を制御部１４３が行う。
【０１６７】
このように、判定部１４２および制御部１４３の機能をＷｅｂブラウザ１４０ａに設けてもよい。この場合にも、第２の実施の形態と同様の効果を得ることができる。
以上、本発明のデバイス制御プログラム、情報処理装置およびデバイス制御方法を図示の実施の形態に基づいて説明したが、これらに限定されるものではなく、各部の構成は同様の機能を有する任意の構成のものに置換することができる。また、他の任意の構成物や工程が付加されてもよい。更に、前述した実施の形態のうちの任意の２以上の構成（特徴）を組み合わせたものであってもよい。
【符号の説明】
【０１６８】
１  情報処理装置
１ａ  表示装置
１ｂ  画面情報処理手段
１ｃ  第１の記憶手段
１ｄ  第２の記憶手段
１ｅ  判定手段
１ｆ  制御手段
１ｇ  デバイス
２  制御情報
２ａ，３ａ  文字列
３  定義情報
３ｂ  プログラム
【図１】
2013077151.tif 000003
【図２】
2013077151.tif 000004
【図３】
2013077151.tif 000005
【図４】
2013077151.tif 000006
【図５】
2013077151.tif 000007
【図６】
2013077151.tif 000008
【図７】
2013077151.tif 000009
【図８】
2013077151.tif 000010
【図９】
2013077151.tif 000011
【図１０】
2013077151.tif 000012
【図１１】
2013077151.tif 000013
【図１２】
2013077151.tif 000014
【図１３】
2013077151.tif 000015
【図１４】
2013077151.tif 000016
【図１５】
2013077151.tif 000017
【図１６】
2013077151.tif 000018
【図１７】
2013077151.tif 000019