(57)【特許請求の範囲】
【請求項１】
記憶手段と通信手段とセッション管理手段と命令管理手段とを備えた情報処理装置であって、
前記通信手段は、第１のデバイスを制御する第１のデバイス制御プログラムと第２のデバイスを制御する第２デバイス制御プログラムと通信し、
前記記憶手段は、
前記第１のデバイスの機能及び前記第２のデバイスの機能からなる複合機能を表す機能カテゴリＩＤと、前記第１のデバイス及び前記第２のデバイス各々についての当該デバイスのデバイス制御プログラムのプログラムＩＤ及び当該デバイスが提供する機能を表す接続先機能カテゴリＩＤと、を管理する接続先管理情報と、
前記複合機能の実行を要求する処理要求コマンドと、前記接続先機能カテゴリＩＤと、当該接続先機能カテゴリＩＤに対応するデバイスに送信すべきコマンドとを対応付けた命令変換情報と、
接続先のデバイス制御プログラムごとに確立されたセッション及び当該デバイス制御プログラムのプログラムＩＤを管理するセッション管理情報と、
を格納し、
前記セッション管理手段は、前記機能カテゴリＩＤを含むセッション確立リクエストを前記通信手段が受け付けた場合に、前記接続先管理情報によって当該セッション確立リクエスト内の前記機能カテゴリＩＤに対応付けられる前記第１のデバイス制御プログラム及び前記第２のデバイス制御プログラムにそれぞれセッション確立コマンドを送信して、確立されたセッションのセッションＩＤを前記セッション管理情報に格納し、
前記命令管理手段は、
セッション確立後に処理要求コマンドを受け付けた場合は、前記処理要求コマンドに含まれるセッションＩＤに対応する接続先のデバイス制御プログラムのプログラムＩＤを前記セッション管理情報から取得し、前記プログラムＩＤに対応する接続先機能カテゴリＩＤを前記接続先管理情報から取得し、前記処理要求コマンドと前記接続先機能カテゴリＩＤとに対応する送信コマンドを前記命令変換情報から取得して、前記プログラムＩＤが示す前記デバイス制御プログラムに前記取得した送信コマンドを前記通信手段を介して送信し、
セッションが確立されていない状態で処理要求コマンドを受け付けた場合は、前記処理要求コマンドに含まれる機能カテゴリＩＤに対応する接続先機能カテゴリＩＤと接続すべきデバイス制御プログラムのプログラムＩＤとを前記接続先管理情報から取得し、前記処理要求コマンドと前記接続先機能カテゴリＩＤに対応する送信コマンドを前記命令変換情報から取得して、前記プログラムＩＤが示す前記デバイス制御プログラムに前記取得した送信コマンドを前記通信手段を介して送信する
ことを特徴とする情報処理装置。
【請求項２】
請求項１に記載の情報処理装置であって、
前記セッションの確立後に、前記通信手段が、前記セッション確立リクエストの発行元からのセッション断リクエストをさらに受け付けた場合、前記命令管理手段は、前記第１のデバイス制御プログラム及び第２のデバイス制御プログラムにそれぞれセッション断コマンドを送信することを特徴とする情報処理装置。
【請求項３】
請求項１または２のうちのいずれか１項に記載の情報処理装置と、
前記第１のデバイスと
前記第２のデバイスと、
前記第１のデバイス制御プログラムを実行する端末と、
前記第２のデバイス制御プログラムを実行する端末と、
を有することを特徴とするデバイス制御システム。
【請求項４】
記憶手段と通信手段とセッション管理手段と命令管理手段とを備えた情報処理装置のデバイス制御方法であって、
前記通信手段は、第１のデバイスを制御する第１のデバイス制御プログラムと第２のデバイスを制御する第２デバイス制御プログラムと通信するステップを実行し、
前記記憶手段は、
前記第１のデバイスの機能及び前記第２のデバイスの機能からなる複合機能を表す機能カテゴリＩＤと、前記第１のデバイス及び前記第２のデバイス各々についての当該デバイスのデバイス制御プログラムのプログラムＩＤ及び当該デバイスが提供する機能を表す接続先機能カテゴリＩＤと、を管理する接続先管理情報と、
前記複合機能の実行を要求する処理要求コマンドと、前記接続先機能カテゴリＩＤと、当該接続先機能カテゴリＩＤに対応するデバイスに送信すべきコマンドとを対応付けた命令変換情報と、
接続先のデバイス制御プログラムごとに確立されたセッション及び当該デバイス制御プログラムのプログラムＩＤを管理するセッション管理情報と、
を格納するステップを実行し、
前記セッション管理手段は、前記機能カテゴリＩＤを含むセッション確立リクエストを前記通信手段が受け付けた場合に、前記接続先管理情報によって当該セッション確立リクエスト内の前記機能カテゴリＩＤに対応付けられる前記第１のデバイス制御プログラム及び前記第２のデバイス制御プログラムにそれぞれセッション確立コマンドを送信して、確立されたセッションのセッションＩＤを前記セッション管理情報に格納するステップを実行し、
前記命令管理手段は、
セッション確立後に処理要求コマンドを受け付けた場合は、前記処理要求コマンドに含まれるセッションＩＤに対応する接続先のデバイス制御プログラムのプログラムＩＤを前記セッション管理情報から取得し、前記プログラムＩＤに対応する接続先機能カテゴリＩＤを前記接続先管理情報から取得し、前記処理要求コマンドと前記接続先機能カテゴリＩＤとに対応する送信コマンドを前記命令変換情報から取得して、前記プログラムＩＤが示す前記デバイス制御プログラムに前記取得した送信コマンドを前記通信手段を介して送信するステップを実行し、
セッションが確立されていない状態で処理要求コマンドを受け付けた場合は、前記処理要求コマンドに含まれる機能カテゴリＩＤに対応する接続先機能カテゴリＩＤと接続すべきデバイス制御プログラムのプログラムＩＤとを前記接続先管理情報から取得し、前記処理要求コマンドと前記接続先機能カテゴリＩＤに対応する送信コマンドを前記命令変換情報から取得して、前記プログラムＩＤが示す前記デバイス制御プログラムに前記取得した送信コマンドを前記通信手段を介して送信するステップを実行する
ことを特徴とするデバイス制御方法。
【請求項５】
請求項４に記載のデバイス制御方法であって、
前記セッションの確立後に、前記通信手段が、前記セッション確立リクエストの発行元からのセッション断リクエストをさらに受け付けた場合、前記命令管理手段は、前記第１のデバイス制御プログラム及び第２のデバイス制御プログラムにそれぞれセッション断コマンドを送信するステップを実行することを特徴とするデバイス制御方法。
【請求項６】
第１のデバイスを制御する第１のデバイス制御プログラムと、第２のデバイスを制御する第２のデバイス制御プログラムとの管理処理を情報処理装置に実行させるプログラムであって、
前記情報処理装置を、
第１のデバイスを制御する第１のデバイス制御プログラムと第２のデバイスを制御する第２デバイス制御プログラムと通信させる通信手段と、
前記第１のデバイスの機能及び前記第２のデバイスの機能からなる複合機能を表す機能カテゴリＩＤと、前記第１のデバイス及び前記第２のデバイス各々についての当該デバイスのデバイス制御プログラムのプログラムＩＤ及び当該デバイスが提供する機能を表す接続先機能カテゴリＩＤと、を管理する接続先管理情報と、
前記複合機能の実行を要求する処理要求コマンドと、前記接続先機能カテゴリＩＤと、当該接続先機能カテゴリＩＤに対応するデバイスに送信すべきコマンドとを対応付けた命令変換情報と、
接続先のデバイス制御プログラムごとに確立されたセッション及び当該デバイス制御プログラムのプログラムＩＤを管理するセッション管理情報と、
を格納させる記憶手段と、
前記機能カテゴリＩＤを含むセッション確立リクエストを前記通信手段が受け付けた場合に、前記接続先管理情報によって当該セッション確立リクエスト内の前記機能カテゴリＩＤに対応付けられる前記第１のデバイス制御プログラム及び前記第２のデバイス制御プログラムにそれぞれセッション確立コマンドを送信して、確立されたセッションのセッションＩＤを前記セッション管理情報に格納させるセッション管理手段と、
セッション確立後に処理要求コマンドを受け付けた場合は、前記処理要求コマンドに含まれるセッションＩＤに対応する接続先のデバイス制御プログラムのプログラムＩＤを前記セッション管理情報から取得し、前記プログラムＩＤに対応する接続先機能カテゴリＩＤを前記接続先管理情報から取得し、前記処理要求コマンドと前記接続先機能カテゴリＩＤとに対応する送信コマンドを前記命令変換情報から取得して、前記プログラムＩＤが示す前記デバイス制御プログラムに前記取得した送信コマンドを前記通信手段を介して送信し、
セッションが確立されていない状態で処理要求コマンドを受け付けた場合は、前記処理要求コマンドに含まれる機能カテゴリＩＤに対応する接続先機能カテゴリＩＤと接続すべきデバイス制御プログラムのプログラムＩＤとを前記接続先管理情報から取得し、前記処理要求コマンドと前記接続先機能カテゴリＩＤに対応する送信コマンドを前記命令変換情報から取得して、前記プログラムＩＤが示す前記デバイス制御プログラムに前記取得した送信コマンドを前記通信手段を介して送信させる命令管理手段と、
して機能させるためのプログラム。
【請求項７】
請求項６に記載のプログラムであって、
前記セッションの確立後に、前記通信手段が、前記セッション確立リクエストの発行元からのセッション断リクエストをさらに受け付けた場合、前記命令管理手段に、前記第１のデバイス制御プログラム及び第２のデバイス制御プログラムにそれぞれセッション断コマンドを送信させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のデバイスを制御するデバイス制御システムに関する。
【背景技術】
【０００２】
金融営業店舗等に配置されているデバイスを制御するプログラム（以下、デバイス制御プログラム）は、デバイスマネージャによって管理されている。このようなデバイスマネージャに、デバイスの識別子を含む命令が業務アプリケーションから与えられると、デバイスマネージャは、その命令をデバイス制御プログラムに割り当てる。このため、業務アプリケーションは、デバイス制御プログラムを認識する必要がない。
【０００３】
【非特許文献１】Extensions for Financial Services(XFS)interface supecification、[online]、２００５年１月６日、ＣＥＮ、インターネット  ＜http://www.cenorm.be/cenorm/businessdomains/businessdomains/isss/cwa/cwa14050.asp＞
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ところが、業務アプリケーションプログラムは、デバイスの識別子をデバイスマネージャに渡す必要がある。このため、新規デバイスの追加、デバイスの切替え等のシステム構成の動的変更に迅速に対応することが困難である。
【０００５】
そこで、本発明は、システム構成の動的変更に迅速に対応可能なデバイス制御システムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明は、
第１のデバイスを制御する第１のデバイス制御プログラムと、第２のデバイスを制御する第２のデバイス制御プログラムとを管理する情報処理装置であって、
前記第１のデバイスにより実現される機能を表す第１の機能カテゴリＩＤには前記第１のデバイス制御プログラムを対応付け、前記第２のデバイスにより実現される機能を表す第２の機能カテゴリＩＤには前記第２のデバイス制御プログラムを対応付ける接続先管理情報が格納された記憶手段と、
前記第１及び第２のデバイス制御プログラムと通信する通信手段と、
前記第１の機能カテゴリＩＤを含むセッション確立リクエストを前記通信手段が受け付けた場合には、前記接続先管理情報によって当該セッション確立リクエスト内の前記第１の機能カテゴリＩＤに対応付けられる前記第１のデバイス制御プログラムにセッション確立コマンドを送信し、前記第２の機能カテゴリＩＤを含むセッション確立リクエストを前記通信手段が受け付けた場合には、前記接続先管理情報によって当該セッション確立リクエスト内の前記第２の機能カテゴリＩＤに対応付けられる前記第２のデバイス制御プログラムにセッション確立コマンドを送信する命令管理手段と、
を有することを特徴とする情報処理装置を提供する。
【発明の効果】
【０００７】
本発明によれば、システム構成の動的な変更に迅速に対応することができる。
【発明を実施するための最良の形態】
【０００８】
以下、添付図面を参照しながら、本発明に係る実施形態について説明する。
【０００９】
まず、図１により、本実施の形態に係るデバイス制御システムの全体構成について説明する。
【００１０】
本実施形態に係るデバイス制御システムは、いずれかのグループに属する複数のデバイス４０Ａ〜４０Ｍ、複数のデバイス４０Ａ〜４０Ｍのうちのいずれかを制御する複数の端末(デバイス制御端末)３０Ａ〜,３０Ｎ,３０Ｍ、対応するグループ内のデバイスを制御するデバイス制御端末を管理する端末(管理端末)、各デバイス４０Ａ〜４０Ｍを利用可能な少なくとも１台の端末（業務端末）１０、これらのデバイス４０Ａ〜４０Ｍ及び端末１０,２０Ａ,２０Ｂ,３０Ａ〜３０Ｍを相互に接続するネットワーク５０、を有している。以下、説明の便宜上、デバイス制御システムに２台の管理端末２０Ａ,２０Ｂが含まれ、一方の管理端末２０ＡがグループＧａを管理し、他方の管理端末２０ＢがグループＧｂを管理する場合を一例に挙げることとする。
【００１１】
各端末１０,２０Ａ,２０Ｂ,３０Ａ〜３０Ｍは、いずれも、外部からの要求に応じてプログラムを実行するコンピュータとしての通常のハードウエア構成を有している。具体的には、プログラム及びデータが格納された記憶装置、メモリ、記憶装置等からメモリにロードしたプログラムを実行する演算処理装置、ネットワーク５０を介した通信を制御する通信装置、外部装置(キーボード等の入力装置、ディスプレイ等の出力装置)が接続される入出力インタフェース、を有している。各端末１０,２０Ａ,２０Ｂ,３０Ａ〜３０Ｍは、このようなハードウエア構成上における所定プログラムの実行により、以下の機能構成をプロセスとして実現する。
【００１２】
業務端末１０の記憶装置には、所定の業務処理を実行するための業務アプリケーションプログラム１００がインストールされている。業務端末１０は、例えばユーザからの指示に応じて業務アプリケーションプログラム１００を実行することによって、外部装置(入力装置、出力装置)との間のデータ通信を制御する入出力部（図２の１２０）と、ネットワーク５０上の１以上のデバイスを入出力デバイスとして利用可能な業務処理部(図２の１１０)と、を実現する。
【００１３】
デバイス制御端末３０Ａ〜３０Ｍには、それぞれ、対応デバイス４０の制御処理を実行するデバイス制御プログラム３００がインストールされている。各デバイス制御端末３０Ａ〜３０Ｍは、デバイス制御プログラム３００を実行することにより、自己を管理する管理端末からのコマンドに応じて対応デバイスを制御するデバイス制御部（図２の３１０）を実現する。
【００１４】
管理端末２０Ａ,２０Ｂの記憶装置には、それぞれ、管理対象グループに属するデバイス制御プログラム３００及び他方の管理端末の協調エージェントプログラムとの連携処理を実現するための協調エージェントプログラム２００がインストールされている。管理端末２０Ａ,２０Ｂは、例えば電源投入時等に協調エージェントプログラム２００を起動することにより、図２に示す機能構成を実現する。具体的には、管理端末２０Ａ,２０Ｂは、ネットワーク５０を介して他の端末との間でデータ（リクエスト、コマンド等）を送受信する通信処理部２３０、命令管理部２１０、命令管理部２１０の参照データが格納されるデータ記憶部２２０を実現する。
【００１５】
ここで、命令管理部２１０には、管理対象グループ内のデバイス制御プログラム３００または他方の管理端末上の協調エージェントプログラム２００との接続状態を管理するセッション管理部２１３、業務端末１０からのコマンドを管理対象グループ内のデバイス制御プログラム２００及び他方の管理端末上の協調エージェントプログラム２００に振り分ける命令変換部２１１、複数のデバイス制御プログラム等を連携させる命令連携部２１２、業務端末１０からのコマンドの実行状態を管理する実行状態管理部２１４、が含まれる。
【００１６】
一方、データ記憶部２２０には、あらかじめデータが登録された２種類のデータテーブル(接続先管理テーブル２２１、命令変換テーブル２２２)と、後述の処理においてデータが更新される２種類のデータテーブル(セッション管理テーブル２２３、実行状態管理テーブル２２４)と、が格納されている。
【００１７】
接続先管理テーブル２２１には、図３に示すように、業務端末１０に提供可能な機能ごとに、その機能の識別情報（機能カテゴリＩＤ）２２１１、その機能の実現のために必要となる接続先機能の識別情報（接続先機能カテゴリＩＤ）２２１３、接続先機能カテゴリＩＤが表す機能を提供する１以上のプログラムに関する情報（プログラム情報）２２１２があらかじめ登録されている。各プログラム情報２２１２には、プログラムの識別情報（プログラムＩＤ）２２１２Ａと、プログラムの機能が属するカテゴリ（プリンタ制御、スキャナ制御、協調エージェント等）を表すプログラムカテゴリＩＤ２２１２Ｂと、が含まれている。
【００１８】
例えば、管理対象グループに属する１つのデバイスによって１つの機能が実現される場合には、その機能を表すカテゴリ情報２２１１と、その機能を実現するために必要な接続先機能を表す接続先機能カテゴリＩＤ２２１３と、接続先機能カテゴリＩＤ２２１３が表す機能を実現するデバイス制御プログラムのプログラム情報２２１２との対応情報が接続先管理テーブル２２１に登録される。また、管理対象グループに属する複数のデバイスの機能の連携によって１つの機能（以下、複合機能）が実現される場合には、その複合機能を表すカテゴリ情報２２１１と、その機能の実現のために連携する各接続先機能を表す接続先機能カテゴリＩＤ２２１３と、各接続先機能カテゴリＩＤ２２１３が表す機能を提供するデバイス制御プログラムのプログラム情報との対応情報が、接続先管理テーブル２２１に登録される。例えば、複合機としての機能が２つのデバイス(スキャナ及びプリンタ)の機能の連携によって実現される場合、図３に示すように、複合機の機能を表す機能カテゴリＩＤ「複合機」と、複合機能「複合機」の実現のために連携する２つの機能を表す接続先機能カテゴリＩＤ「スキャナ」「プリンタ」と、接続先機能カテゴリＩＤが表す各機能を提供する２つのデバイス制御プログラム（ＩＤ３１１，ＩＤ３１２）のプログラム情報２２１３Ａ,２２１３Ｂと、が登録される。
【００１９】
さらに、他方の管理端末の管理対象グループに属する１以上のデバイスによって１つの機能が実現される場合には、その機能を表す機能カテゴリＩＤと、デバイスの機能を表す接続先機能カテゴリＩＤと、他方の管理端末上の協調エージェントプログラムのプログラム情報との対応情報が、接続先管理テーブル２２１に登録される。例えば、他方の管理端末のグループに属するデバイスによって、スキャナとしての機能が実現される場合には、スキャナ機能を表す機能カテゴリＩＤ「スキャナ」と、デバイスの機能を表す接続先機能カテゴリＩＤ「スキャナ」と、他方の管理端末上の協調エージェントプログラムのプログラム情報とが登録される。
【００２０】
命令変換テーブル２２２には、図４に示すように、協調エージェントプログラム２００の受信コマンドごとに、受信コマンド名２２２１、受信コマンドに応じて送信されるコマンドに関する情報（送信コマンド情報）２２２２があらかじめ登録されている。各送信コマンド情報２２２２には、送信コマンド名２２２２Ｂと、コマンド送信先の機能を表す機能カテゴリＩＤ２２２２Ａ、とが含まれている。
【００２１】
例えば複数のデバイスによって１つの機能が実現される場合のような、１つの受信コマンドに応じて複数のコマンドが送信される場合には、その受信コマンド名と、各送信コマンドに関する送信コマンド情報とが命令変換テーブル２２２に登録される。例えば、受信コマンド「コピー」に応じて２つのコマンド「スキャン」「プリント」が送信される場合には、図４に示すように、受信コマンド名「コピー」と、２つの送信コマンドに関する送信コマンド情報（送信コマンド名「スキャン」及び機能カテゴリＩＤ「スキャナ」の組と、送信コマンド名「プリント」及び機能カテゴリＩＤ「プリンタ」の組）との対応情報がそれぞれ登録される。
【００２２】
セッション管理テーブル２２３には、図５に示すように、業務アプリケーションプログラムまたは他方の管理端末上の協調エージェントプログラムからの要求に応じて他のプログラム（対応グループに属するデバイス制御プログラム、または、他方の管理端末上の協調エージェント）との間に確立されたセッションに関する情報（セッション情報）が登録される。各セッション情報には、接続先プログラムの識別情報（接続先ＩＤ）２２３１と、要求発行元プログラムとの間のセッションの識別情報（発行セッションＩＤ）２２３２と、接続先プログラムとの間のセッションの識別情報(取得セッションＩＤ)２２３３と、が含まれている。
【００２３】
実行状態管理テーブル２２４には、図６に示すように、協調エージェントプログラム２００が受信コマンドに応じてコマンドを送信するごとにプロセス情報が登録される。各プロセス情報には、接続先プログラムのプログラムＩＤ（接続先ＩＤ）２２４１、受信コマンドの実行プロセスの識別情報(発行プロセスＩＤ)２２４２、送信コマンドの実行プロセスの識別情報(取得プロセスＩＤ)２２４３、送信コマンドの実行状態（ここでは、処理中または終了）を表す実行状態情報２２４４が含まれている。
【００２４】
なお、本実施の形態においては、接続先管理テーブル２２１及び命令変換テーブル２２２があらかじめデータ記憶部に格納されているが、設定ファイル等から静的にまたは外部プログラム(ディレクトリサーバ等)から動的にロードされてもよい。また、外部プログラム(接続先プログラム等)によって登録データが更新されてもよい。
【００２５】
つぎに、本実施の形態に係るデバイス制御システムにおいて、デバイスを利用するための処理について説明する。
【００２６】
（１）セッション確立処理
図７に、業務端末１０上の業務処理部１００からの要求に応じて管理端末（ここでは、管理端末２０Ａとする）が実行するセッション確立処理のフローチャートを示す。
【００２７】
例えば、１または複数のデバイスの機能により実現される処理（例えば、コピー、印刷、スキャン等）を要求するコマンドを業務端末１０上の入出力部１２０が受け付けると、または、受け付ける前に、その処理の実行のために、図７のフローチャートにしたがって以下の処理が実行される。
【００２８】
業務端末１０上の業務処理部１１０が、要求された処理を実現する機能に対応する機能カテゴリＩＤを含むセッション開始リクエストを所定の管理端末２０Ａに送信する（Ｓ７００）。管理端末２０Ａでは、通信処理部２３０が、そのセッション開始リクエストを受信すると(Ｓ７１０)、セッション管理部２１３が、以下の処理を実行する。
【００２９】
セッション管理部２１３は、業務端末１０との間に確立されるセッションに対する新たなセッションＩＤ（発行セッションＩＤ）を生成する(Ｓ７１１)。その後、セッション管理部２１３は、業務処理部１１０の要求機能を示す機能カテゴリＩＤをセッション開始リクエストから取り出し、この機能カテゴリＩＤに対応付けられた１対以上の接続先機能カテゴリＩＤ２２１３及びプログラムＩＤ２２１２Ａを接続先管理テーブル２２１から取り出す(Ｓ７１２)。例えば現金入出金機等、デバイスによっては、あるユーザが占有している場合には、他のユーザに利用させないようにする必要があるため、このとき、セッション管理テーブル２２３で管理されていないプログラムＩＤ（例えば所定のプログラムＩＤ）を選択する必要があることもある。または、そのような場合に選択すべきプログラムのプログラムＩＤがセッション管理テーブルに登録されていてもよい。
【００３０】
さらに、セッション管理部２１３は、Ｓ７１２で取り出したプログラムＩＤが示すプログラム、すなわち、業務処理部の要求機能を実現するために接続すべき１以上のプログラム（デバイス制御プログラムまたは他の管理端末２０Ｂ上の協調エージェントプログラム）に、通信処理部２３０を介して、セッション確立コマンドを送信する(Ｓ７１３)。このセッション確立コマンドには、Ｓ７１２で取り出された接続先機能カテゴリＩＤが含まれている。
【００３１】
ここで、セッション確立コマンドの送信先となったプログラムは、そのセッション確立コマンドを受け付けると（Ｓ７２０）、管理端末２０との間のセッションに対して新たなセッションＩＤを割り当て、そのセッションＩＤを、セッション確立コマンドに対する応答メッセージとして返信する(Ｓ７２１)。
【００３２】
通信処理部２３０が、セッション確立コマンドに対する応答メッセージを受け付けると(Ｓ７１４)、セッション管理部２１３が、その応答メッセージからセッションＩＤ(取得セッションＩＤ)を取り出し、これらのＩＤと、Ｓ７１１で生成した発行セッションＩＤとを含むセッション情報をセッション管理テーブル２２３に登録する(Ｓ７１５)。なお、接続先ＩＤが示すプログラムがセッションＩＤを生成せず、セッション確立コマンドに対する応答メッセージにセッションＩＤが含まれていない場合には、セッション管理部２１３は、発行セッションＩＤと接続先ＩＤとを含むセッション情報をセッション管理テーブル２２３に登録すればよい。
【００３３】
その後、セッション管理部２１３は、Ｓ７１２において接続先管理テーブル２２１から取り出したプログラムＩＤの数だけ応答メッセージを受け付けたか否か、すなわち、Ｓ７１３において送信したすべてのセッション確立コマンドに対する応答メッセージを受け付けた否かを判断する（Ｓ７１６）。
【００３４】
その結果、一部のセッション確立コマンドに対する応答メッセージを受け付けていなければ、セッション管理部２１３は、Ｓ７１３以降の処理を繰り返す。これにより、セッション管理テーブル２２３には、接続先管理テーブル２２１から取り出したプログラムＩＤと同数のセッション情報が登録される。
【００３５】
一方、すべてのセッション確立コマンドに対する応答メッセージを受け付けていれば、セッション管理部２１３は、セッション開始リクエストの発信元（業務端末１０上の業務処理部１１０）に発行セッションＩＤを返信する(Ｓ７１７)。業務端末１０上の業務処理部１１０が、この発行セッションＩＤを受信すると（Ｓ７０１）、業務端末１０上の業務処理部１１０と、業務処理部１１０の要求機能を実現するためのプログラムとの間に、管理端末２０Ａ上の協調エージェントを介したセッションが確立される。このため、以後、業務端末１０上の業務処理部１１０とそれの要求機能を実現するための１以上のプログラムとの間のデータ交換が可能となる。
【００３６】
なお、ここでは、業務端末１０からのセッション開始リクエストに応じて管理端末２０Ａ上の協調エージェントがセッション確立処理を実行する場合を例に挙げたが、管理端末２０Ａ上の協調エージェントからのセッション開始リクエストを管理端末２０Ｂ上の協調エージェントが受け付けた場合（業務端末１０が、管理端末２０Ａを介して、他の管理端末２０Ｂの管理グループＧｂ内のデバイスを使用する場合）にも、同様なセッション確立処理が実行される。
【００３７】
以上の処理によれば、協調エージェントプログラムが、業務アプリケーションプログラムからの要求処理の実現に必要なデバイス制御プログラムを、接続先管理テーブルに基づき選択するため、業務アプリケーションプログラムは、要求処理に対応する機能カテゴリＩＤを協調エージェントプログラムに送信するだけで、その協調エージェントプログラムを介して、必要なデバイス制御プログラムとの間にセッションを確立することができる。
【００３８】
このため、例えば、業務アプリケーションプログラムは、ユーザの要求処理が１つのデバイスの機能によって実現されるか複数のデバイスの機能の連携によって実現されるかに関わらず、所定の管理端末上の協調エージェントプログラムに機能カテゴリＩＤを１回送信するだけで、要求処理の実現に必要な１つ以上のデバイス制御プログラムとの間に、協調エージェントプログラムを介したセッションを確立することができる。
【００３９】
一方、デバイス制御プログラムも、他のデバイス制御プログラムと連携するか否かに関わらず、所定の協調エージェントプログラムとの間にセッションを確立するだけで、その協調エージェントプログラムを介して、業務アプリケーションプログラムとの間にセッションを確立することができる。
【００４０】
したがって、業務アプリケーションプログラムは、複数のデバイスを連携させる場合であっても、そのことを意識する必要がなく、また、デバイス制御プログラムも、他のデバイス制御プログラムとの連携の有無を意識する必要がない。
【００４１】
また、協調エージェントプログラムが、接続先管理テーブルの参照により、業務アプリケーションプログラムの要求処理に対応する接続先プログラムを決定するため、例えば、新規デバイス及び対応するデバイス制御プログラムの追加、いずれかのデバイス及び対応するデバイス制御プログラムの削除等が発生しても、接続先管理テーブルが更新されさえすれば、業務アプリケーションプログラムには変更を加える必要がない。
【００４２】
同様に、デバイスに障害が発生した場合等にも、管理端末上の接続先管理テーブルを更新するだけで、障害が発生したデバイスを他のデバイスに切り替えることができ、業務アプリケーションプログラムを終了させる必要ない。このように、業務アプリケーションプログラムとデバイスとの接続が疎となるため、新規デバイスの追加、デバイスの削除、デバイスの切り替え等の、システム構成の変更に迅速に対応することができる。
【００４３】
なお、本実施の形態においては、管理端末２０Ａの有するセッション情報のみに基づき接続先プログラムのプログラムＩＤが選択されるが、必ずしも、このようにする必要はない。例えば、受信コマンドに含まれる情報、ディレクトリサーバ等の外部プログラムの有する情報（例えば、負荷情報及び位置情報等の、接続先プログラムに関する情報)、オペレータに関する情報(権限情報、位置情報等)等に基づき、接続先プログラムのプログラムＩＤが選択されるようにしてもよい。
【００４４】
（２）セッション断処理
図８に、業務端末１０上の業務処理部１１０からの要求に応じて管理端末(ここでは管理端末２０Ａとする)で実行されるセッション断処理のフローチャートを示す。
【００４５】
図８に示すように、業務端末１０上の業務処理部１００が、管理端末２０Ａ上の協調エージェントとの間のセッションのセッションＩＤを含むセッション終了リクエストを管理端末２０Ａに送信すると(Ｓ８００)、管理端末２０Ａのセッション管理部２１３が、そのセッション終了リクエストを受信し(Ｓ８１０)、以下の処理を実行する。
【００４６】
セッション管理部２１３は、セッション終了リクエストからセッションＩＤを取り出し、このセッションＩＤに対応する１以上の接続先ＩＤ２２３１をセッション管理テーブル２２３から取り出す(Ｓ８１１)。このとき取り出される１以上の接続先ＩＤにより、セッションを断つべき１以上のプログラムが特定される。
【００４７】
さらに、セッション管理部２１３は、このとき取り出した接続先ＩＤが示すプログラム、すなわち、セッションを断つべき１以上のプログラムに、通信処理部２３０を介してセッション切断コマンドを送信する(Ｓ８１２)。ここで、セッション切断コマンドの送信先となったプログラムは、セッション切断コマンドを受け付けると、セッション切断コマンドに対する応答メッセージを返信する(Ｓ８２０)
セッション切断コマンドに対する応答メッセージを通信処理部２３０が受け付けると、セッション管理部２１３は、この応答メッセージの送信元の接続先ＩＤ２２３１を含むセッション情報をセッション管理テーブル２２３から削除する(Ｓ８１３)。
【００４８】
その後、セッション管理部２１３は、Ｓ８１１においてセッション管理テーブル２２３から取り出したすべての接続先ＩＤが示すプログラムにセッション切断コマンドを送信したか否か判断する(Ｓ８１４)。
【００４９】
その結果、いずれかの接続先ＩＤが示すプログラムにセッション切断コマンドが送信されていなければ、セッション管理部２１３は、Ｓ８１２以降の処理を繰り返す。これにより、Ｓ８１１において取り出された接続先ＩＤを含むすべてのセッション情報が、セッション管理テーブル２２３から削除される。
【００５０】
一方、すべての接続先ＩＤが示すプログラムにセッション切断コマンドが送信されていれば、セッション管理部２１３は、セッションが切断された旨の通知を、セッション終了リクエストの送信元（端末１０上の業務処理部１１０）へ返信する(Ｓ８１５)。業務端末１０上の業務処理部１１０が、このセッション終了リクエストを受信すると(Ｓ８０１)、管理端末２０Ａ上の協調エージェントプログラムを介して、業務端末１０上の業務処理部１１０と他の端末上のプログラム(デバイス制御プログラムまたは他の管理端末２０Ｂ上の協調エージェントプログラム)との間に確立されたセッションの切断が完了する。
【００５１】
なお、ここでは、業務端末１０からのセッション終了リクエストに応じて管理端末２０Ａ上の協調エージェントプログラムがセッション切断処理を実行する場合を例に挙げたが、管理端末２０Ａ上の協調エージェントプログラムからのセッション終了リクエストを管理端末２０Ｂ上の協調エージェントプログラムが受け付けた場合には、両協調エージェントプログラムの間で同様なセッション切断処理が実行される。
【００５２】
以上の処理によれば、業務アプリケーションプログラムは、管理端末２０Ａの協調エージェントプログラムとの間のセッションのセッションＩＤを送信するだけで、管理端末２０Ａ上の協調エージェントプログラムを介していずれのプログラムとの間に確立されたすべてのセッションを切断することができる。すなわち、業務アプリケーションプログラムは、管理端末２０Ａ上の協調エージェントプログラムを介していずれのプログラムとの間にセッションが確立されているかを意識せずに、そのセッションを切断することができる。
例えば、管理端末２０Ａ上の協調エージェントプログラムを介して複数のデバイス制御プログラムとの間にセッションがはられている場合であっても、業務端末１０上の業務処理部は、個々のデバイス制御プログラムを意識せずに、それらのデバイス制御プログラムとの間のセッションを切断することができる。
【００５３】
（３）命令変換処理
図９に、業務端末１０上の業務処理部１００からの要求に応じて管理端末（ここでは、管理端末２０Ａとする）が実行する命令変換処理のフローチャート、図１０に、送信コマンド及び送信先の決定処理のフローチャートを示す。
【００５４】
図９に示すように、業務端末１０上の業務処理部１００が、コマンドを所定の管理端末２０Ａに送信すると（Ｓ９００）、管理端末２０Ａでは、通信処理部２３０が、このコマンドを受信して(Ｓ９１０)、命令変換部２１１が、以下の処理を実行する。
【００５５】
命令変換部２１１は、受信したコマンドの実行プロセス（受信したコマンドに応じて実行される以下の処理）に対応付けるプロセスＩＤ(発行プロセスＩＤ)を生成する(Ｓ９１１)。その後、命令変換部２１１は、図１０に示した一連の処理によって、送信コマンド及びその送信先となる１以上のプログラムを決定する(Ｓ９１２)。具体的には、以下の通りである。
【００５６】
業務端末１０上の業務処理部１１０が発行するコマンドには、セッションＩＤを含むコマンド(セッション確立後に送信されるコマンド)と、機能カテゴリＩＤを含むコマンド(セッションが確立されずに送信されるコマンド)とがある。そこで、命令変換部２１１は、Ｓ９１０で受信したコマンドにセッションＩＤが含まれているか否かを判断し(Ｓ９１２１)、その判断結果に応じた処理によって送信コマンド及びそれの送信先を決定する。
【００５７】
受信コマンドにセッションＩＤが含まれていれば、命令変換部２１１は、そのセッションＩＤと同じ発行セッションＩＤに対応付けられた１以上の接続先ＩＤ２２３１をセッション管理テーブル２２３から取り出す(Ｓ９１２２)。このとき取り出された１以上の接続先ＩＤによって、コマンド送信先となる１以上のプログラムが特定される。
【００５８】
さらに、命令変換部２１１は、このとき取り出した接続先ＩＤごとに送信コマンドを決定する。具体的には、接続先ＩＤと同じプログラムＩＤに対応付けられた接続先機能カテゴリＩＤ２２１３を接続先管理テーブル２２１から取り出し、この接続先機能カテゴリＩＤと受信コマンドとに対応付けられた送信コマンド２２２２Ｂを命令変換テーブル２２２から取り出す（Ｓ９１２３）。このような処理を接続先ＩＤごとに行なうことにより、接続先ＩＤごとに送信コマンドが定まる。
【００５９】
一方、受信コマンドにセッションＩＤが含まれていなければ、命令変換部２１１は、受信コマンドに含まれる機能カテゴリＩＤに対応付けられた１対以上の接続先カテゴリＩＤ２２１３及びプログラムＩＤ２２１２Ａを接続先管理テーブル２２１から取り出す。このとき取り出された１以上のプログラムＩＤにより、コマンド送信先のプログラムが特定される。
【００６０】
さらに、命令変換部２１１は、このとき取り出したプログラムＩＤごとに送信コマンドを決定する。具体的には、プログラムＩＤとともに取り出した接続先機能カテゴリＩＤと受信コマンドとに対応付けられた送信コマンド２２２２Ｂを命令変換テーブル２２２から取り出す(Ｓ９１２４)。このような処理をプログラムＩＤごとに行なうことにより、プログラムＩＤごとに送信コマンドが定まる。
【００６１】
このようにして、送信コマンド及びその送信先プログラムが決定されると、図９に示すように、命令連携部２１２は、通信処理部２３０を介して、決定された送信先プログラムへ、決定された送信コマンドを、取得セッションＩＤとともに送信する(Ｓ９１３)。送信先とされたプログラムは、そのコマンドを受け付けると(Ｓ９２０)、そのコマンドの実行プロセスのプロセスＩＤを返信するとともに、そのコマンドの実行を開始する(Ｓ９２１)。
【００６２】
送信コマンドの送信先プログラムからのプロセスＩＤ（取得プロセスＩＤ）を通信処理部２３０が受け付けると(Ｓ９１４)、実行状態管理部２１４が、その取得プロセスＩＤ２２４３と、Ｓ９１２２で取り出された接続先ＩＤ２２４１と、Ｓ９１１で生成された発行プロセスＩＤ２２４２とを、コマンド処理中を示す実行状態情報「処理中」２２４４に対応付けて実行状態管理テーブル２２４に登録する(Ｓ９１５)。
【００６３】
その後、命令変換部２１１は、Ｓ９１２２においてセッション管理テーブル２２３から取り出したすべての接続先ＩＤが示すプログラムに送信コマンドを送信したか否か判断する（Ｓ９１６）。
【００６４】
その結果、すべての接続先ＩＤが示すプログラムへのコマンド送信が終了していれば、Ｓ９００でコマンドを発信したプログラム（セッション中のプログラム）に発行プロセスＩＤを返信する(Ｓ９１７)。その後、コマンド発信元プログラムは、この発行プロセスＩＤを受信する（Ｓ９０１）。
【００６５】
一方、いずれかの接続先ＩＤが示すプログラムに送信コマンドを送信していなければ、その接続先ＩＤが示すプログラムに送信コマンドを送信すべく、Ｓ９１３以降の処理を繰り返す。このような処理の繰り返しにより、セッション管理テーブル２２３から取り出されたすべての接続先ＩＤが示すプログラムへのコマンド送信が行なわれる。なお、ここでは、複数の接続先プログラムにそれぞれコマンドを送信する場合、先に送信されたコマンドの実行完了を待たずに、つぎのコマンドを送信しているが、先に送信されたコマンドの実行完了を待ってからつぎのコマンドを送信してもよい。
【００６６】
以上の処理によれば、業務アプリケーションプログラムは、ユーザが要求する処理が１つのデバイスの機能によって実現されるか複数のデバイスの機能の連携によって実現されるかに関わらず(すなわち、要求された処理の実現に関与するデバイス制御プログラムを意識せずに)、その処理に割り当てられた１つのコマンドを所定の管理端末２０Ａ上の協調エージェントプログラムに送信するだけで、その処理を実行させることができる。
【００６７】
なお、本実施の形態においては、管理端末２０Ａの有するセッション情報のみに基づき接続先プログラムのＩＤが選択されるが、上述のセッション確立処理と同様、受信リクエストに含まれる情報、外部プログラムの有する情報、オペレータに関する情報等に基づき、接続先プログラムのＩＤが選択されるようにしてもよい。
【００６８】
ここでは、業務端末１０からのコマンドに応じて管理端末２０Ａ上の協調エージェントが命令変換処理を実行する場合を例に挙げたが、管理端末２０Ａ上の協調エージェントプログラムからのコマンドを管理端末２０Ｂ上の協調エージェントプログラムが受け付けた場合（業務端末１０が、管理端末２０Ａを介して、他の管理端末２０Ｂの管理グループＧｂ内のデバイスを使用する場合）にも、同様な命令変換処理が実行される。
【００６９】
（４）命令終了処理
図１１に、接続先プログラムからの終了コマンドに応じて管理端末が実行する命令終了処理のフローチャートを示す。
【００７０】
接続先プログラムは、Ｓ９２０で受信したコマンドの実行プロセスが終了すると、このプロセスのプロセスＩＤを含む終了コマンドをコマンド発行元（管理端末）に送信する（Ｓ１１２０）。
【００７１】
管理端末では、通信処理部２３０が、この終了コマンドを受信すると(Ｓ１１１０)、実行状態管理部２１４が、以下の処理を実行する。
【００７２】
実行状態管理部２１４は、終了コマンド内のプロセスＩＤと同じ取得プロセスＩＤに対応付けられた実行状態情報２２４４を実行状態管理テーブル２２４で検索し、その実行状態情報２２２４の内容を、コマンド終了を示す情報「終了」で更新する(Ｓ１１１１)。これにより、終了したプロセスの実行状態情報２２２４の内容が「終了」に変更される。
【００７３】
その後、実行状態管理部２１４は、終了コマンド内のプロセスＩＤと同じ取得プロセスＩＤに対応付けられた発行プロセスＩＤを実行状態管理テーブル２２４から取り出す。さらに、実行状態管理部２１４は、このとき取り出した発行プロセスＩＤに一致する他の発行プロセスＩＤに対応付けられ、かつ、「処理中」を示す実行状態情報を、実行状態管理テーブル２２４で検索する（Ｓ１１１２）。
【００７４】
その結果、該当する実行状態情報が実行状態管理テーブル２２４に存在していなければ(すなわち、Ｓ１１２０で終了したプロセスが実行したコマンドとともに発行されたすべてのコマンドが終了していれば)、実行状態管理部２１４は、Ｓ９１７で終了ＩＤの送信先となったプログラム（コマンド発行元プログラム）に、通知ＩＤを含む終了通知を送信する（Ｓ１１１３）。プログラムは、この終了通知を受信すると（Ｓ１１００）、自身が発行したコマンドの実行完了後に予定された処理を実行する。
【００７５】
一方、該当する実行状態情報が実行状態管理テーブル２２４に存在していれば(すなわち、Ｓ１１２０で終了したプロセスが実行したコマンドとともに発行された他のコマンドが終了していなければ)、実行状態管理部２１４は、つぎの終了コマンドを待機する、または、処理を終了させる（Ｓ１１１０）。
【００７６】
以上の処理（１）〜（４）によれば、１つのデバイスの機能のみによって実現される処理の実行を要求する場合、及び、複数のデバイスの機能の組合せによって実現される処理の実行を要求する場合のいずれにおいても、業務アプリケーションプログラムは、管理端末２０上の協調エージェントプログラムにコマンドを送信するだけで、その処理を実行させることができる。
【００７７】
このため、例えば、１つのデバイスが他の用途でも使用される場合(例えば、スキャナを複合機としても使用する場合等)、または、１つのデバイスの機能が複数のデバイスの機能の組合せでも実現される場合(例えば、複写機のコピー機能が、スキャナとプリンタとの組み合わせにも実現される場合等)であっても、業務アプリケーションプログラムには変更を加える必要がない。一方、デバイス制御プログラムは、他のデバイス制御プログラムと連携するか否かに関わらず、管理端末２０上の協調エージェントプログラムからのコマンドに応じて処理を実行するだけであるため、デバイス制御プログラムにも変更を加える必要がない。
【００７８】
以上においては、すべての接続先プログラムから終了コマンドが発せられたタイミングで、協調エージェントプログラムが終了通知をコマンド発信元プログラムに送信するようにしているが、必ずしも、このようにする必要はない。協調エージェントプログラムが、そのようなタイミングで終了通知を送信しない場合には、協調エージェントプログラムが、例えば、コマンド発信元プログラムからの問い合わせに応じてコマンド終了を通知するようにすれば、コマンド発信元プログラムは、コマンドの実行状態を確認することができる。以下、図１２により、このようにする場合について説明する。
【００７９】
業務端末上の業務処理部が、Ｓ９０１で受け付けたプロセスＩＤを含む終了待ちリクエストを、管理端末２０Ａの協調エージェントプログラムに送信すると（Ｓ１２００）、管理端末２０Ａでは、以下の処理が実行される。
【００８０】
業務端末からの終了待ちコマンドを通信処理部２３０が受信すると(Ｓ１２１０)、実行状態管理部２１４は、その終了待ちコマンド内のプロセスＩＤと同じ発行プロセスＩＤに対応付けられたすべての実行状態情報２２４４を実行状態管理テーブル２２４で検索する。実行状態管理部２１４は、その結果得られたすべての実行状態情報２２４４が「終了」を示しているどうかチェックする(Ｓ１２１１)。
【００８１】
その結果、いずれかの実行状態情報が「終了」を示していなければ、実行状態管理部２１４は、その実行状態情報が「終了」を示すまで待機する(Ｓ１２１２)。このとき、実行状態管理部２１４が、その実施状態情報に対応付けられた接続先ＩＤが示す接続先プログラムに終了待ち通知を送信するようにしてもよい。この場合には、終了待ち通知を受信した接続先プログラムが待ち状態となる。
【００８２】
一方、該当するすべての実行状態情報が「終了」を示していれば、実行状態管理部２１４は、終了待ちリクエストの送信元に終了待ち完了通知を返す(Ｓ１２１３)。業務端末上の業務処理部は、この終了待ち完了通知の受信（Ｓ１２０１）により、自身が要求した処理の完了を確認することができる。
【００８３】
なお、以上においては、業務アプリケーションプログラム１００、協調エージェントプログラム２００及びデバイス制御プログラム３００が個別の端末上で実行されるが、それらのうちの２つ以上が一台の端末上で実行されるようにしてもよい。
【００８４】
ところで、以上においては、接続先管理テーブルから取り出されたすべてのプログラムＩＤを接続先ＩＤとしているが、それらのなかから適当なプログラムＩＤが送信先ＩＤとして選択されるようにしてもよい。以下、図１３及び図９により、本実施の形態に係るデバイス制御システムを金融営業店舗システムに適用した場合を具体例として挙げて、そのようにした場合について説明する。なお、ここでは、業務アプリケーションプログラム１００及び協調エージェントプログラム２００が一台の端末（業務端末）上で実行される場合を例に挙げる。
【００８５】
図１３に示すように、本実施の形態に係るデバイス制御システムには、複数のデバイス４０、いずれかのデバイスを制御するデバイス制御端末３０、前述の業務アプリケーションプログラム１１０がインストールされた業務端末１０Ａ、これらを接続するネットワークを有している。ここでは、業務端末１０Ａの記憶装置に、前述の協調エージェントプログラム２００及び前述のテーブル２２１〜２２４と同様なデータ構造のデーブルが格納されている。すなわち、業務端末１０Ａは、前述の業務処理部１００を実現する他、さらに図２の機能構成部を実現する。
【００８６】
ここでは、デバイス４０として、大型ディスプレイ、携帯電話、オペレータ端末が含まれており、それぞれのデバイスを制御するデバイス制御端末３０には、対応するデバイス制御プログラム（大型ディスプレイの画面制御プログラム、携帯電話の画面制御プログラム、または、オペレータ端末の画面制御プログラム）がインストールされている。なお、例えば携帯電話の画面制御プログラムがインストールされたデバイスには、予め、その携帯電話に割り当てられた電話番号またはメールアドレスが登録されていることとする。
【００８７】
図９において、業務処理部１１０が、例えば、機能カテゴリＩＤ「情報通知装置」及びメッセージ「順番待ち終了」を含むメッセージ通知コマンドを協調エージェントプログラム２００に送信すると（Ｓ９００）、協調エージェント２００は、接続先プログラム及び送信コマンドを決定する(Ｓ９１２)。
【００８８】
具体的には、命令変換部２１１は、メッセージ通知コマンドにセッションＩＤが含まれているか否かをチェックし（図１０のＳ９１２１）、その結果に応じた処理によって、接続先ＩＤ及び送信コマンドを決定する。ここでは、メッセージ通知コマンドにはセッションＩＤが含まれないため、命令変換部２１１は、メッセージ通知コマンド内の機能カテゴリＩＤ「情報通知装置」に対応付けられた１以上のプログラムＩＤ２２１２Ａを接続先管理テーブル２２１から取り出す。
【００８９】
ここで、複数のプログラムＩＤ２２１２Ａが取り出された場合には、命令変換部２１１は、それらのなかから１のプログラムＩＤを接続先として選択する。例えば、メッセージ宛先（顧客の識別情報）がメッセージ通知コマンドに含まれている場合には、機能カテゴリＩＤ「情報通知装置」に対応付けられた複数のプログラムＩＤのうち、そのメッセージ宛先が示す顧客の現在位置に最も近いデバイスのデバイス制御プログラムのプログラムＩＤを送信先ＩＤとして選択する。ただし、この場合には、各デバイスの位置を例えば接続先管理テーブルで管理するとともに、顧客に無線機を携帯させ、管理端末の通信処理部２３０と通信可能な受信機を店舗内に設置する等、店舗内における顧客の現在位置を検知可能にしておく必要がある。
【００９０】
また、メッセージの重要度またはメッセージ宛先（顧客）の重要度を表すステータス情報がメッセージ通知コマンドに含まれている場合には、命令変換部２１１が、接続先管理テーブル２２１から取り出されたプログラムＩＤのなかから、そのステータス情報が表す重要度に応じて送信先ＩＤを選択するようにしてもよい。例えば、重要度が高い場合には、オペレータ端末の画面に表示されたメッセージ「順番待ち終了」をオペレータが顧客に伝えるように、オペレータ端末画面制御プログラムのプログラムＩＤが送信先ＩＤとして選択され、その他の場合には、メッセージ「順番待ち終了」が顧客の携帯電話の画面に表示されるように、携帯電話画面制御プログラムのプログラムＩＤが送信先として選択されるようにしてもよい。
【００９１】
さらに、命令変換部２１１は、メッセージ通知コマンドとそれに含まれる機能カテゴリＩＤ「情報通知装置」とに対応付けられた送信コマンド２２２２Ｂを命令変換テーブル２２２から取り出す(図１０のＳ９１２４)。これにより、送信コマンドが決定する。
【００９２】
このようにすることにより、店舗内における顧客の位置、メッセージの重要性等に応じて接続先を変更することができる。また、協調エージェントが管理グループ内のデバイスまたはデバイス制御端末の状況（負荷、障害等）を定期的にチェックし、そのチェック結果に基づいて、接続先管理テーブルから取り出されたプログラムＩＤのなかから接続先を選択してもよい。これにより、例えば、特定のデバイス及び特定のデバイス制御端末への負荷集中、障害が発生したデバイス及びデバイス制御端末への処理依頼等を防止することができる。
【図面の簡単な説明】
【００９３】
【図１】本発明の一実施形態に係るデバイス制御システムの全体構成を説明する図である。
【図２】本発明の一実施形態に係る管理端末の機能構成を説明するための図である。
【図３】本発明の一実施形態に係る接続先管理テーブルのデータ構造を説明する図である。
【図４】本発明の一実施形態に係る命令変換テーブルのデータ構造を説明する図である。
【図５】本発明の一実施形態に係るセッション管理テーブルのデータ構造を説明する図である。
【図６】本発明の一実施形態に係る実行状態管理テーブルのデータ構造を説明する図である。
【図７】本発明の一実施形態に係るセッション確立処理のフローチャートである。
【図８】本発明の一実施形態に係るセッション切断処理のフローチャートである。
【図９】本発明の一実施形態に係る命令変換処理のフローチャートである。
【図１０】図１０のＳ９１２において実行される処理の詳細なフローチャートである。
【図１１】本発明の一実施形態に係る命令終了処理のフローチャートである。
【図１２】本発明の一実施形態に係る終了待ち処理のフローチャートである。
【図１３】本発明の他の実施形態に係るデバイス制御システムの全体構成を説明する図である。
【符号の説明】
【００９４】
１０：業務端末、２０：管理端末、３０：デバイス制御端末、４０：デバイス、１００：業務アプリケーションプログラム、２００：協調エージェントプログラム、２１０：命令管理部、２１１：命令変換部、２１２：命令連携部、２１３：セッション管理部、２１４：実行状態管理部、２２０：データ記憶部、３００：デバイス制御プログラム
【図１】
0004768369.tif 000002
【図２】
0004768369.tif 000003
【図３】
0004768369.tif 000004
【図４】
0004768369.tif 000005
【図５】
0004768369.tif 000006
【図６】
0004768369.tif 000007
【図７】
0004768369.tif 000008
【図８】
0004768369.tif 000009
【図９】
0004768369.tif 000010
【図１０】
0004768369.tif 000011
【図１１】
0004768369.tif 000012
【図１２】
0004768369.tif 000013
【図１３】
0004768369.tif 000014