デバイス制御システム
【課題】新規デバイスの追加に迅速に対応可能とする。
【解決手段】デバイス制御システムは、複数のデバイス40A〜40M、いずれかのデバイスを制御するデバイス制御プログラムがインストールされたデバイス制御端末30A〜30M、デバイス制御端末30A〜30Mを管理する管理端末20A、デバイス40A〜40Mを利用する業務端末10、を有している。管理端末20Aのデータ記憶部には、業務端末10に提供可能な機能の識別情報と、その機能の実現に寄与するデバイス制御プログラムの識別情報とを対応付けた接続先管理テーブルが格納されている。管理端末20Aは、セッション確立リクエストを受け付けると、セッション確立リクエストに含まれる機能カテゴリIDに対応付けられた識別情報を接続先管理テーブルから読み出し、その識別情報が示すデバイス制御プログラムにセッション確立コマンドを送信する。
【解決手段】デバイス制御システムは、複数のデバイス40A〜40M、いずれかのデバイスを制御するデバイス制御プログラムがインストールされたデバイス制御端末30A〜30M、デバイス制御端末30A〜30Mを管理する管理端末20A、デバイス40A〜40Mを利用する業務端末10、を有している。管理端末20Aのデータ記憶部には、業務端末10に提供可能な機能の識別情報と、その機能の実現に寄与するデバイス制御プログラムの識別情報とを対応付けた接続先管理テーブルが格納されている。管理端末20Aは、セッション確立リクエストを受け付けると、セッション確立リクエストに含まれる機能カテゴリIDに対応付けられた識別情報を接続先管理テーブルから読み出し、その識別情報が示すデバイス制御プログラムにセッション確立コマンドを送信する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、複数のデバイスを制御するデバイス制御システムに関する。
【背景技術】
【0002】
金融営業店舗等に配置されているデバイスを制御するプログラム(以下、デバイス制御プログラム)は、デバイスマネージャによって管理されている。このようなデバイスマネージャに、デバイスの識別子を含む命令が業務アプリケーションから与えられると、デバイスマネージャは、その命令をデバイス制御プログラムに割り当てる。このため、業務アプリケーションは、デバイス制御プログラムを認識する必要がない。
【0003】
【非特許文献1】Extensions for Financial Services(XFS)interface supecification、[online]、2005年1月6日、CEN、インターネット <http://www.cenorm.be/cenorm/businessdomains/businessdomains/isss/cwa/cwa14050.asp>
【発明の開示】
【発明が解決しようとする課題】
【0004】
ところが、業務アプリケーションプログラムは、デバイスの識別子をデバイスマネージャに渡す必要がある。このため、新規デバイスの追加、デバイスの切替え等のシステム構成の動的変更に迅速に対応することが困難である。
【0005】
そこで、本発明は、システム構成の動的変更に迅速に対応可能なデバイス制御システムを提供することを目的とする。
【課題を解決するための手段】
【0006】
本発明は、
第1のデバイスを制御する第1のデバイス制御プログラムと、第2のデバイスを制御する第2のデバイス制御プログラムとを管理する情報処理装置であって、
前記第1のデバイスにより実現される機能を表す第1の機能カテゴリIDには前記第1のデバイス制御プログラムを対応付け、前記第2のデバイスにより実現される機能を表す第2の機能カテゴリIDには前記第2のデバイス制御プログラムを対応付ける接続先管理情報が格納された記憶手段と、
前記第1及び第2のデバイス制御プログラムと通信する通信手段と、
前記第1の機能カテゴリIDを含むセッション確立リクエストを前記通信手段が受け付けた場合には、前記接続先管理情報によって当該セッション確立リクエスト内の前記第1の機能カテゴリIDに対応付けられる前記第1のデバイス制御プログラムにセッション確立コマンドを送信し、前記第2の機能カテゴリIDを含むセッション確立リクエストを前記通信手段が受け付けた場合には、前記接続先管理情報によって当該セッション確立リクエスト内の前記第2の機能カテゴリIDに対応付けられる前記第2のデバイス制御プログラムにセッション確立コマンドを送信する命令管理手段と、
を有することを特徴とする情報処理装置を提供する。
【発明の効果】
【0007】
本発明によれば、システム構成の動的な変更に迅速に対応することができる。
【発明を実施するための最良の形態】
【0008】
以下、添付図面を参照しながら、本発明に係る実施形態について説明する。
【0009】
まず、図1により、本実施の形態に係るデバイス制御システムの全体構成について説明する。
【0010】
本実施形態に係るデバイス制御システムは、いずれかのグループに属する複数のデバイス40A〜40M、複数のデバイス40A〜40Mのうちのいずれかを制御する複数の端末(デバイス制御端末)30A〜,30N,30M、対応するグループ内のデバイスを制御するデバイス制御端末を管理する端末(管理端末)、各デバイス40A〜40Mを利用可能な少なくとも1台の端末(業務端末)10、これらのデバイス40A〜40M及び端末10,20A,20B,30A〜30Mを相互に接続するネットワーク50、を有している。以下、説明の便宜上、デバイス制御システムに2台の管理端末20A,20Bが含まれ、一方の管理端末20AがグループGaを管理し、他方の管理端末20BがグループGbを管理する場合を一例に挙げることとする。
【0011】
各端末10,20A,20B,30A〜30Mは、いずれも、外部からの要求に応じてプログラムを実行するコンピュータとしての通常のハードウエア構成を有している。具体的には、プログラム及びデータが格納された記憶装置、メモリ、記憶装置等からメモリにロードしたプログラムを実行する演算処理装置、ネットワーク50を介した通信を制御する通信装置、外部装置(キーボード等の入力装置、ディスプレイ等の出力装置)が接続される入出力インタフェース、を有している。各端末10,20A,20B,30A〜30Mは、このようなハードウエア構成上における所定プログラムの実行により、以下の機能構成をプロセスとして実現する。
【0012】
業務端末10の記憶装置には、所定の業務処理を実行するための業務アプリケーションプログラム100がインストールされている。業務端末10は、例えばユーザからの指示に応じて業務アプリケーションプログラム100を実行することによって、外部装置(入力装置、出力装置)との間のデータ通信を制御する入出力部(図2の120)と、ネットワーク50上の1以上のデバイスを入出力デバイスとして利用可能な業務処理部(図2の110)と、を実現する。
【0013】
デバイス制御端末30A〜30Mには、それぞれ、対応デバイス40の制御処理を実行するデバイス制御プログラム300がインストールされている。各デバイス制御端末30A〜30Mは、デバイス制御プログラム300を実行することにより、自己を管理する管理端末からのコマンドに応じて対応デバイスを制御するデバイス制御部(図2の310)を実現する。
【0014】
管理端末20A,20Bの記憶装置には、それぞれ、管理対象グループに属するデバイス制御プログラム300及び他方の管理端末の協調エージェントプログラムとの連携処理を実現するための協調エージェントプログラム200がインストールされている。管理端末20A,20Bは、例えば電源投入時等に協調エージェントプログラム200を起動することにより、図2に示す機能構成を実現する。具体的には、管理端末20A,20Bは、ネットワーク50を介して他の端末との間でデータ(リクエスト、コマンド等)を送受信する通信処理部230、命令管理部210、命令管理部210の参照データが格納されるデータ記憶部220を実現する。
【0015】
ここで、命令管理部210には、管理対象グループ内のデバイス制御プログラム300または他方の管理端末上の協調エージェントプログラム200との接続状態を管理するセッション管理部213、業務端末10からのコマンドを管理対象グループ内のデバイス制御プログラム200及び他方の管理端末上の協調エージェントプログラム200に振り分ける命令変換部211、複数のデバイス制御プログラム等を連携させる命令連携部212、業務端末10からのコマンドの実行状態を管理する実行状態管理部214、が含まれる。
【0016】
一方、データ記憶部220には、あらかじめデータが登録された2種類のデータテーブル(接続先管理テーブル221、命令変換テーブル222)と、後述の処理においてデータが更新される2種類のデータテーブル(セッション管理テーブル223、実行状態管理テーブル224)と、が格納されている。
【0017】
接続先管理テーブル221には、図3に示すように、業務端末10に提供可能な機能ごとに、その機能の識別情報(機能カテゴリID)2211、その機能の実現のために必要となる接続先機能の識別情報(接続先機能カテゴリID)2213、接続先機能カテゴリIDが表す機能を提供する1以上のプログラムに関する情報(プログラム情報)2212があらかじめ登録されている。各プログラム情報2212には、プログラムの識別情報(プログラムID)2212Aと、プログラムの機能が属するカテゴリ(プリンタ制御、スキャナ制御、協調エージェント等)を表すプログラムカテゴリID2212Bと、が含まれている。
【0018】
例えば、管理対象グループに属する1つのデバイスによって1つの機能が実現される場合には、その機能を表すカテゴリ情報2211と、その機能を実現するために必要な接続先機能を表す接続先機能カテゴリID2213と、接続先機能カテゴリID2213が表す機能を実現するデバイス制御プログラムのプログラム情報2212との対応情報が接続先管理テーブル221に登録される。また、管理対象グループに属する複数のデバイスの機能の連携によって1つの機能(以下、複合機能)が実現される場合には、その複合機能を表すカテゴリ情報2211と、その機能の実現のために連携する各接続先機能を表す接続先機能カテゴリID2213と、各接続先機能カテゴリID2213が表す機能を提供するデバイス制御プログラムのプログラム情報との対応情報が、接続先管理テーブル221に登録される。例えば、複合機としての機能が2つのデバイス(スキャナ及びプリンタ)の機能の連携によって実現される場合、図3に示すように、複合機の機能を表す機能カテゴリID「複合機」と、複合機能「複合機」の実現のために連携する2つの機能を表す接続先機能カテゴリID「スキャナ」「プリンタ」と、接続先機能カテゴリIDが表す各機能を提供する2つのデバイス制御プログラム(ID311,ID312)のプログラム情報2213A,2213Bと、が登録される。
【0019】
さらに、他方の管理端末の管理対象グループに属する1以上のデバイスによって1つの機能が実現される場合には、その機能を表す機能カテゴリIDと、デバイスの機能を表す接続先機能カテゴリIDと、他方の管理端末上の協調エージェントプログラムのプログラム情報との対応情報が、接続先管理テーブル221に登録される。例えば、他方の管理端末のグループに属するデバイスによって、スキャナとしての機能が実現される場合には、スキャナ機能を表す機能カテゴリID「スキャナ」と、デバイスの機能を表す接続先機能カテゴリID「スキャナ」と、他方の管理端末上の協調エージェントプログラムのプログラム情報とが登録される。
【0020】
命令変換テーブル222には、図4に示すように、協調エージェントプログラム200の受信コマンドごとに、受信コマンド名2221、受信コマンドに応じて送信されるコマンドに関する情報(送信コマンド情報)2222があらかじめ登録されている。各送信コマンド情報2222には、送信コマンド名2222Bと、コマンド送信先の機能を表す機能カテゴリID2222A、とが含まれている。
【0021】
例えば複数のデバイスによって1つの機能が実現される場合のような、1つの受信コマンドに応じて複数のコマンドが送信される場合には、その受信コマンド名と、各送信コマンドに関する送信コマンド情報とが命令変換テーブル222に登録される。例えば、受信コマンド「コピー」に応じて2つのコマンド「スキャン」「プリント」が送信される場合には、図4に示すように、受信コマンド名「コピー」と、2つの送信コマンドに関する送信コマンド情報(送信コマンド名「スキャン」及び機能カテゴリID「スキャナ」の組と、送信コマンド名「プリント」及び機能カテゴリID「プリンタ」の組)との対応情報がそれぞれ登録される。
【0022】
セッション管理テーブル223には、図5に示すように、業務アプリケーションプログラムまたは他方の管理端末上の協調エージェントプログラムからの要求に応じて他のプログラム(対応グループに属するデバイス制御プログラム、または、他方の管理端末上の協調エージェント)との間に確立されたセッションに関する情報(セッション情報)が登録される。各セッション情報には、接続先プログラムの識別情報(接続先ID)2231と、要求発行元プログラムとの間のセッションの識別情報(発行セッションID)2232と、接続先プログラムとの間のセッションの識別情報(取得セッションID)2233と、が含まれている。
【0023】
実行状態管理テーブル224には、図6に示すように、協調エージェントプログラム200が受信コマンドに応じてコマンドを送信するごとにプロセス情報が登録される。各プロセス情報には、接続先プログラムのプログラムID(接続先ID)2241、受信コマンドの実行プロセスの識別情報(発行プロセスID)2242、送信コマンドの実行プロセスの識別情報(取得プロセスID)2243、送信コマンドの実行状態(ここでは、処理中または終了)を表す実行状態情報2244が含まれている。
【0024】
なお、本実施の形態においては、接続先管理テーブル221及び命令変換テーブル222があらかじめデータ記憶部に格納されているが、設定ファイル等から静的にまたは外部プログラム(ディレクトリサーバ等)から動的にロードされてもよい。また、外部プログラム(接続先プログラム等)によって登録データが更新されてもよい。
【0025】
つぎに、本実施の形態に係るデバイス制御システムにおいて、デバイスを利用するための処理について説明する。
【0026】
(1)セッション確立処理
図7に、業務端末10上の業務処理部100からの要求に応じて管理端末(ここでは、管理端末20Aとする)が実行するセッション確立処理のフローチャートを示す。
【0027】
例えば、1または複数のデバイスの機能により実現される処理(例えば、コピー、印刷、スキャン等)を要求するコマンドを業務端末10上の入出力部120が受け付けると、または、受け付ける前に、その処理の実行のために、図7のフローチャートにしたがって以下の処理が実行される。
【0028】
業務端末10上の業務処理部110が、要求された処理を実現する機能に対応する機能カテゴリIDを含むセッション開始リクエストを所定の管理端末20Aに送信する(S700)。管理端末20Aでは、通信処理部230が、そのセッション開始リクエストを受信すると(S710)、セッション管理部213が、以下の処理を実行する。
【0029】
セッション管理部213は、業務端末10との間に確立されるセッションに対する新たなセッションID(発行セッションID)を生成する(S711)。その後、セッション管理部213は、業務処理部110の要求機能を示す機能カテゴリIDをセッション開始リクエストから取り出し、この機能カテゴリIDに対応付けられた1対以上の接続先機能カテゴリID2213及びプログラムID2212Aを接続先管理テーブル221から取り出す(S712)。例えば現金入出金機等、デバイスによっては、あるユーザが占有している場合には、他のユーザに利用させないようにする必要があるため、このとき、セッション管理テーブル223で管理されていないプログラムID(例えば所定のプログラムID)を選択する必要があることもある。または、そのような場合に選択すべきプログラムのプログラムIDがセッション管理テーブルに登録されていてもよい。
【0030】
さらに、セッション管理部213は、S712で取り出したプログラムIDが示すプログラム、すなわち、業務処理部の要求機能を実現するために接続すべき1以上のプログラム(デバイス制御プログラムまたは他の管理端末20B上の協調エージェントプログラム)に、通信処理部230を介して、セッション確立コマンドを送信する(S713)。このセッション確立コマンドには、S712で取り出された接続先機能カテゴリIDが含まれている。
【0031】
ここで、セッション確立コマンドの送信先となったプログラムは、そのセッション確立コマンドを受け付けると(S720)、管理端末20との間のセッションに対して新たなセッションIDを割り当て、そのセッションIDを、セッション確立コマンドに対する応答メッセージとして返信する(S721)。
【0032】
通信処理部230が、セッション確立コマンドに対する応答メッセージを受け付けると(S714)、セッション管理部213が、その応答メッセージからセッションID(取得セッションID)を取り出し、これらのIDと、S711で生成した発行セッションIDとを含むセッション情報をセッション管理テーブル223に登録する(S715)。なお、接続先IDが示すプログラムがセッションIDを生成せず、セッション確立コマンドに対する応答メッセージにセッションIDが含まれていない場合には、セッション管理部213は、発行セッションIDと接続先IDとを含むセッション情報をセッション管理テーブル223に登録すればよい。
【0033】
その後、セッション管理部213は、S712において接続先管理テーブル221から取り出したプログラムIDの数だけ応答メッセージを受け付けたか否か、すなわち、S713において送信したすべてのセッション確立コマンドに対する応答メッセージを受け付けた否かを判断する(S716)。
【0034】
その結果、一部のセッション確立コマンドに対する応答メッセージを受け付けていなければ、セッション管理部213は、S713以降の処理を繰り返す。これにより、セッション管理テーブル223には、接続先管理テーブル221から取り出したプログラムIDと同数のセッション情報が登録される。
【0035】
一方、すべてのセッション確立コマンドに対する応答メッセージを受け付けていれば、セッション管理部213は、セッション開始リクエストの発信元(業務端末10上の業務処理部110)に発行セッションIDを返信する(S717)。業務端末10上の業務処理部110が、この発行セッションIDを受信すると(S701)、業務端末10上の業務処理部110と、業務処理部110の要求機能を実現するためのプログラムとの間に、管理端末20A上の協調エージェントを介したセッションが確立される。このため、以後、業務端末10上の業務処理部110とそれの要求機能を実現するための1以上のプログラムとの間のデータ交換が可能となる。
【0036】
なお、ここでは、業務端末10からのセッション開始リクエストに応じて管理端末20A上の協調エージェントがセッション確立処理を実行する場合を例に挙げたが、管理端末20A上の協調エージェントからのセッション開始リクエストを管理端末20B上の協調エージェントが受け付けた場合(業務端末10が、管理端末20Aを介して、他の管理端末20Bの管理グループGb内のデバイスを使用する場合)にも、同様なセッション確立処理が実行される。
【0037】
以上の処理によれば、協調エージェントプログラムが、業務アプリケーションプログラムからの要求処理の実現に必要なデバイス制御プログラムを、接続先管理テーブルに基づき選択するため、業務アプリケーションプログラムは、要求処理に対応する機能カテゴリIDを協調エージェントプログラムに送信するだけで、その協調エージェントプログラムを介して、必要なデバイス制御プログラムとの間にセッションを確立することができる。
【0038】
このため、例えば、業務アプリケーションプログラムは、ユーザの要求処理が1つのデバイスの機能によって実現されるか複数のデバイスの機能の連携によって実現されるかに関わらず、所定の管理端末上の協調エージェントプログラムに機能カテゴリIDを1回送信するだけで、要求処理の実現に必要な1つ以上のデバイス制御プログラムとの間に、協調エージェントプログラムを介したセッションを確立することができる。
【0039】
一方、デバイス制御プログラムも、他のデバイス制御プログラムと連携するか否かに関わらず、所定の協調エージェントプログラムとの間にセッションを確立するだけで、その協調エージェントプログラムを介して、業務アプリケーションプログラムとの間にセッションを確立することができる。
【0040】
したがって、業務アプリケーションプログラムは、複数のデバイスを連携させる場合であっても、そのことを意識する必要がなく、また、デバイス制御プログラムも、他のデバイス制御プログラムとの連携の有無を意識する必要がない。
【0041】
また、協調エージェントプログラムが、接続先管理テーブルの参照により、業務アプリケーションプログラムの要求処理に対応する接続先プログラムを決定するため、例えば、新規デバイス及び対応するデバイス制御プログラムの追加、いずれかのデバイス及び対応するデバイス制御プログラムの削除等が発生しても、接続先管理テーブルが更新されさえすれば、業務アプリケーションプログラムには変更を加える必要がない。
【0042】
同様に、デバイスに障害が発生した場合等にも、管理端末上の接続先管理テーブルを更新するだけで、障害が発生したデバイスを他のデバイスに切り替えることができ、業務アプリケーションプログラムを終了させる必要ない。このように、業務アプリケーションプログラムとデバイスとの接続が疎となるため、新規デバイスの追加、デバイスの削除、デバイスの切り替え等の、システム構成の変更に迅速に対応することができる。
【0043】
なお、本実施の形態においては、管理端末20Aの有するセッション情報のみに基づき接続先プログラムのプログラムIDが選択されるが、必ずしも、このようにする必要はない。例えば、受信コマンドに含まれる情報、ディレクトリサーバ等の外部プログラムの有する情報(例えば、負荷情報及び位置情報等の、接続先プログラムに関する情報)、オペレータに関する情報(権限情報、位置情報等)等に基づき、接続先プログラムのプログラムIDが選択されるようにしてもよい。
【0044】
(2)セッション断処理
図8に、業務端末10上の業務処理部110からの要求に応じて管理端末(ここでは管理端末20Aとする)で実行されるセッション断処理のフローチャートを示す。
【0045】
図8に示すように、業務端末10上の業務処理部100が、管理端末20A上の協調エージェントとの間のセッションのセッションIDを含むセッション終了リクエストを管理端末20Aに送信すると(S800)、管理端末20Aのセッション管理部213が、そのセッション終了リクエストを受信し(S810)、以下の処理を実行する。
【0046】
セッション管理部213は、セッション終了リクエストからセッションIDを取り出し、このセッションIDに対応する1以上の接続先ID2231をセッション管理テーブル223から取り出す(S811)。このとき取り出される1以上の接続先IDにより、セッションを断つべき1以上のプログラムが特定される。
【0047】
さらに、セッション管理部213は、このとき取り出した接続先IDが示すプログラム、すなわち、セッションを断つべき1以上のプログラムに、通信処理部230を介してセッション切断コマンドを送信する(S812)。ここで、セッション切断コマンドの送信先となったプログラムは、セッション切断コマンドを受け付けると、セッション切断コマンドに対する応答メッセージを返信する(S820)
セッション切断コマンドに対する応答メッセージを通信処理部230が受け付けると、セッション管理部213は、この応答メッセージの送信元の接続先ID2231を含むセッション情報をセッション管理テーブル223から削除する(S813)。
【0048】
その後、セッション管理部213は、S811においてセッション管理テーブル223から取り出したすべての接続先IDが示すプログラムにセッション切断コマンドを送信したか否か判断する(S814)。
【0049】
その結果、いずれかの接続先IDが示すプログラムにセッション切断コマンドが送信されていなければ、セッション管理部213は、S812以降の処理を繰り返す。これにより、S811において取り出された接続先IDを含むすべてのセッション情報が、セッション管理テーブル223から削除される。
【0050】
一方、すべての接続先IDが示すプログラムにセッション切断コマンドが送信されていれば、セッション管理部213は、セッションが切断された旨の通知を、セッション終了リクエストの送信元(端末10上の業務処理部110)へ返信する(S815)。業務端末10上の業務処理部110が、このセッション終了リクエストを受信すると(S801)、管理端末20A上の協調エージェントプログラムを介して、業務端末10上の業務処理部110と他の端末上のプログラム(デバイス制御プログラムまたは他の管理端末20B上の協調エージェントプログラム)との間に確立されたセッションの切断が完了する。
【0051】
なお、ここでは、業務端末10からのセッション終了リクエストに応じて管理端末20A上の協調エージェントプログラムがセッション切断処理を実行する場合を例に挙げたが、管理端末20A上の協調エージェントプログラムからのセッション終了リクエストを管理端末20B上の協調エージェントプログラムが受け付けた場合には、両協調エージェントプログラムの間で同様なセッション切断処理が実行される。
【0052】
以上の処理によれば、業務アプリケーションプログラムは、管理端末20Aの協調エージェントプログラムとの間のセッションのセッションIDを送信するだけで、管理端末20A上の協調エージェントプログラムを介していずれのプログラムとの間に確立されたすべてのセッションを切断することができる。すなわち、業務アプリケーションプログラムは、管理端末20A上の協調エージェントプログラムを介していずれのプログラムとの間にセッションが確立されているかを意識せずに、そのセッションを切断することができる。
例えば、管理端末20A上の協調エージェントプログラムを介して複数のデバイス制御プログラムとの間にセッションがはられている場合であっても、業務端末10上の業務処理部は、個々のデバイス制御プログラムを意識せずに、それらのデバイス制御プログラムとの間のセッションを切断することができる。
【0053】
(3)命令変換処理
図9に、業務端末10上の業務処理部100からの要求に応じて管理端末(ここでは、管理端末20Aとする)が実行する命令変換処理のフローチャート、図10に、送信コマンド及び送信先の決定処理のフローチャートを示す。
【0054】
図9に示すように、業務端末10上の業務処理部100が、コマンドを所定の管理端末20Aに送信すると(S900)、管理端末20Aでは、通信処理部230が、このコマンドを受信して(S910)、命令変換部211が、以下の処理を実行する。
【0055】
命令変換部211は、受信したコマンドの実行プロセス(受信したコマンドに応じて実行される以下の処理)に対応付けるプロセスID(発行プロセスID)を生成する(S911)。その後、命令変換部211は、図10に示した一連の処理によって、送信コマンド及びその送信先となる1以上のプログラムを決定する(S912)。具体的には、以下の通りである。
【0056】
業務端末10上の業務処理部110が発行するコマンドには、セッションIDを含むコマンド(セッション確立後に送信されるコマンド)と、機能カテゴリIDを含むコマンド(セッションが確立されずに送信されるコマンド)とがある。そこで、命令変換部211は、S910で受信したコマンドにセッションIDが含まれているか否かを判断し(S9121)、その判断結果に応じた処理によって送信コマンド及びそれの送信先を決定する。
【0057】
受信コマンドにセッションIDが含まれていれば、命令変換部211は、そのセッションIDと同じ発行セッションIDに対応付けられた1以上の接続先ID2231をセッション管理テーブル223から取り出す(S9122)。このとき取り出された1以上の接続先IDによって、コマンド送信先となる1以上のプログラムが特定される。
【0058】
さらに、命令変換部211は、このとき取り出した接続先IDごとに送信コマンドを決定する。具体的には、接続先IDと同じプログラムIDに対応付けられた接続先機能カテゴリID2213を接続先管理テーブル221から取り出し、この接続先機能カテゴリIDと受信コマンドとに対応付けられた送信コマンド2222Bを命令変換テーブル222から取り出す(S9123)。このような処理を接続先IDごとに行なうことにより、接続先IDごとに送信コマンドが定まる。
【0059】
一方、受信コマンドにセッションIDが含まれていなければ、命令変換部211は、受信コマンドに含まれる機能カテゴリIDに対応付けられた1対以上の接続先カテゴリID2213及びプログラムID2212Aを接続先管理テーブル221から取り出す。このとき取り出された1以上のプログラムIDにより、コマンド送信先のプログラムが特定される。
【0060】
さらに、命令変換部211は、このとき取り出したプログラムIDごとに送信コマンドを決定する。具体的には、プログラムIDとともに取り出した接続先機能カテゴリIDと受信コマンドとに対応付けられた送信コマンド2222Bを命令変換テーブル222から取り出す(S9124)。このような処理をプログラムIDごとに行なうことにより、プログラムIDごとに送信コマンドが定まる。
【0061】
このようにして、送信コマンド及びその送信先プログラムが決定されると、図9に示すように、命令連携部212は、通信処理部230を介して、決定された送信先プログラムへ、決定された送信コマンドを、取得セッションIDとともに送信する(S913)。送信先とされたプログラムは、そのコマンドを受け付けると(S920)、そのコマンドの実行プロセスのプロセスIDを返信するとともに、そのコマンドの実行を開始する(S921)。
【0062】
送信コマンドの送信先プログラムからのプロセスID(取得プロセスID)を通信処理部230が受け付けると(S914)、実行状態管理部214が、その取得プロセスID2243と、S9122で取り出された接続先ID2241と、S911で生成された発行プロセスID2242とを、コマンド処理中を示す実行状態情報「処理中」2244に対応付けて実行状態管理テーブル224に登録する(S915)。
【0063】
その後、命令変換部211は、S9122においてセッション管理テーブル223から取り出したすべての接続先IDが示すプログラムに送信コマンドを送信したか否か判断する(S916)。
【0064】
その結果、すべての接続先IDが示すプログラムへのコマンド送信が終了していれば、S900でコマンドを発信したプログラム(セッション中のプログラム)に発行プロセスIDを返信する(S917)。その後、コマンド発信元プログラムは、この発行プロセスIDを受信する(S901)。
【0065】
一方、いずれかの接続先IDが示すプログラムに送信コマンドを送信していなければ、その接続先IDが示すプログラムに送信コマンドを送信すべく、S913以降の処理を繰り返す。このような処理の繰り返しにより、セッション管理テーブル223から取り出されたすべての接続先IDが示すプログラムへのコマンド送信が行なわれる。なお、ここでは、複数の接続先プログラムにそれぞれコマンドを送信する場合、先に送信されたコマンドの実行完了を待たずに、つぎのコマンドを送信しているが、先に送信されたコマンドの実行完了を待ってからつぎのコマンドを送信してもよい。
【0066】
以上の処理によれば、業務アプリケーションプログラムは、ユーザが要求する処理が1つのデバイスの機能によって実現されるか複数のデバイスの機能の連携によって実現されるかに関わらず(すなわち、要求された処理の実現に関与するデバイス制御プログラムを意識せずに)、その処理に割り当てられた1つのコマンドを所定の管理端末20A上の協調エージェントプログラムに送信するだけで、その処理を実行させることができる。
【0067】
なお、本実施の形態においては、管理端末20Aの有するセッション情報のみに基づき接続先プログラムのIDが選択されるが、上述のセッション確立処理と同様、受信リクエストに含まれる情報、外部プログラムの有する情報、オペレータに関する情報等に基づき、接続先プログラムのIDが選択されるようにしてもよい。
【0068】
ここでは、業務端末10からのコマンドに応じて管理端末20A上の協調エージェントが命令変換処理を実行する場合を例に挙げたが、管理端末20A上の協調エージェントプログラムからのコマンドを管理端末20B上の協調エージェントプログラムが受け付けた場合(業務端末10が、管理端末20Aを介して、他の管理端末20Bの管理グループGb内のデバイスを使用する場合)にも、同様な命令変換処理が実行される。
【0069】
(4)命令終了処理
図11に、接続先プログラムからの終了コマンドに応じて管理端末が実行する命令終了処理のフローチャートを示す。
【0070】
接続先プログラムは、S920で受信したコマンドの実行プロセスが終了すると、このプロセスのプロセスIDを含む終了コマンドをコマンド発行元(管理端末)に送信する(S1120)。
【0071】
管理端末では、通信処理部230が、この終了コマンドを受信すると(S1110)、実行状態管理部214が、以下の処理を実行する。
【0072】
実行状態管理部214は、終了コマンド内のプロセスIDと同じ取得プロセスIDに対応付けられた実行状態情報2244を実行状態管理テーブル224で検索し、その実行状態情報2224の内容を、コマンド終了を示す情報「終了」で更新する(S1111)。これにより、終了したプロセスの実行状態情報2224の内容が「終了」に変更される。
【0073】
その後、実行状態管理部214は、終了コマンド内のプロセスIDと同じ取得プロセスIDに対応付けられた発行プロセスIDを実行状態管理テーブル224から取り出す。さらに、実行状態管理部214は、このとき取り出した発行プロセスIDに一致する他の発行プロセスIDに対応付けられ、かつ、「処理中」を示す実行状態情報を、実行状態管理テーブル224で検索する(S1112)。
【0074】
その結果、該当する実行状態情報が実行状態管理テーブル224に存在していなければ(すなわち、S1120で終了したプロセスが実行したコマンドとともに発行されたすべてのコマンドが終了していれば)、実行状態管理部214は、S917で終了IDの送信先となったプログラム(コマンド発行元プログラム)に、通知IDを含む終了通知を送信する(S1113)。プログラムは、この終了通知を受信すると(S1100)、自身が発行したコマンドの実行完了後に予定された処理を実行する。
【0075】
一方、該当する実行状態情報が実行状態管理テーブル224に存在していれば(すなわち、S1120で終了したプロセスが実行したコマンドとともに発行された他のコマンドが終了していなければ)、実行状態管理部214は、つぎの終了コマンドを待機する、または、処理を終了させる(S1110)。
【0076】
以上の処理(1)〜(4)によれば、1つのデバイスの機能のみによって実現される処理の実行を要求する場合、及び、複数のデバイスの機能の組合せによって実現される処理の実行を要求する場合のいずれにおいても、業務アプリケーションプログラムは、管理端末20上の協調エージェントプログラムにコマンドを送信するだけで、その処理を実行させることができる。
【0077】
このため、例えば、1つのデバイスが他の用途でも使用される場合(例えば、スキャナを複合機としても使用する場合等)、または、1つのデバイスの機能が複数のデバイスの機能の組合せでも実現される場合(例えば、複写機のコピー機能が、スキャナとプリンタとの組み合わせにも実現される場合等)であっても、業務アプリケーションプログラムには変更を加える必要がない。一方、デバイス制御プログラムは、他のデバイス制御プログラムと連携するか否かに関わらず、管理端末20上の協調エージェントプログラムからのコマンドに応じて処理を実行するだけであるため、デバイス制御プログラムにも変更を加える必要がない。
【0078】
以上においては、すべての接続先プログラムから終了コマンドが発せられたタイミングで、協調エージェントプログラムが終了通知をコマンド発信元プログラムに送信するようにしているが、必ずしも、このようにする必要はない。協調エージェントプログラムが、そのようなタイミングで終了通知を送信しない場合には、協調エージェントプログラムが、例えば、コマンド発信元プログラムからの問い合わせに応じてコマンド終了を通知するようにすれば、コマンド発信元プログラムは、コマンドの実行状態を確認することができる。以下、図12により、このようにする場合について説明する。
【0079】
業務端末上の業務処理部が、S901で受け付けたプロセスIDを含む終了待ちリクエストを、管理端末20Aの協調エージェントプログラムに送信すると(S1200)、管理端末20Aでは、以下の処理が実行される。
【0080】
業務端末からの終了待ちコマンドを通信処理部230が受信すると(S1210)、実行状態管理部214は、その終了待ちコマンド内のプロセスIDと同じ発行プロセスIDに対応付けられたすべての実行状態情報2244を実行状態管理テーブル224で検索する。実行状態管理部214は、その結果得られたすべての実行状態情報2244が「終了」を示しているどうかチェックする(S1211)。
【0081】
その結果、いずれかの実行状態情報が「終了」を示していなければ、実行状態管理部214は、その実行状態情報が「終了」を示すまで待機する(S1212)。このとき、実行状態管理部214が、その実施状態情報に対応付けられた接続先IDが示す接続先プログラムに終了待ち通知を送信するようにしてもよい。この場合には、終了待ち通知を受信した接続先プログラムが待ち状態となる。
【0082】
一方、該当するすべての実行状態情報が「終了」を示していれば、実行状態管理部214は、終了待ちリクエストの送信元に終了待ち完了通知を返す(S1213)。業務端末上の業務処理部は、この終了待ち完了通知の受信(S1201)により、自身が要求した処理の完了を確認することができる。
【0083】
なお、以上においては、業務アプリケーションプログラム100、協調エージェントプログラム200及びデバイス制御プログラム300が個別の端末上で実行されるが、それらのうちの2つ以上が一台の端末上で実行されるようにしてもよい。
【0084】
ところで、以上においては、接続先管理テーブルから取り出されたすべてのプログラムIDを接続先IDとしているが、それらのなかから適当なプログラムIDが送信先IDとして選択されるようにしてもよい。以下、図13及び図9により、本実施の形態に係るデバイス制御システムを金融営業店舗システムに適用した場合を具体例として挙げて、そのようにした場合について説明する。なお、ここでは、業務アプリケーションプログラム100及び協調エージェントプログラム200が一台の端末(業務端末)上で実行される場合を例に挙げる。
【0085】
図13に示すように、本実施の形態に係るデバイス制御システムには、複数のデバイス40、いずれかのデバイスを制御するデバイス制御端末30、前述の業務アプリケーションプログラム110がインストールされた業務端末10A、これらを接続するネットワークを有している。ここでは、業務端末10Aの記憶装置に、前述の協調エージェントプログラム200及び前述のテーブル221〜224と同様なデータ構造のデーブルが格納されている。すなわち、業務端末10Aは、前述の業務処理部100を実現する他、さらに図2の機能構成部を実現する。
【0086】
ここでは、デバイス40として、大型ディスプレイ、携帯電話、オペレータ端末が含まれており、それぞれのデバイスを制御するデバイス制御端末30には、対応するデバイス制御プログラム(大型ディスプレイの画面制御プログラム、携帯電話の画面制御プログラム、または、オペレータ端末の画面制御プログラム)がインストールされている。なお、例えば携帯電話の画面制御プログラムがインストールされたデバイスには、予め、その携帯電話に割り当てられた電話番号またはメールアドレスが登録されていることとする。
【0087】
図9において、業務処理部110が、例えば、機能カテゴリID「情報通知装置」及びメッセージ「順番待ち終了」を含むメッセージ通知コマンドを協調エージェントプログラム200に送信すると(S900)、協調エージェント200は、接続先プログラム及び送信コマンドを決定する(S912)。
【0088】
具体的には、命令変換部211は、メッセージ通知コマンドにセッションIDが含まれているか否かをチェックし(図10のS9121)、その結果に応じた処理によって、接続先ID及び送信コマンドを決定する。ここでは、メッセージ通知コマンドにはセッションIDが含まれないため、命令変換部211は、メッセージ通知コマンド内の機能カテゴリID「情報通知装置」に対応付けられた1以上のプログラムID2212Aを接続先管理テーブル221から取り出す。
【0089】
ここで、複数のプログラムID2212Aが取り出された場合には、命令変換部211は、それらのなかから1のプログラムIDを接続先として選択する。例えば、メッセージ宛先(顧客の識別情報)がメッセージ通知コマンドに含まれている場合には、機能カテゴリID「情報通知装置」に対応付けられた複数のプログラムIDのうち、そのメッセージ宛先が示す顧客の現在位置に最も近いデバイスのデバイス制御プログラムのプログラムIDを送信先IDとして選択する。ただし、この場合には、各デバイスの位置を例えば接続先管理テーブルで管理するとともに、顧客に無線機を携帯させ、管理端末の通信処理部230と通信可能な受信機を店舗内に設置する等、店舗内における顧客の現在位置を検知可能にしておく必要がある。
【0090】
また、メッセージの重要度またはメッセージ宛先(顧客)の重要度を表すステータス情報がメッセージ通知コマンドに含まれている場合には、命令変換部211が、接続先管理テーブル221から取り出されたプログラムIDのなかから、そのステータス情報が表す重要度に応じて送信先IDを選択するようにしてもよい。例えば、重要度が高い場合には、オペレータ端末の画面に表示されたメッセージ「順番待ち終了」をオペレータが顧客に伝えるように、オペレータ端末画面制御プログラムのプログラムIDが送信先IDとして選択され、その他の場合には、メッセージ「順番待ち終了」が顧客の携帯電話の画面に表示されるように、携帯電話画面制御プログラムのプログラムIDが送信先として選択されるようにしてもよい。
【0091】
さらに、命令変換部211は、メッセージ通知コマンドとそれに含まれる機能カテゴリID「情報通知装置」とに対応付けられた送信コマンド2222Bを命令変換テーブル222から取り出す(図10のS9124)。これにより、送信コマンドが決定する。
【0092】
このようにすることにより、店舗内における顧客の位置、メッセージの重要性等に応じて接続先を変更することができる。また、協調エージェントが管理グループ内のデバイスまたはデバイス制御端末の状況(負荷、障害等)を定期的にチェックし、そのチェック結果に基づいて、接続先管理テーブルから取り出されたプログラムIDのなかから接続先を選択してもよい。これにより、例えば、特定のデバイス及び特定のデバイス制御端末への負荷集中、障害が発生したデバイス及びデバイス制御端末への処理依頼等を防止することができる。
【図面の簡単な説明】
【0093】
【図1】本発明の一実施形態に係るデバイス制御システムの全体構成を説明する図である。
【図2】本発明の一実施形態に係る管理端末の機能構成を説明するための図である。
【図3】本発明の一実施形態に係る接続先管理テーブルのデータ構造を説明する図である。
【図4】本発明の一実施形態に係る命令変換テーブルのデータ構造を説明する図である。
【図5】本発明の一実施形態に係るセッション管理テーブルのデータ構造を説明する図である。
【図6】本発明の一実施形態に係る実行状態管理テーブルのデータ構造を説明する図である。
【図7】本発明の一実施形態に係るセッション確立処理のフローチャートである。
【図8】本発明の一実施形態に係るセッション切断処理のフローチャートである。
【図9】本発明の一実施形態に係る命令変換処理のフローチャートである。
【図10】図10のS912において実行される処理の詳細なフローチャートである。
【図11】本発明の一実施形態に係る命令終了処理のフローチャートである。
【図12】本発明の一実施形態に係る終了待ち処理のフローチャートである。
【図13】本発明の他の実施形態に係るデバイス制御システムの全体構成を説明する図である。
【符号の説明】
【0094】
10:業務端末、20:管理端末、30:デバイス制御端末、40:デバイス、100:業務アプリケーションプログラム、200:協調エージェントプログラム、210:命令管理部、211:命令変換部、212:命令連携部、213:セッション管理部、214:実行状態管理部、220:データ記憶部、300:デバイス制御プログラム
【技術分野】
【0001】
本発明は、複数のデバイスを制御するデバイス制御システムに関する。
【背景技術】
【0002】
金融営業店舗等に配置されているデバイスを制御するプログラム(以下、デバイス制御プログラム)は、デバイスマネージャによって管理されている。このようなデバイスマネージャに、デバイスの識別子を含む命令が業務アプリケーションから与えられると、デバイスマネージャは、その命令をデバイス制御プログラムに割り当てる。このため、業務アプリケーションは、デバイス制御プログラムを認識する必要がない。
【0003】
【非特許文献1】Extensions for Financial Services(XFS)interface supecification、[online]、2005年1月6日、CEN、インターネット <http://www.cenorm.be/cenorm/businessdomains/businessdomains/isss/cwa/cwa14050.asp>
【発明の開示】
【発明が解決しようとする課題】
【0004】
ところが、業務アプリケーションプログラムは、デバイスの識別子をデバイスマネージャに渡す必要がある。このため、新規デバイスの追加、デバイスの切替え等のシステム構成の動的変更に迅速に対応することが困難である。
【0005】
そこで、本発明は、システム構成の動的変更に迅速に対応可能なデバイス制御システムを提供することを目的とする。
【課題を解決するための手段】
【0006】
本発明は、
第1のデバイスを制御する第1のデバイス制御プログラムと、第2のデバイスを制御する第2のデバイス制御プログラムとを管理する情報処理装置であって、
前記第1のデバイスにより実現される機能を表す第1の機能カテゴリIDには前記第1のデバイス制御プログラムを対応付け、前記第2のデバイスにより実現される機能を表す第2の機能カテゴリIDには前記第2のデバイス制御プログラムを対応付ける接続先管理情報が格納された記憶手段と、
前記第1及び第2のデバイス制御プログラムと通信する通信手段と、
前記第1の機能カテゴリIDを含むセッション確立リクエストを前記通信手段が受け付けた場合には、前記接続先管理情報によって当該セッション確立リクエスト内の前記第1の機能カテゴリIDに対応付けられる前記第1のデバイス制御プログラムにセッション確立コマンドを送信し、前記第2の機能カテゴリIDを含むセッション確立リクエストを前記通信手段が受け付けた場合には、前記接続先管理情報によって当該セッション確立リクエスト内の前記第2の機能カテゴリIDに対応付けられる前記第2のデバイス制御プログラムにセッション確立コマンドを送信する命令管理手段と、
を有することを特徴とする情報処理装置を提供する。
【発明の効果】
【0007】
本発明によれば、システム構成の動的な変更に迅速に対応することができる。
【発明を実施するための最良の形態】
【0008】
以下、添付図面を参照しながら、本発明に係る実施形態について説明する。
【0009】
まず、図1により、本実施の形態に係るデバイス制御システムの全体構成について説明する。
【0010】
本実施形態に係るデバイス制御システムは、いずれかのグループに属する複数のデバイス40A〜40M、複数のデバイス40A〜40Mのうちのいずれかを制御する複数の端末(デバイス制御端末)30A〜,30N,30M、対応するグループ内のデバイスを制御するデバイス制御端末を管理する端末(管理端末)、各デバイス40A〜40Mを利用可能な少なくとも1台の端末(業務端末)10、これらのデバイス40A〜40M及び端末10,20A,20B,30A〜30Mを相互に接続するネットワーク50、を有している。以下、説明の便宜上、デバイス制御システムに2台の管理端末20A,20Bが含まれ、一方の管理端末20AがグループGaを管理し、他方の管理端末20BがグループGbを管理する場合を一例に挙げることとする。
【0011】
各端末10,20A,20B,30A〜30Mは、いずれも、外部からの要求に応じてプログラムを実行するコンピュータとしての通常のハードウエア構成を有している。具体的には、プログラム及びデータが格納された記憶装置、メモリ、記憶装置等からメモリにロードしたプログラムを実行する演算処理装置、ネットワーク50を介した通信を制御する通信装置、外部装置(キーボード等の入力装置、ディスプレイ等の出力装置)が接続される入出力インタフェース、を有している。各端末10,20A,20B,30A〜30Mは、このようなハードウエア構成上における所定プログラムの実行により、以下の機能構成をプロセスとして実現する。
【0012】
業務端末10の記憶装置には、所定の業務処理を実行するための業務アプリケーションプログラム100がインストールされている。業務端末10は、例えばユーザからの指示に応じて業務アプリケーションプログラム100を実行することによって、外部装置(入力装置、出力装置)との間のデータ通信を制御する入出力部(図2の120)と、ネットワーク50上の1以上のデバイスを入出力デバイスとして利用可能な業務処理部(図2の110)と、を実現する。
【0013】
デバイス制御端末30A〜30Mには、それぞれ、対応デバイス40の制御処理を実行するデバイス制御プログラム300がインストールされている。各デバイス制御端末30A〜30Mは、デバイス制御プログラム300を実行することにより、自己を管理する管理端末からのコマンドに応じて対応デバイスを制御するデバイス制御部(図2の310)を実現する。
【0014】
管理端末20A,20Bの記憶装置には、それぞれ、管理対象グループに属するデバイス制御プログラム300及び他方の管理端末の協調エージェントプログラムとの連携処理を実現するための協調エージェントプログラム200がインストールされている。管理端末20A,20Bは、例えば電源投入時等に協調エージェントプログラム200を起動することにより、図2に示す機能構成を実現する。具体的には、管理端末20A,20Bは、ネットワーク50を介して他の端末との間でデータ(リクエスト、コマンド等)を送受信する通信処理部230、命令管理部210、命令管理部210の参照データが格納されるデータ記憶部220を実現する。
【0015】
ここで、命令管理部210には、管理対象グループ内のデバイス制御プログラム300または他方の管理端末上の協調エージェントプログラム200との接続状態を管理するセッション管理部213、業務端末10からのコマンドを管理対象グループ内のデバイス制御プログラム200及び他方の管理端末上の協調エージェントプログラム200に振り分ける命令変換部211、複数のデバイス制御プログラム等を連携させる命令連携部212、業務端末10からのコマンドの実行状態を管理する実行状態管理部214、が含まれる。
【0016】
一方、データ記憶部220には、あらかじめデータが登録された2種類のデータテーブル(接続先管理テーブル221、命令変換テーブル222)と、後述の処理においてデータが更新される2種類のデータテーブル(セッション管理テーブル223、実行状態管理テーブル224)と、が格納されている。
【0017】
接続先管理テーブル221には、図3に示すように、業務端末10に提供可能な機能ごとに、その機能の識別情報(機能カテゴリID)2211、その機能の実現のために必要となる接続先機能の識別情報(接続先機能カテゴリID)2213、接続先機能カテゴリIDが表す機能を提供する1以上のプログラムに関する情報(プログラム情報)2212があらかじめ登録されている。各プログラム情報2212には、プログラムの識別情報(プログラムID)2212Aと、プログラムの機能が属するカテゴリ(プリンタ制御、スキャナ制御、協調エージェント等)を表すプログラムカテゴリID2212Bと、が含まれている。
【0018】
例えば、管理対象グループに属する1つのデバイスによって1つの機能が実現される場合には、その機能を表すカテゴリ情報2211と、その機能を実現するために必要な接続先機能を表す接続先機能カテゴリID2213と、接続先機能カテゴリID2213が表す機能を実現するデバイス制御プログラムのプログラム情報2212との対応情報が接続先管理テーブル221に登録される。また、管理対象グループに属する複数のデバイスの機能の連携によって1つの機能(以下、複合機能)が実現される場合には、その複合機能を表すカテゴリ情報2211と、その機能の実現のために連携する各接続先機能を表す接続先機能カテゴリID2213と、各接続先機能カテゴリID2213が表す機能を提供するデバイス制御プログラムのプログラム情報との対応情報が、接続先管理テーブル221に登録される。例えば、複合機としての機能が2つのデバイス(スキャナ及びプリンタ)の機能の連携によって実現される場合、図3に示すように、複合機の機能を表す機能カテゴリID「複合機」と、複合機能「複合機」の実現のために連携する2つの機能を表す接続先機能カテゴリID「スキャナ」「プリンタ」と、接続先機能カテゴリIDが表す各機能を提供する2つのデバイス制御プログラム(ID311,ID312)のプログラム情報2213A,2213Bと、が登録される。
【0019】
さらに、他方の管理端末の管理対象グループに属する1以上のデバイスによって1つの機能が実現される場合には、その機能を表す機能カテゴリIDと、デバイスの機能を表す接続先機能カテゴリIDと、他方の管理端末上の協調エージェントプログラムのプログラム情報との対応情報が、接続先管理テーブル221に登録される。例えば、他方の管理端末のグループに属するデバイスによって、スキャナとしての機能が実現される場合には、スキャナ機能を表す機能カテゴリID「スキャナ」と、デバイスの機能を表す接続先機能カテゴリID「スキャナ」と、他方の管理端末上の協調エージェントプログラムのプログラム情報とが登録される。
【0020】
命令変換テーブル222には、図4に示すように、協調エージェントプログラム200の受信コマンドごとに、受信コマンド名2221、受信コマンドに応じて送信されるコマンドに関する情報(送信コマンド情報)2222があらかじめ登録されている。各送信コマンド情報2222には、送信コマンド名2222Bと、コマンド送信先の機能を表す機能カテゴリID2222A、とが含まれている。
【0021】
例えば複数のデバイスによって1つの機能が実現される場合のような、1つの受信コマンドに応じて複数のコマンドが送信される場合には、その受信コマンド名と、各送信コマンドに関する送信コマンド情報とが命令変換テーブル222に登録される。例えば、受信コマンド「コピー」に応じて2つのコマンド「スキャン」「プリント」が送信される場合には、図4に示すように、受信コマンド名「コピー」と、2つの送信コマンドに関する送信コマンド情報(送信コマンド名「スキャン」及び機能カテゴリID「スキャナ」の組と、送信コマンド名「プリント」及び機能カテゴリID「プリンタ」の組)との対応情報がそれぞれ登録される。
【0022】
セッション管理テーブル223には、図5に示すように、業務アプリケーションプログラムまたは他方の管理端末上の協調エージェントプログラムからの要求に応じて他のプログラム(対応グループに属するデバイス制御プログラム、または、他方の管理端末上の協調エージェント)との間に確立されたセッションに関する情報(セッション情報)が登録される。各セッション情報には、接続先プログラムの識別情報(接続先ID)2231と、要求発行元プログラムとの間のセッションの識別情報(発行セッションID)2232と、接続先プログラムとの間のセッションの識別情報(取得セッションID)2233と、が含まれている。
【0023】
実行状態管理テーブル224には、図6に示すように、協調エージェントプログラム200が受信コマンドに応じてコマンドを送信するごとにプロセス情報が登録される。各プロセス情報には、接続先プログラムのプログラムID(接続先ID)2241、受信コマンドの実行プロセスの識別情報(発行プロセスID)2242、送信コマンドの実行プロセスの識別情報(取得プロセスID)2243、送信コマンドの実行状態(ここでは、処理中または終了)を表す実行状態情報2244が含まれている。
【0024】
なお、本実施の形態においては、接続先管理テーブル221及び命令変換テーブル222があらかじめデータ記憶部に格納されているが、設定ファイル等から静的にまたは外部プログラム(ディレクトリサーバ等)から動的にロードされてもよい。また、外部プログラム(接続先プログラム等)によって登録データが更新されてもよい。
【0025】
つぎに、本実施の形態に係るデバイス制御システムにおいて、デバイスを利用するための処理について説明する。
【0026】
(1)セッション確立処理
図7に、業務端末10上の業務処理部100からの要求に応じて管理端末(ここでは、管理端末20Aとする)が実行するセッション確立処理のフローチャートを示す。
【0027】
例えば、1または複数のデバイスの機能により実現される処理(例えば、コピー、印刷、スキャン等)を要求するコマンドを業務端末10上の入出力部120が受け付けると、または、受け付ける前に、その処理の実行のために、図7のフローチャートにしたがって以下の処理が実行される。
【0028】
業務端末10上の業務処理部110が、要求された処理を実現する機能に対応する機能カテゴリIDを含むセッション開始リクエストを所定の管理端末20Aに送信する(S700)。管理端末20Aでは、通信処理部230が、そのセッション開始リクエストを受信すると(S710)、セッション管理部213が、以下の処理を実行する。
【0029】
セッション管理部213は、業務端末10との間に確立されるセッションに対する新たなセッションID(発行セッションID)を生成する(S711)。その後、セッション管理部213は、業務処理部110の要求機能を示す機能カテゴリIDをセッション開始リクエストから取り出し、この機能カテゴリIDに対応付けられた1対以上の接続先機能カテゴリID2213及びプログラムID2212Aを接続先管理テーブル221から取り出す(S712)。例えば現金入出金機等、デバイスによっては、あるユーザが占有している場合には、他のユーザに利用させないようにする必要があるため、このとき、セッション管理テーブル223で管理されていないプログラムID(例えば所定のプログラムID)を選択する必要があることもある。または、そのような場合に選択すべきプログラムのプログラムIDがセッション管理テーブルに登録されていてもよい。
【0030】
さらに、セッション管理部213は、S712で取り出したプログラムIDが示すプログラム、すなわち、業務処理部の要求機能を実現するために接続すべき1以上のプログラム(デバイス制御プログラムまたは他の管理端末20B上の協調エージェントプログラム)に、通信処理部230を介して、セッション確立コマンドを送信する(S713)。このセッション確立コマンドには、S712で取り出された接続先機能カテゴリIDが含まれている。
【0031】
ここで、セッション確立コマンドの送信先となったプログラムは、そのセッション確立コマンドを受け付けると(S720)、管理端末20との間のセッションに対して新たなセッションIDを割り当て、そのセッションIDを、セッション確立コマンドに対する応答メッセージとして返信する(S721)。
【0032】
通信処理部230が、セッション確立コマンドに対する応答メッセージを受け付けると(S714)、セッション管理部213が、その応答メッセージからセッションID(取得セッションID)を取り出し、これらのIDと、S711で生成した発行セッションIDとを含むセッション情報をセッション管理テーブル223に登録する(S715)。なお、接続先IDが示すプログラムがセッションIDを生成せず、セッション確立コマンドに対する応答メッセージにセッションIDが含まれていない場合には、セッション管理部213は、発行セッションIDと接続先IDとを含むセッション情報をセッション管理テーブル223に登録すればよい。
【0033】
その後、セッション管理部213は、S712において接続先管理テーブル221から取り出したプログラムIDの数だけ応答メッセージを受け付けたか否か、すなわち、S713において送信したすべてのセッション確立コマンドに対する応答メッセージを受け付けた否かを判断する(S716)。
【0034】
その結果、一部のセッション確立コマンドに対する応答メッセージを受け付けていなければ、セッション管理部213は、S713以降の処理を繰り返す。これにより、セッション管理テーブル223には、接続先管理テーブル221から取り出したプログラムIDと同数のセッション情報が登録される。
【0035】
一方、すべてのセッション確立コマンドに対する応答メッセージを受け付けていれば、セッション管理部213は、セッション開始リクエストの発信元(業務端末10上の業務処理部110)に発行セッションIDを返信する(S717)。業務端末10上の業務処理部110が、この発行セッションIDを受信すると(S701)、業務端末10上の業務処理部110と、業務処理部110の要求機能を実現するためのプログラムとの間に、管理端末20A上の協調エージェントを介したセッションが確立される。このため、以後、業務端末10上の業務処理部110とそれの要求機能を実現するための1以上のプログラムとの間のデータ交換が可能となる。
【0036】
なお、ここでは、業務端末10からのセッション開始リクエストに応じて管理端末20A上の協調エージェントがセッション確立処理を実行する場合を例に挙げたが、管理端末20A上の協調エージェントからのセッション開始リクエストを管理端末20B上の協調エージェントが受け付けた場合(業務端末10が、管理端末20Aを介して、他の管理端末20Bの管理グループGb内のデバイスを使用する場合)にも、同様なセッション確立処理が実行される。
【0037】
以上の処理によれば、協調エージェントプログラムが、業務アプリケーションプログラムからの要求処理の実現に必要なデバイス制御プログラムを、接続先管理テーブルに基づき選択するため、業務アプリケーションプログラムは、要求処理に対応する機能カテゴリIDを協調エージェントプログラムに送信するだけで、その協調エージェントプログラムを介して、必要なデバイス制御プログラムとの間にセッションを確立することができる。
【0038】
このため、例えば、業務アプリケーションプログラムは、ユーザの要求処理が1つのデバイスの機能によって実現されるか複数のデバイスの機能の連携によって実現されるかに関わらず、所定の管理端末上の協調エージェントプログラムに機能カテゴリIDを1回送信するだけで、要求処理の実現に必要な1つ以上のデバイス制御プログラムとの間に、協調エージェントプログラムを介したセッションを確立することができる。
【0039】
一方、デバイス制御プログラムも、他のデバイス制御プログラムと連携するか否かに関わらず、所定の協調エージェントプログラムとの間にセッションを確立するだけで、その協調エージェントプログラムを介して、業務アプリケーションプログラムとの間にセッションを確立することができる。
【0040】
したがって、業務アプリケーションプログラムは、複数のデバイスを連携させる場合であっても、そのことを意識する必要がなく、また、デバイス制御プログラムも、他のデバイス制御プログラムとの連携の有無を意識する必要がない。
【0041】
また、協調エージェントプログラムが、接続先管理テーブルの参照により、業務アプリケーションプログラムの要求処理に対応する接続先プログラムを決定するため、例えば、新規デバイス及び対応するデバイス制御プログラムの追加、いずれかのデバイス及び対応するデバイス制御プログラムの削除等が発生しても、接続先管理テーブルが更新されさえすれば、業務アプリケーションプログラムには変更を加える必要がない。
【0042】
同様に、デバイスに障害が発生した場合等にも、管理端末上の接続先管理テーブルを更新するだけで、障害が発生したデバイスを他のデバイスに切り替えることができ、業務アプリケーションプログラムを終了させる必要ない。このように、業務アプリケーションプログラムとデバイスとの接続が疎となるため、新規デバイスの追加、デバイスの削除、デバイスの切り替え等の、システム構成の変更に迅速に対応することができる。
【0043】
なお、本実施の形態においては、管理端末20Aの有するセッション情報のみに基づき接続先プログラムのプログラムIDが選択されるが、必ずしも、このようにする必要はない。例えば、受信コマンドに含まれる情報、ディレクトリサーバ等の外部プログラムの有する情報(例えば、負荷情報及び位置情報等の、接続先プログラムに関する情報)、オペレータに関する情報(権限情報、位置情報等)等に基づき、接続先プログラムのプログラムIDが選択されるようにしてもよい。
【0044】
(2)セッション断処理
図8に、業務端末10上の業務処理部110からの要求に応じて管理端末(ここでは管理端末20Aとする)で実行されるセッション断処理のフローチャートを示す。
【0045】
図8に示すように、業務端末10上の業務処理部100が、管理端末20A上の協調エージェントとの間のセッションのセッションIDを含むセッション終了リクエストを管理端末20Aに送信すると(S800)、管理端末20Aのセッション管理部213が、そのセッション終了リクエストを受信し(S810)、以下の処理を実行する。
【0046】
セッション管理部213は、セッション終了リクエストからセッションIDを取り出し、このセッションIDに対応する1以上の接続先ID2231をセッション管理テーブル223から取り出す(S811)。このとき取り出される1以上の接続先IDにより、セッションを断つべき1以上のプログラムが特定される。
【0047】
さらに、セッション管理部213は、このとき取り出した接続先IDが示すプログラム、すなわち、セッションを断つべき1以上のプログラムに、通信処理部230を介してセッション切断コマンドを送信する(S812)。ここで、セッション切断コマンドの送信先となったプログラムは、セッション切断コマンドを受け付けると、セッション切断コマンドに対する応答メッセージを返信する(S820)
セッション切断コマンドに対する応答メッセージを通信処理部230が受け付けると、セッション管理部213は、この応答メッセージの送信元の接続先ID2231を含むセッション情報をセッション管理テーブル223から削除する(S813)。
【0048】
その後、セッション管理部213は、S811においてセッション管理テーブル223から取り出したすべての接続先IDが示すプログラムにセッション切断コマンドを送信したか否か判断する(S814)。
【0049】
その結果、いずれかの接続先IDが示すプログラムにセッション切断コマンドが送信されていなければ、セッション管理部213は、S812以降の処理を繰り返す。これにより、S811において取り出された接続先IDを含むすべてのセッション情報が、セッション管理テーブル223から削除される。
【0050】
一方、すべての接続先IDが示すプログラムにセッション切断コマンドが送信されていれば、セッション管理部213は、セッションが切断された旨の通知を、セッション終了リクエストの送信元(端末10上の業務処理部110)へ返信する(S815)。業務端末10上の業務処理部110が、このセッション終了リクエストを受信すると(S801)、管理端末20A上の協調エージェントプログラムを介して、業務端末10上の業務処理部110と他の端末上のプログラム(デバイス制御プログラムまたは他の管理端末20B上の協調エージェントプログラム)との間に確立されたセッションの切断が完了する。
【0051】
なお、ここでは、業務端末10からのセッション終了リクエストに応じて管理端末20A上の協調エージェントプログラムがセッション切断処理を実行する場合を例に挙げたが、管理端末20A上の協調エージェントプログラムからのセッション終了リクエストを管理端末20B上の協調エージェントプログラムが受け付けた場合には、両協調エージェントプログラムの間で同様なセッション切断処理が実行される。
【0052】
以上の処理によれば、業務アプリケーションプログラムは、管理端末20Aの協調エージェントプログラムとの間のセッションのセッションIDを送信するだけで、管理端末20A上の協調エージェントプログラムを介していずれのプログラムとの間に確立されたすべてのセッションを切断することができる。すなわち、業務アプリケーションプログラムは、管理端末20A上の協調エージェントプログラムを介していずれのプログラムとの間にセッションが確立されているかを意識せずに、そのセッションを切断することができる。
例えば、管理端末20A上の協調エージェントプログラムを介して複数のデバイス制御プログラムとの間にセッションがはられている場合であっても、業務端末10上の業務処理部は、個々のデバイス制御プログラムを意識せずに、それらのデバイス制御プログラムとの間のセッションを切断することができる。
【0053】
(3)命令変換処理
図9に、業務端末10上の業務処理部100からの要求に応じて管理端末(ここでは、管理端末20Aとする)が実行する命令変換処理のフローチャート、図10に、送信コマンド及び送信先の決定処理のフローチャートを示す。
【0054】
図9に示すように、業務端末10上の業務処理部100が、コマンドを所定の管理端末20Aに送信すると(S900)、管理端末20Aでは、通信処理部230が、このコマンドを受信して(S910)、命令変換部211が、以下の処理を実行する。
【0055】
命令変換部211は、受信したコマンドの実行プロセス(受信したコマンドに応じて実行される以下の処理)に対応付けるプロセスID(発行プロセスID)を生成する(S911)。その後、命令変換部211は、図10に示した一連の処理によって、送信コマンド及びその送信先となる1以上のプログラムを決定する(S912)。具体的には、以下の通りである。
【0056】
業務端末10上の業務処理部110が発行するコマンドには、セッションIDを含むコマンド(セッション確立後に送信されるコマンド)と、機能カテゴリIDを含むコマンド(セッションが確立されずに送信されるコマンド)とがある。そこで、命令変換部211は、S910で受信したコマンドにセッションIDが含まれているか否かを判断し(S9121)、その判断結果に応じた処理によって送信コマンド及びそれの送信先を決定する。
【0057】
受信コマンドにセッションIDが含まれていれば、命令変換部211は、そのセッションIDと同じ発行セッションIDに対応付けられた1以上の接続先ID2231をセッション管理テーブル223から取り出す(S9122)。このとき取り出された1以上の接続先IDによって、コマンド送信先となる1以上のプログラムが特定される。
【0058】
さらに、命令変換部211は、このとき取り出した接続先IDごとに送信コマンドを決定する。具体的には、接続先IDと同じプログラムIDに対応付けられた接続先機能カテゴリID2213を接続先管理テーブル221から取り出し、この接続先機能カテゴリIDと受信コマンドとに対応付けられた送信コマンド2222Bを命令変換テーブル222から取り出す(S9123)。このような処理を接続先IDごとに行なうことにより、接続先IDごとに送信コマンドが定まる。
【0059】
一方、受信コマンドにセッションIDが含まれていなければ、命令変換部211は、受信コマンドに含まれる機能カテゴリIDに対応付けられた1対以上の接続先カテゴリID2213及びプログラムID2212Aを接続先管理テーブル221から取り出す。このとき取り出された1以上のプログラムIDにより、コマンド送信先のプログラムが特定される。
【0060】
さらに、命令変換部211は、このとき取り出したプログラムIDごとに送信コマンドを決定する。具体的には、プログラムIDとともに取り出した接続先機能カテゴリIDと受信コマンドとに対応付けられた送信コマンド2222Bを命令変換テーブル222から取り出す(S9124)。このような処理をプログラムIDごとに行なうことにより、プログラムIDごとに送信コマンドが定まる。
【0061】
このようにして、送信コマンド及びその送信先プログラムが決定されると、図9に示すように、命令連携部212は、通信処理部230を介して、決定された送信先プログラムへ、決定された送信コマンドを、取得セッションIDとともに送信する(S913)。送信先とされたプログラムは、そのコマンドを受け付けると(S920)、そのコマンドの実行プロセスのプロセスIDを返信するとともに、そのコマンドの実行を開始する(S921)。
【0062】
送信コマンドの送信先プログラムからのプロセスID(取得プロセスID)を通信処理部230が受け付けると(S914)、実行状態管理部214が、その取得プロセスID2243と、S9122で取り出された接続先ID2241と、S911で生成された発行プロセスID2242とを、コマンド処理中を示す実行状態情報「処理中」2244に対応付けて実行状態管理テーブル224に登録する(S915)。
【0063】
その後、命令変換部211は、S9122においてセッション管理テーブル223から取り出したすべての接続先IDが示すプログラムに送信コマンドを送信したか否か判断する(S916)。
【0064】
その結果、すべての接続先IDが示すプログラムへのコマンド送信が終了していれば、S900でコマンドを発信したプログラム(セッション中のプログラム)に発行プロセスIDを返信する(S917)。その後、コマンド発信元プログラムは、この発行プロセスIDを受信する(S901)。
【0065】
一方、いずれかの接続先IDが示すプログラムに送信コマンドを送信していなければ、その接続先IDが示すプログラムに送信コマンドを送信すべく、S913以降の処理を繰り返す。このような処理の繰り返しにより、セッション管理テーブル223から取り出されたすべての接続先IDが示すプログラムへのコマンド送信が行なわれる。なお、ここでは、複数の接続先プログラムにそれぞれコマンドを送信する場合、先に送信されたコマンドの実行完了を待たずに、つぎのコマンドを送信しているが、先に送信されたコマンドの実行完了を待ってからつぎのコマンドを送信してもよい。
【0066】
以上の処理によれば、業務アプリケーションプログラムは、ユーザが要求する処理が1つのデバイスの機能によって実現されるか複数のデバイスの機能の連携によって実現されるかに関わらず(すなわち、要求された処理の実現に関与するデバイス制御プログラムを意識せずに)、その処理に割り当てられた1つのコマンドを所定の管理端末20A上の協調エージェントプログラムに送信するだけで、その処理を実行させることができる。
【0067】
なお、本実施の形態においては、管理端末20Aの有するセッション情報のみに基づき接続先プログラムのIDが選択されるが、上述のセッション確立処理と同様、受信リクエストに含まれる情報、外部プログラムの有する情報、オペレータに関する情報等に基づき、接続先プログラムのIDが選択されるようにしてもよい。
【0068】
ここでは、業務端末10からのコマンドに応じて管理端末20A上の協調エージェントが命令変換処理を実行する場合を例に挙げたが、管理端末20A上の協調エージェントプログラムからのコマンドを管理端末20B上の協調エージェントプログラムが受け付けた場合(業務端末10が、管理端末20Aを介して、他の管理端末20Bの管理グループGb内のデバイスを使用する場合)にも、同様な命令変換処理が実行される。
【0069】
(4)命令終了処理
図11に、接続先プログラムからの終了コマンドに応じて管理端末が実行する命令終了処理のフローチャートを示す。
【0070】
接続先プログラムは、S920で受信したコマンドの実行プロセスが終了すると、このプロセスのプロセスIDを含む終了コマンドをコマンド発行元(管理端末)に送信する(S1120)。
【0071】
管理端末では、通信処理部230が、この終了コマンドを受信すると(S1110)、実行状態管理部214が、以下の処理を実行する。
【0072】
実行状態管理部214は、終了コマンド内のプロセスIDと同じ取得プロセスIDに対応付けられた実行状態情報2244を実行状態管理テーブル224で検索し、その実行状態情報2224の内容を、コマンド終了を示す情報「終了」で更新する(S1111)。これにより、終了したプロセスの実行状態情報2224の内容が「終了」に変更される。
【0073】
その後、実行状態管理部214は、終了コマンド内のプロセスIDと同じ取得プロセスIDに対応付けられた発行プロセスIDを実行状態管理テーブル224から取り出す。さらに、実行状態管理部214は、このとき取り出した発行プロセスIDに一致する他の発行プロセスIDに対応付けられ、かつ、「処理中」を示す実行状態情報を、実行状態管理テーブル224で検索する(S1112)。
【0074】
その結果、該当する実行状態情報が実行状態管理テーブル224に存在していなければ(すなわち、S1120で終了したプロセスが実行したコマンドとともに発行されたすべてのコマンドが終了していれば)、実行状態管理部214は、S917で終了IDの送信先となったプログラム(コマンド発行元プログラム)に、通知IDを含む終了通知を送信する(S1113)。プログラムは、この終了通知を受信すると(S1100)、自身が発行したコマンドの実行完了後に予定された処理を実行する。
【0075】
一方、該当する実行状態情報が実行状態管理テーブル224に存在していれば(すなわち、S1120で終了したプロセスが実行したコマンドとともに発行された他のコマンドが終了していなければ)、実行状態管理部214は、つぎの終了コマンドを待機する、または、処理を終了させる(S1110)。
【0076】
以上の処理(1)〜(4)によれば、1つのデバイスの機能のみによって実現される処理の実行を要求する場合、及び、複数のデバイスの機能の組合せによって実現される処理の実行を要求する場合のいずれにおいても、業務アプリケーションプログラムは、管理端末20上の協調エージェントプログラムにコマンドを送信するだけで、その処理を実行させることができる。
【0077】
このため、例えば、1つのデバイスが他の用途でも使用される場合(例えば、スキャナを複合機としても使用する場合等)、または、1つのデバイスの機能が複数のデバイスの機能の組合せでも実現される場合(例えば、複写機のコピー機能が、スキャナとプリンタとの組み合わせにも実現される場合等)であっても、業務アプリケーションプログラムには変更を加える必要がない。一方、デバイス制御プログラムは、他のデバイス制御プログラムと連携するか否かに関わらず、管理端末20上の協調エージェントプログラムからのコマンドに応じて処理を実行するだけであるため、デバイス制御プログラムにも変更を加える必要がない。
【0078】
以上においては、すべての接続先プログラムから終了コマンドが発せられたタイミングで、協調エージェントプログラムが終了通知をコマンド発信元プログラムに送信するようにしているが、必ずしも、このようにする必要はない。協調エージェントプログラムが、そのようなタイミングで終了通知を送信しない場合には、協調エージェントプログラムが、例えば、コマンド発信元プログラムからの問い合わせに応じてコマンド終了を通知するようにすれば、コマンド発信元プログラムは、コマンドの実行状態を確認することができる。以下、図12により、このようにする場合について説明する。
【0079】
業務端末上の業務処理部が、S901で受け付けたプロセスIDを含む終了待ちリクエストを、管理端末20Aの協調エージェントプログラムに送信すると(S1200)、管理端末20Aでは、以下の処理が実行される。
【0080】
業務端末からの終了待ちコマンドを通信処理部230が受信すると(S1210)、実行状態管理部214は、その終了待ちコマンド内のプロセスIDと同じ発行プロセスIDに対応付けられたすべての実行状態情報2244を実行状態管理テーブル224で検索する。実行状態管理部214は、その結果得られたすべての実行状態情報2244が「終了」を示しているどうかチェックする(S1211)。
【0081】
その結果、いずれかの実行状態情報が「終了」を示していなければ、実行状態管理部214は、その実行状態情報が「終了」を示すまで待機する(S1212)。このとき、実行状態管理部214が、その実施状態情報に対応付けられた接続先IDが示す接続先プログラムに終了待ち通知を送信するようにしてもよい。この場合には、終了待ち通知を受信した接続先プログラムが待ち状態となる。
【0082】
一方、該当するすべての実行状態情報が「終了」を示していれば、実行状態管理部214は、終了待ちリクエストの送信元に終了待ち完了通知を返す(S1213)。業務端末上の業務処理部は、この終了待ち完了通知の受信(S1201)により、自身が要求した処理の完了を確認することができる。
【0083】
なお、以上においては、業務アプリケーションプログラム100、協調エージェントプログラム200及びデバイス制御プログラム300が個別の端末上で実行されるが、それらのうちの2つ以上が一台の端末上で実行されるようにしてもよい。
【0084】
ところで、以上においては、接続先管理テーブルから取り出されたすべてのプログラムIDを接続先IDとしているが、それらのなかから適当なプログラムIDが送信先IDとして選択されるようにしてもよい。以下、図13及び図9により、本実施の形態に係るデバイス制御システムを金融営業店舗システムに適用した場合を具体例として挙げて、そのようにした場合について説明する。なお、ここでは、業務アプリケーションプログラム100及び協調エージェントプログラム200が一台の端末(業務端末)上で実行される場合を例に挙げる。
【0085】
図13に示すように、本実施の形態に係るデバイス制御システムには、複数のデバイス40、いずれかのデバイスを制御するデバイス制御端末30、前述の業務アプリケーションプログラム110がインストールされた業務端末10A、これらを接続するネットワークを有している。ここでは、業務端末10Aの記憶装置に、前述の協調エージェントプログラム200及び前述のテーブル221〜224と同様なデータ構造のデーブルが格納されている。すなわち、業務端末10Aは、前述の業務処理部100を実現する他、さらに図2の機能構成部を実現する。
【0086】
ここでは、デバイス40として、大型ディスプレイ、携帯電話、オペレータ端末が含まれており、それぞれのデバイスを制御するデバイス制御端末30には、対応するデバイス制御プログラム(大型ディスプレイの画面制御プログラム、携帯電話の画面制御プログラム、または、オペレータ端末の画面制御プログラム)がインストールされている。なお、例えば携帯電話の画面制御プログラムがインストールされたデバイスには、予め、その携帯電話に割り当てられた電話番号またはメールアドレスが登録されていることとする。
【0087】
図9において、業務処理部110が、例えば、機能カテゴリID「情報通知装置」及びメッセージ「順番待ち終了」を含むメッセージ通知コマンドを協調エージェントプログラム200に送信すると(S900)、協調エージェント200は、接続先プログラム及び送信コマンドを決定する(S912)。
【0088】
具体的には、命令変換部211は、メッセージ通知コマンドにセッションIDが含まれているか否かをチェックし(図10のS9121)、その結果に応じた処理によって、接続先ID及び送信コマンドを決定する。ここでは、メッセージ通知コマンドにはセッションIDが含まれないため、命令変換部211は、メッセージ通知コマンド内の機能カテゴリID「情報通知装置」に対応付けられた1以上のプログラムID2212Aを接続先管理テーブル221から取り出す。
【0089】
ここで、複数のプログラムID2212Aが取り出された場合には、命令変換部211は、それらのなかから1のプログラムIDを接続先として選択する。例えば、メッセージ宛先(顧客の識別情報)がメッセージ通知コマンドに含まれている場合には、機能カテゴリID「情報通知装置」に対応付けられた複数のプログラムIDのうち、そのメッセージ宛先が示す顧客の現在位置に最も近いデバイスのデバイス制御プログラムのプログラムIDを送信先IDとして選択する。ただし、この場合には、各デバイスの位置を例えば接続先管理テーブルで管理するとともに、顧客に無線機を携帯させ、管理端末の通信処理部230と通信可能な受信機を店舗内に設置する等、店舗内における顧客の現在位置を検知可能にしておく必要がある。
【0090】
また、メッセージの重要度またはメッセージ宛先(顧客)の重要度を表すステータス情報がメッセージ通知コマンドに含まれている場合には、命令変換部211が、接続先管理テーブル221から取り出されたプログラムIDのなかから、そのステータス情報が表す重要度に応じて送信先IDを選択するようにしてもよい。例えば、重要度が高い場合には、オペレータ端末の画面に表示されたメッセージ「順番待ち終了」をオペレータが顧客に伝えるように、オペレータ端末画面制御プログラムのプログラムIDが送信先IDとして選択され、その他の場合には、メッセージ「順番待ち終了」が顧客の携帯電話の画面に表示されるように、携帯電話画面制御プログラムのプログラムIDが送信先として選択されるようにしてもよい。
【0091】
さらに、命令変換部211は、メッセージ通知コマンドとそれに含まれる機能カテゴリID「情報通知装置」とに対応付けられた送信コマンド2222Bを命令変換テーブル222から取り出す(図10のS9124)。これにより、送信コマンドが決定する。
【0092】
このようにすることにより、店舗内における顧客の位置、メッセージの重要性等に応じて接続先を変更することができる。また、協調エージェントが管理グループ内のデバイスまたはデバイス制御端末の状況(負荷、障害等)を定期的にチェックし、そのチェック結果に基づいて、接続先管理テーブルから取り出されたプログラムIDのなかから接続先を選択してもよい。これにより、例えば、特定のデバイス及び特定のデバイス制御端末への負荷集中、障害が発生したデバイス及びデバイス制御端末への処理依頼等を防止することができる。
【図面の簡単な説明】
【0093】
【図1】本発明の一実施形態に係るデバイス制御システムの全体構成を説明する図である。
【図2】本発明の一実施形態に係る管理端末の機能構成を説明するための図である。
【図3】本発明の一実施形態に係る接続先管理テーブルのデータ構造を説明する図である。
【図4】本発明の一実施形態に係る命令変換テーブルのデータ構造を説明する図である。
【図5】本発明の一実施形態に係るセッション管理テーブルのデータ構造を説明する図である。
【図6】本発明の一実施形態に係る実行状態管理テーブルのデータ構造を説明する図である。
【図7】本発明の一実施形態に係るセッション確立処理のフローチャートである。
【図8】本発明の一実施形態に係るセッション切断処理のフローチャートである。
【図9】本発明の一実施形態に係る命令変換処理のフローチャートである。
【図10】図10のS912において実行される処理の詳細なフローチャートである。
【図11】本発明の一実施形態に係る命令終了処理のフローチャートである。
【図12】本発明の一実施形態に係る終了待ち処理のフローチャートである。
【図13】本発明の他の実施形態に係るデバイス制御システムの全体構成を説明する図である。
【符号の説明】
【0094】
10:業務端末、20:管理端末、30:デバイス制御端末、40:デバイス、100:業務アプリケーションプログラム、200:協調エージェントプログラム、210:命令管理部、211:命令変換部、212:命令連携部、213:セッション管理部、214:実行状態管理部、220:データ記憶部、300:デバイス制御プログラム
【特許請求の範囲】
【請求項1】
第1のデバイスを制御する第1のデバイス制御プログラムと、第2のデバイスを制御する第2のデバイス制御プログラムとを管理する情報処理装置であって、
前記第1のデバイスにより実現される機能を表す第1の機能カテゴリIDには前記第1のデバイス制御プログラムを対応付け、前記第2のデバイスにより実現される機能を表す第2の機能カテゴリIDには前記第2のデバイス制御プログラムを対応付ける接続先管理情報が格納された記憶手段と、
前記第1及び第2のデバイス制御プログラムと通信する通信手段と、
前記第1の機能カテゴリIDを含むセッション確立リクエストを前記通信手段が受け付けた場合には、前記接続先管理情報によって当該セッション確立リクエスト内の前記第1の機能カテゴリIDに対応付けられる前記第1のデバイス制御プログラムにセッション確立コマンドを送信し、前記第2の機能カテゴリIDを含むセッション確立リクエストを前記通信手段が受け付けた場合には、前記接続先管理情報によって当該セッション確立リクエスト内の前記第2の機能カテゴリIDに対応付けられる前記第2のデバイス制御プログラムにセッション確立コマンドを送信する命令管理手段と、
を有することを特徴とする情報処理装置。
【請求項2】
第1のデバイスを制御する第1のデバイス制御プログラムと、第2のデバイスを制御する第2のデバイス制御プログラムとを管理する情報処理装置であって、
前記第1及び第2のデバイスの連携により実現される複合機能を表す機能カテゴリIDに、前記第1のデバイス制御プログラム及び第2のデバイス制御プログラムを対応付ける接続先管理情報が格納された記憶手段と、
前記第1及び第2のデバイス制御プログラムと通信する通信手段と、
前記機能カテゴリIDを含むセッション確立リクエストを前記通信手段が受け付けた場合に、前記接続先管理情報によって当該セッション確立リクエスト内の前記機能カテゴリIDに対応付けられる前記第1及び第2のデバイス制御プログラムにそれぞれセッション確立コマンドを送信する命令管理手段と、
を有することを特徴とする情報処理装置。
【請求項3】
請求項2記載の情報処理装置であって、
前記記憶手段には、前記複合機能に対応する第1の処理の実行を要求する第1の処理要求コマンドに、前記第1のデバイス制御プログラムに与える第1のコマンドと、前記第2のデバイス制御プログラムに与える第2のコマンドとを対応付けるコマンド変換情報がさらに格納され、
前記第1及び第2のデバイス制御プログラムとのセッション確立後に前記第1の処理要求コマンドを前記通信手段が受け付けた場合、前記命令管理手段は、当該第1の処理要求コマンドに対応付けられた前記第1及び第2のコマンドを前記記憶手段から読み出し、当該第1のコマンドを前記第1のデバイス制御プログラムに、当該第2のコマンドを前記第2のデバイス制御プログラムに、前記通信手段を介して出力することを特徴とする情報処理装置。
【請求項4】
請求項2または3記載の情報処理装置であって、
前記セッションの確立後に、前記通信手段が、前記セッション確立リクエストの発行元からのセッション断リクエストをさらに受け付けた場合、前記命令管理手段は、前記第1及び第2のデバイス制御プログラムにそれぞれセッション断コマンドを送信することを特徴とする情報処理装置。
【請求項5】
請求項3記載の情報処理装置であって、
前記コマンド変換情報は、さらに、第2の処理の実行を要求する第2の処理要求コマンドに、当該第2の処理の実行機能を有する第3のデバイスを制御する第3の制御プログラムに与える第3のコマンドを対応付けており、
前記通信手段が前記第2の処理要求コマンドを受け付けた場合、前記命令管理手段は、当該第2の処理要求コマンドに対応付けられた前記第3のコマンドを前記記憶手段から読み出し、当該第3のコマンドを前記第3のデバイス制御プログラムに、前記通信手段を介して出力することを特徴とする情報処理装置。
【請求項6】
請求項3記載の情報処理装置であって、
前記第1のデバイス制御プログラムが第1の機能を有し、前記第2のデバイス制御プログラムが第2の機能を有する場合、前記接続先管理情報には、前記第1の処理要求コマンドに対応付けて、前記第1の機能を表す第1のプログラムカテゴリIDと、前前記第2の機能を表すプログラムカテゴリIDとが含まれ、前記コマンド変換情報には、前記第1のプログラムカテゴリIDに対応付けられた前記第1のコマンドと、前記第2のプログラムカテゴリIDに対応付けられた前記第2のコマンドとが含まれ、
前記セッションの確立後に、前記通信手段が前記第1の処理要求コマンドを受け付けた場合、前記命令管理手段は、前記コマンドに対応付けられた前記第1及び第2のプログラムカテゴリIDを前記接続先管理情報から読み出し、当該第1及び第2のプログラムカテゴリIDに対応付けられた前記第1及び第2のコマンドを前記コマンド変換情報から読み出すことを特徴とする情報処理装置。
【請求項7】
請求項1〜6のうちのいずれか1項に記載の情報処理装置と、
前記第1のデバイスと
前記第2のデバイスと、
前記第1のデバイス制御プログラムを実行する端末と、
前記第2のデバイス制御プログラムを実行する端末と、
を有することを特徴とするデバイス制御システム。
【請求項8】
第1のデバイスを制御する第1のデバイス制御プログラムと、第2のデバイスを制御する第2のデバイス制御プログラムとを情報処理装置に管理させるデバイス制御方法であって、
前記情報処理装置は、
前記第1及び第2のデバイスの連携により実現される複合機能を表す機能カテゴリIDに、前記第1のデバイス制御プログラム及び第2のデバイス制御プログラムを対応付ける接続先管理情報が格納された記憶手段と、
前記第1及び第2のデバイス制御プログラムと通信する通信手段と、
命令管理手段と、
を有し、
当該デバイス制御方法は、
前記機能カテゴリIDを含むセッション確立リクエストを前記通信手段が受け付ける第1の処理と、
前記命令管理手段が、前記接続先管理情報によって当該セッション確立リクエスト内の前記機能カテゴリIDに対応付けられる前記第1及び第2のデバイス制御プログラムにそれぞれセッション確立コマンドを送信する第2の処理と、
を含むことを特徴とするデバイス制御方法。
【請求項9】
請求項8記載のデバイス制御方法であって、
前記複合機能に対応する処理の実行を要求するコマンドに、前記第1のデバイス制御プログラムに与える第1のコマンドと、前記第2のデバイス制御プログラムに与える第2のコマンドとを対応付けるコマンド変換情報が前記記憶手段にさらに格納されている場合に、前記第1の処理において、前記通信手段が、前記第1及び第2のデバイス制御プログラムとのセッション確立後に前記コマンドを受け付けると、前記第2の処理において、前記命令管理手段は、当該コマンドに対応付けられた前記第1及び第2のコマンドを前記記憶手段から読み出し、当該第1のコマンドを前記第1のデバイス制御プログラムに、当該第2のコマンドを前記第2のデバイス制御プログラムに、前記通信手段を介して出力する、
ことを特徴とするデバイス制御方法。
【請求項10】
請求項9記載のデバイス制御方法であって、
前記第1の処理において、前記セッションの確立後に、前記通信手段が、前記セッション確立リクエストの発行元からのセッション断リクエストをさらに受け付けると、前記第2の処理において、前記命令管理手段は、前記第1及び第2のデバイス制御プログラムにそれぞれセッション断コマンドを送信することを特徴とするデバイス制御方法。
【請求項11】
請求項10記載のデバイス制御方法であって、
前記第1のデバイス制御プログラムが第1の機能を有し、前記第2のデバイス制御プログラムが第2の機能を有する場合、前記接続先管理情報には、前記コマンドに対応付けて、前記第1の機能を表す第1のプログラムカテゴリIDと、前前記第2の機能を表すプログラムカテゴリIDとが含まれ、前記コマンド変換情報には、前記第1のプログラムカテゴリIDに対応付けられた前記第1のコマンドと、前記第2のプログラムカテゴリIDに対応付けられた前記第2のコマンドとが含まれており、
前記第1の処理において、前記通信手段が前記コマンドを受け付けた場合、前記第2の処理において、前記命令管理手段は、前記コマンドに対応付けられた前記第1及び第2のプログラムカテゴリIDを前記接続先管理情報から読み出し、当該第1及び第2のプログラムカテゴリIDに対応付けられた前記第1及び第2のコマンドを前記コマンド変換情報から読み出すことを特徴とするデバイス制御方法。
【請求項12】
第1のデバイスを制御する第1のデバイス制御プログラムと、第2のデバイスを制御する第2のデバイス制御プログラムとの管理処理を情報処理装置に実行させるプログラムであって、
前記情報処理装置を、
前記第1及び第2のデバイスの連携により実現される複合機能を表す機能カテゴリIDに、前記第1のデバイス制御プログラム及び第2のデバイス制御プログラムを対応付ける接続先管理情報が格納された記憶手段と、
前記第1及び第2のデバイス制御プログラムと通信する通信手段と、
前記機能カテゴリIDを含むセッション確立リクエストを前記通信手段が受け付けた場合に、前記接続先管理情報によって当該セッション確立リクエスト内の前記機能カテゴリIDに対応付けられる前記第1及び第2のデバイス制御プログラムにそれぞれセッション確立コマンドを送信する命令管理手段と、
をして機能させることを特徴とするプログラム。
【請求項13】
請求項12記載のプログラムであって、
前記複合機能に対応する第1の処理の実行を要求するコマンドに、前記第1のデバイス制御プログラムに与える第1のコマンドと、前記第2のデバイス制御プログラムに与える第2のコマンドとを対応付けるコマンド変換情報が前記記憶手段にさらに格納されている場合において、前記第1及び第2のデバイス制御プログラムとのセッション確立後に前記コマンドを前記通信手段が受け付けると、前記命令管理手段が、当該コマンドに対応付けられた前記第1及び第2のコマンドを前記記憶手段から読み出し、当該第1のコマンドを前記第1のデバイス制御プログラムに、当該第2のコマンドを前記第2のデバイス制御プログラムに、前記通信手段を介して出力する処理を含むことを特徴とするプログラム。
【請求項14】
第1のデバイスを制御する第1のデバイス制御プログラムと、第2のデバイスを制御する第2のデバイス制御プログラムとを管理する情報処理装置であって、
前記第1及び第2のデバイスの共通機能に対応する処理の実行を要求する処理要求コマンドにコマンドを対応付けるコマンド変換情報と、前記共通機能を表す機能カテゴリIDに、前記第1のデバイスの位置情報と前記第2のデバイスの位置情報とを対応付ける接続先管理情報と、が格納された記憶手段と、
ユーザの位置を検出する検出装置と、前記第1及び第2のデバイス制御プログラムとの通信が可能な通信手段と、
前記機能カテゴリIDを含む前記処理要求コマンドを前記通信手段が受け付けた場合に、前記コマンド変換情報によって当該機能カテゴリに対応付けられる前記コマンドを、前記接続先管理情報によって当該セッション確立リクエスト内の前記機能カテゴリIDに対応付けられる位置情報のうち、前記位置検出装置の検出位置に近い位置を示す位置情報のデバイスに対応するデバイス制御プログラムに送信する命令管理手段と、
を有することを特徴とする情報処理装置。
【請求項1】
第1のデバイスを制御する第1のデバイス制御プログラムと、第2のデバイスを制御する第2のデバイス制御プログラムとを管理する情報処理装置であって、
前記第1のデバイスにより実現される機能を表す第1の機能カテゴリIDには前記第1のデバイス制御プログラムを対応付け、前記第2のデバイスにより実現される機能を表す第2の機能カテゴリIDには前記第2のデバイス制御プログラムを対応付ける接続先管理情報が格納された記憶手段と、
前記第1及び第2のデバイス制御プログラムと通信する通信手段と、
前記第1の機能カテゴリIDを含むセッション確立リクエストを前記通信手段が受け付けた場合には、前記接続先管理情報によって当該セッション確立リクエスト内の前記第1の機能カテゴリIDに対応付けられる前記第1のデバイス制御プログラムにセッション確立コマンドを送信し、前記第2の機能カテゴリIDを含むセッション確立リクエストを前記通信手段が受け付けた場合には、前記接続先管理情報によって当該セッション確立リクエスト内の前記第2の機能カテゴリIDに対応付けられる前記第2のデバイス制御プログラムにセッション確立コマンドを送信する命令管理手段と、
を有することを特徴とする情報処理装置。
【請求項2】
第1のデバイスを制御する第1のデバイス制御プログラムと、第2のデバイスを制御する第2のデバイス制御プログラムとを管理する情報処理装置であって、
前記第1及び第2のデバイスの連携により実現される複合機能を表す機能カテゴリIDに、前記第1のデバイス制御プログラム及び第2のデバイス制御プログラムを対応付ける接続先管理情報が格納された記憶手段と、
前記第1及び第2のデバイス制御プログラムと通信する通信手段と、
前記機能カテゴリIDを含むセッション確立リクエストを前記通信手段が受け付けた場合に、前記接続先管理情報によって当該セッション確立リクエスト内の前記機能カテゴリIDに対応付けられる前記第1及び第2のデバイス制御プログラムにそれぞれセッション確立コマンドを送信する命令管理手段と、
を有することを特徴とする情報処理装置。
【請求項3】
請求項2記載の情報処理装置であって、
前記記憶手段には、前記複合機能に対応する第1の処理の実行を要求する第1の処理要求コマンドに、前記第1のデバイス制御プログラムに与える第1のコマンドと、前記第2のデバイス制御プログラムに与える第2のコマンドとを対応付けるコマンド変換情報がさらに格納され、
前記第1及び第2のデバイス制御プログラムとのセッション確立後に前記第1の処理要求コマンドを前記通信手段が受け付けた場合、前記命令管理手段は、当該第1の処理要求コマンドに対応付けられた前記第1及び第2のコマンドを前記記憶手段から読み出し、当該第1のコマンドを前記第1のデバイス制御プログラムに、当該第2のコマンドを前記第2のデバイス制御プログラムに、前記通信手段を介して出力することを特徴とする情報処理装置。
【請求項4】
請求項2または3記載の情報処理装置であって、
前記セッションの確立後に、前記通信手段が、前記セッション確立リクエストの発行元からのセッション断リクエストをさらに受け付けた場合、前記命令管理手段は、前記第1及び第2のデバイス制御プログラムにそれぞれセッション断コマンドを送信することを特徴とする情報処理装置。
【請求項5】
請求項3記載の情報処理装置であって、
前記コマンド変換情報は、さらに、第2の処理の実行を要求する第2の処理要求コマンドに、当該第2の処理の実行機能を有する第3のデバイスを制御する第3の制御プログラムに与える第3のコマンドを対応付けており、
前記通信手段が前記第2の処理要求コマンドを受け付けた場合、前記命令管理手段は、当該第2の処理要求コマンドに対応付けられた前記第3のコマンドを前記記憶手段から読み出し、当該第3のコマンドを前記第3のデバイス制御プログラムに、前記通信手段を介して出力することを特徴とする情報処理装置。
【請求項6】
請求項3記載の情報処理装置であって、
前記第1のデバイス制御プログラムが第1の機能を有し、前記第2のデバイス制御プログラムが第2の機能を有する場合、前記接続先管理情報には、前記第1の処理要求コマンドに対応付けて、前記第1の機能を表す第1のプログラムカテゴリIDと、前前記第2の機能を表すプログラムカテゴリIDとが含まれ、前記コマンド変換情報には、前記第1のプログラムカテゴリIDに対応付けられた前記第1のコマンドと、前記第2のプログラムカテゴリIDに対応付けられた前記第2のコマンドとが含まれ、
前記セッションの確立後に、前記通信手段が前記第1の処理要求コマンドを受け付けた場合、前記命令管理手段は、前記コマンドに対応付けられた前記第1及び第2のプログラムカテゴリIDを前記接続先管理情報から読み出し、当該第1及び第2のプログラムカテゴリIDに対応付けられた前記第1及び第2のコマンドを前記コマンド変換情報から読み出すことを特徴とする情報処理装置。
【請求項7】
請求項1〜6のうちのいずれか1項に記載の情報処理装置と、
前記第1のデバイスと
前記第2のデバイスと、
前記第1のデバイス制御プログラムを実行する端末と、
前記第2のデバイス制御プログラムを実行する端末と、
を有することを特徴とするデバイス制御システム。
【請求項8】
第1のデバイスを制御する第1のデバイス制御プログラムと、第2のデバイスを制御する第2のデバイス制御プログラムとを情報処理装置に管理させるデバイス制御方法であって、
前記情報処理装置は、
前記第1及び第2のデバイスの連携により実現される複合機能を表す機能カテゴリIDに、前記第1のデバイス制御プログラム及び第2のデバイス制御プログラムを対応付ける接続先管理情報が格納された記憶手段と、
前記第1及び第2のデバイス制御プログラムと通信する通信手段と、
命令管理手段と、
を有し、
当該デバイス制御方法は、
前記機能カテゴリIDを含むセッション確立リクエストを前記通信手段が受け付ける第1の処理と、
前記命令管理手段が、前記接続先管理情報によって当該セッション確立リクエスト内の前記機能カテゴリIDに対応付けられる前記第1及び第2のデバイス制御プログラムにそれぞれセッション確立コマンドを送信する第2の処理と、
を含むことを特徴とするデバイス制御方法。
【請求項9】
請求項8記載のデバイス制御方法であって、
前記複合機能に対応する処理の実行を要求するコマンドに、前記第1のデバイス制御プログラムに与える第1のコマンドと、前記第2のデバイス制御プログラムに与える第2のコマンドとを対応付けるコマンド変換情報が前記記憶手段にさらに格納されている場合に、前記第1の処理において、前記通信手段が、前記第1及び第2のデバイス制御プログラムとのセッション確立後に前記コマンドを受け付けると、前記第2の処理において、前記命令管理手段は、当該コマンドに対応付けられた前記第1及び第2のコマンドを前記記憶手段から読み出し、当該第1のコマンドを前記第1のデバイス制御プログラムに、当該第2のコマンドを前記第2のデバイス制御プログラムに、前記通信手段を介して出力する、
ことを特徴とするデバイス制御方法。
【請求項10】
請求項9記載のデバイス制御方法であって、
前記第1の処理において、前記セッションの確立後に、前記通信手段が、前記セッション確立リクエストの発行元からのセッション断リクエストをさらに受け付けると、前記第2の処理において、前記命令管理手段は、前記第1及び第2のデバイス制御プログラムにそれぞれセッション断コマンドを送信することを特徴とするデバイス制御方法。
【請求項11】
請求項10記載のデバイス制御方法であって、
前記第1のデバイス制御プログラムが第1の機能を有し、前記第2のデバイス制御プログラムが第2の機能を有する場合、前記接続先管理情報には、前記コマンドに対応付けて、前記第1の機能を表す第1のプログラムカテゴリIDと、前前記第2の機能を表すプログラムカテゴリIDとが含まれ、前記コマンド変換情報には、前記第1のプログラムカテゴリIDに対応付けられた前記第1のコマンドと、前記第2のプログラムカテゴリIDに対応付けられた前記第2のコマンドとが含まれており、
前記第1の処理において、前記通信手段が前記コマンドを受け付けた場合、前記第2の処理において、前記命令管理手段は、前記コマンドに対応付けられた前記第1及び第2のプログラムカテゴリIDを前記接続先管理情報から読み出し、当該第1及び第2のプログラムカテゴリIDに対応付けられた前記第1及び第2のコマンドを前記コマンド変換情報から読み出すことを特徴とするデバイス制御方法。
【請求項12】
第1のデバイスを制御する第1のデバイス制御プログラムと、第2のデバイスを制御する第2のデバイス制御プログラムとの管理処理を情報処理装置に実行させるプログラムであって、
前記情報処理装置を、
前記第1及び第2のデバイスの連携により実現される複合機能を表す機能カテゴリIDに、前記第1のデバイス制御プログラム及び第2のデバイス制御プログラムを対応付ける接続先管理情報が格納された記憶手段と、
前記第1及び第2のデバイス制御プログラムと通信する通信手段と、
前記機能カテゴリIDを含むセッション確立リクエストを前記通信手段が受け付けた場合に、前記接続先管理情報によって当該セッション確立リクエスト内の前記機能カテゴリIDに対応付けられる前記第1及び第2のデバイス制御プログラムにそれぞれセッション確立コマンドを送信する命令管理手段と、
をして機能させることを特徴とするプログラム。
【請求項13】
請求項12記載のプログラムであって、
前記複合機能に対応する第1の処理の実行を要求するコマンドに、前記第1のデバイス制御プログラムに与える第1のコマンドと、前記第2のデバイス制御プログラムに与える第2のコマンドとを対応付けるコマンド変換情報が前記記憶手段にさらに格納されている場合において、前記第1及び第2のデバイス制御プログラムとのセッション確立後に前記コマンドを前記通信手段が受け付けると、前記命令管理手段が、当該コマンドに対応付けられた前記第1及び第2のコマンドを前記記憶手段から読み出し、当該第1のコマンドを前記第1のデバイス制御プログラムに、当該第2のコマンドを前記第2のデバイス制御プログラムに、前記通信手段を介して出力する処理を含むことを特徴とするプログラム。
【請求項14】
第1のデバイスを制御する第1のデバイス制御プログラムと、第2のデバイスを制御する第2のデバイス制御プログラムとを管理する情報処理装置であって、
前記第1及び第2のデバイスの共通機能に対応する処理の実行を要求する処理要求コマンドにコマンドを対応付けるコマンド変換情報と、前記共通機能を表す機能カテゴリIDに、前記第1のデバイスの位置情報と前記第2のデバイスの位置情報とを対応付ける接続先管理情報と、が格納された記憶手段と、
ユーザの位置を検出する検出装置と、前記第1及び第2のデバイス制御プログラムとの通信が可能な通信手段と、
前記機能カテゴリIDを含む前記処理要求コマンドを前記通信手段が受け付けた場合に、前記コマンド変換情報によって当該機能カテゴリに対応付けられる前記コマンドを、前記接続先管理情報によって当該セッション確立リクエスト内の前記機能カテゴリIDに対応付けられる位置情報のうち、前記位置検出装置の検出位置に近い位置を示す位置情報のデバイスに対応するデバイス制御プログラムに送信する命令管理手段と、
を有することを特徴とする情報処理装置。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【公開番号】特開2007−79921(P2007−79921A)
【公開日】平成19年3月29日(2007.3.29)
【国際特許分類】
【出願番号】特願2005−266679(P2005−266679)
【出願日】平成17年9月14日(2005.9.14)
【出願人】(504373093)日立オムロンターミナルソリューションズ株式会社 (1,225)
【Fターム(参考)】
【公開日】平成19年3月29日(2007.3.29)
【国際特許分類】
【出願日】平成17年9月14日(2005.9.14)
【出願人】(504373093)日立オムロンターミナルソリューションズ株式会社 (1,225)
【Fターム(参考)】
[ Back to top ]