(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-05-07
(45)【発行日】2025-05-15
(54)【発明の名称】デバイス制御装置及びプログラム
(51)【国際特許分類】
H04L 67/1004 20220101AFI20250508BHJP
【FI】
H04L67/1004
(21)【出願番号】P 2021017593
(22)【出願日】2021-02-05
【審査請求日】2023-11-14
(73)【特許権者】
【識別番号】000003562
【氏名又は名称】東芝テック株式会社
(74)【代理人】
【識別番号】110003708
【氏名又は名称】弁理士法人鈴榮特許綜合事務所
(74)【代理人】
【識別番号】100108855
【氏名又は名称】蔵田 昌俊
(74)【代理人】
【識別番号】100103034
【氏名又は名称】野河 信久
(74)【代理人】
【識別番号】100179062
【氏名又は名称】井上 正
(74)【代理人】
【識別番号】100075672
【氏名又は名称】峰 隆司
(74)【代理人】
【識別番号】100153051
【氏名又は名称】河野 直樹
(74)【代理人】
【識別番号】100162570
【氏名又は名称】金子 早苗
(72)【発明者】
【氏名】箕浦 悠介
【審査官】田中 秀樹
(56)【参考文献】
【文献】特開2009-020898(JP,A)
【文献】特開2020-160793(JP,A)
【文献】特開平05-193202(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 12/00-12/66
H04L 41/00-101/695
(57)【特許請求の範囲】
【請求項1】
デバイスインターフェースを介して少なくとも1つのデバイスをローカル接続する2台以上のデバイス制御装置と、いずれか1台の前記デバイス制御装置に対して、当該デバイス制御装置に接続された前記デバイスの利用要求信号を出力する1台以上のクライアント端末とを、ネットワークで接続してなるデバイス制御システムの前記デバイス制御装置であって、
前記クライアント端末からの
前記利用要求信号に応じて
、前記デバイスインターフェースに接続された前記デバイスが故障中でなく動作中でもない場合に当該デバイスを動作させる第1制御部と、
前記第1制御部の制御により動作中の前記デバイスの故障を検出する検出部と、
前記検出部により前記動作中のデバイスに故障が検出されると、前記ネットワークを介して接続される他のデバイス制御装置に前記クライアント端末からの
前記利用要求信号を転送する転送部と、
前記ネットワークを介して接続された他のデバイス制御装置から
前記利用要求信号を受信すると、
前記デバイスインターフェースに接続された前記デバイスが故障中でなく動作中でもない場合に当該デバイスを動作させる第2制御部と、
を具備するデバイス制御装置。
【請求項2】
前記第2制御部の制御による前記デバイスの動作が完了すると、
前記利用要求信号を転送した前記他のデバイス制御装置に前記デバイスの動作完了通知を送信する第1通知部と、
前記利用要求信号を転送した前記他のデバイス制御装置から前記デバイスの動作完了通知を受信すると、当該他のデバイス制御装置を特定する情報とともに前記デバイスの動作完了通知を、
前記利用要求信号を出力した前記クライアント端末に送信する第2通知部と、
をさらに具備する請求項1記載のデバイス制御装置。
【請求項3】
前記検出部により故障が検出された前記デバイスが復旧した際に、前記第1制御部の制御による前記デバイスの動作
が無効であることを示す復旧処理を実行する復旧処理部、
をさらに具備する請求項1又は2記載のデバイス制御装置。
【請求項4】
前記ネットワークを介して少なくとも3台以上のデバイス制御装置が接続されており、
前記検出部により動作中のデバイスに故障が検出されると、少なくとも2台の他のデバイス制御装置のなかから定められた条件を満足する1台のデバイス制御装置を決定する決定部、
をさらに具備し、
前記転送部は、前記決定部で決定された前記他のデバイス制御装置に前記クライアント端末からの
前記利用要求信号を転送する、請求項1乃至3のうちいずれか1項記載のデバイス制御装置。
【請求項5】
前記決定部は、
少なくとも2台の他のデバイス制御装置のなかから定められた条件を満足する
として決定した1台のデバイス制御装置
の制御下にある前記デバイスが
故障中である場合、別のデバイス制御装置を決定する、請求項4記載のデバイス制御装置。
【請求項6】
デバイスインターフェースを介して少なくとも1つのデバイスをローカル接続する2台以上のデバイス制御装置と、いずれか1台の前記デバイス制御装置に対して、当該デバイス制御装置に接続された前記デバイスの利用要求信号を出力する1台以上のクライアント端末とを、ネットワークで接続してなるデバイス制御システムにおける前記デバイス制御装置のコンピュータを、
前記クライアント端末からの
前記利用要求信号に応じて
、前記デバイスインターフェースに接続された前記デバイスが故障中でなく動作中でもない場合に当該デバイスを動作させる第1制御手段、
前記第1制御手段の制御により動作中の前記デバイスの故障を検出する検出手段、
前記検出手段により前記動作中のデバイスに故障が検出されると、前記ネットワークを介して接続される他のデバイス制御装置に前記クライアント端末からの
前記利用要求信号を転送する転送手段、及び、
前記ネットワークを介して接続された他のデバイス制御装置から
前記利用要求信号を受信すると、
前記デバイスインターフェースに接続された前記デバイスが故障中でなく動作中でもない場合に当該デバイスを動作させる第2制御手段、
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、デバイス制御装置及びコンピュータをデバイス制御装置として機能させるためのプログラムに関する。
【背景技術】
【0002】
近年、プリンタ、ディスプレイ、スキャナ等のコンピュータ周辺機器、いわゆるデバイスをローカル接続したデバイス制御装置をネットワークに接続し、複数のクライアント端末がネットワーク経由でデバイス制御装置に接続されたデバイスを共用するデバイス制御システムが普及している。デバイス制御システムは、クライアント端末の台数と比較してデバイスの台数を少なくできるので、設備コストを削減できる等の利点がある。
【0003】
従来のデバイス制御システムにおいては、クライアント端末が利用しようとしたデバイスに故障が発生した場合、そのデバイスを制御するデバイス制御装置からクライアント端末にエラーが返ってくる。このため、エラーを確認したクライアント端末は、例えば別のデバイス制御装置を指定してデバイスの利用を要求することとなり、負荷が大きい。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
本発明の実施形態が解決しようとする課題は、制御下にあるデバイスを利用するクライアント端末の負荷を軽減できるデバイス制御装置及びそのプログラムを提供しようとするものである。
【課題を解決するための手段】
【0006】
一実施形態において、デバイス制御装置は、通信インターフェースと、デバイスインターフェースと、第1制御部と、検出部と、転送部と、第2制御部とを備える。通信インターフェースは、ネットワークを介して1以上のクライアント端末と接続する。デバイスインターフェースは、少なくとも1つのデバイスとローカル接続する。第1制御部は、クライアント端末からのデバイス利用要求に応じてデバイスを動作させる。検出部は、デバイスの故障を検出する。転送部は、第1制御部の制御により動作中のデバイスに故障が検出されると、ネットワークを介して接続される他のデバイス制御装置にクライアント端末からのデバイス利用要求を転送する。第2制御部は、通信インターフェースを介して他のデバイス制御装置からデバイス利用要求を受信すると、その要求に応じてデバイスを動作させる。
【図面の簡単な説明】
【0007】
【
図1】一実施形態に係るデバイス制御システムの概略構成図。
【
図2】デバイスサーバの要部回路構成を示すブロック図。
【
図3】クライアント端末とデバイスサーバとの間で授受される主要な信号のシーケンス図。
【
図4】クライアント端末とデバイスサーバとの間で授受される主要な信号のシーケンス図。
【
図5】デバイスサーバのプロセッサが制御プログラムに従って実行する主要な情報処理の手順を示す流れ図。
【
図6】デバイスサーバのプロセッサが制御プログラムに従って実行する主要な情報処理の手順を示す流れ図。
【
図7】デバイスサーバのプロセッサが制御プログラムに従って実行する主要な情報処理の手順を示す流れ図。
【
図8】デバイスサーバのプロセッサが制御プログラムに従って実行する主要な情報処理の手順を示す流れ図。
【発明を実施するための形態】
【0008】
以下、デバイス制御装置及びそのプログラムの一実施形態について、図面を用いて説明する。
【0009】
[デバイス制御システムの説明]
図1は、一実施形態に係るデバイス制御システム100の概略構成図である。デバイス制御システム100は、アクセスポイント10とデバイスサーバ20とをネットワークNWに接続してなる。ネットワークNWは、インターネット、WAN(Wide Area Network)又はLAN(Local Area Network)である。ネットワークNWは、有線回線であってもよいし、無線回線であってもよい。ネットワークNWは、有線回線と無線回線とが混在していてもよい。
【0010】
アクセスポイント10は、ネットワークNWに接続されるデバイスサーバ20と、1以上のクライアント端末30と間で、無線LANを通じてデータ通信を行う際の中継拠点として要所に設置された通信設備である。無線LANは、例えばWi-Fi(登録商標)の規格に準拠したものである。なお、
図1では、アクセスポイント10を1つのみ示しているが、アクセスポイント10の数は、1つに限定されない。施設の規模、レイアウト等を考慮して2以上のアクセスポイント10をネットワークNWに接続してもよい。
【0011】
デバイスサーバ20は、コンピュータ周辺機器いわゆるデバイスをローカル接続して制御するコンピュータ機器である。デバイスサーバ20は、デバイス制御装置の一態様である。デバイス制御システム100は、2台以上のデバイスサーバ20をネットワークNWに接続してなる。本実施形態では、3台のデバイスサーバ20がネットワークNWに接続されている。以下では、必要に応じて3台のデバイスサーバ20を、デバイスサーバ201、デバイスサーバ202、デバイスサーバ203と表す。
【0012】
各デバイスサーバ20は、それぞれデバイスをローカル接続して制御する。各デバイスサーバ20が制御するデバイスは、1種類に限定されない。各デバイスサーバ20は、それぞれ2種類以上のデバイスをローカル接続して制御してもよい。本実施形態では、各デバイスサーバ20がそれぞれデバイスA、デバイスB及びデバイスCの3台をローカル接続して制御する場合を例示する。例えば、デバイスAはプリンタであり、デバイスBはICカードリーダであり、デバイスCは自動釣銭機である。なお、デバイスの種類は、上記の3種類に限定されるものではない。
【0013】
クライアント端末30は、ネットワークNWを介して接続されるデバイスサーバ20に処理を依頼し、また、デバイスサーバ20からサービスを受けることが可能なコンピュータ端末である。クライアント端末30は、パブリッシュ・サブスクライブ方式でデバイスサーバ20にメッセージを送受信することが可能な端末である。クライアント端末30は、入力デバイスと表示デバイスとを備える。またクライアント端末30は、無線回路を内蔵する。例えばタブレット端末、スマートフォン、ノートパソコン等がクライアント端末30となり得る。また、クライアント端末30は、据置型のコンピュータ端末であってもよい。
【0014】
[デバイスサーバの説明]
図2は、デバイスサーバ20の要部回路構成を示すブロック図である。デバイスサーバ20は、プロセッサ21、メインメモリ22、補助記憶デバイス23、通信インターフェース24、複数のデバイスインターフェース25,26,27及びシステムバス28を備える。そしてデバイスサーバ20は、システムバス28に、プロセッサ21、メインメモリ22、補助記憶デバイス23、通信インターフェース24及び各デバイスインターフェース25,26,27を直接又は信号入出力回路を介して接続する。かくしてデバイスサーバ20は、プロセッサ21、メインメモリ22及び補助記憶デバイス23と、これらを接続するシステムバス28とによってコンピュータを構成する。
【0015】
プロセッサ21は、上記コンピュータの中枢部分に相当する。プロセッサ21は、オペレーティングシステム、アプリケーションプログラム等に従って、デバイスサーバ20としての各種の機能を実現するべく各部を制御する。プロセッサ21は、例えばCPU(Central Processing Unit)である。
【0016】
メインメモリ22は、上記コンピュータの主記憶部分に相当する。メインメモリ22は、不揮発性のメモリ領域と揮発性のメモリ領域とを含む。メインメモリ22は、不揮発性のメモリ領域ではオペレーティングシステム、アプリケーションプログラム等のプログラムを記憶する。またメインメモリ22は、プロセッサ21が各部を制御するための処理を実行する上で必要なデータを不揮発性又は揮発性のメモリ領域で記憶する場合もある。メインメモリ22は、揮発性のメモリ領域を、プロセッサ21によってデータが適宜書き換えられるワークエリアとして使用する。不揮発性のメモリ領域は、例えばROM(Read Only Memory)である。揮発性のメモリ領域は、例えばRAM(Random Access Memory)である。
【0017】
補助記憶デバイス23は、上記コンピュータの補助記憶部分に相当する。例えばEEPROM(Electric Erasable Programmable Read-Only Memory)、HDD(Hard Disc Drive)、あるいはSSD(Solid State Drive)等が補助記憶デバイス23として使用される。補助記憶デバイス23は、プロセッサ21が各種の処理を行う上で使用するデータ、又はプロセッサ21での処理によって生成されたデータを保存する。補助記憶デバイス23は、上記のアプリケーションプログラムを記憶する場合もある。
【0018】
通信インターフェース24は、ネットワークNWを接続する。通信インターフェース24は、ネットワークNWに接続された他の機器と所定の通信プロトコルに従いデータ通信を行う。他の機器は、典型的には、アクセスポイント10を介して接続されるクライアント端末30と、他のデバイスサーバ20である。他の機器は、クライアント端末30又は他のデバイスサーバ20以外の機器も含む。
【0019】
各デバイスインターフェース25,26,27は、それぞれデバイスA,デバイスB及びデバイスCを接続する。例えばデバイスインターフェース25は、デバイスAを通信ケーブルで接続し、デバイスインターフェース26は、デバイスBを通信ケーブルで接続し、デバイスインターフェース27は、デバイスCを通信ケーブルで接続する。なお、デバイスA,デバイスB及びデバイスCは、デバイスサーバ20に外付けされていてもよいし、デバイスサーバ20に内蔵されていてもよい。
【0020】
デバイスサーバ20は、メインメモリ22の不揮発性メモリ領域でサーバIDを記憶している。サーバIDは、各デバイスサーバ20を個々に識別するためにデバイスサーバ20毎に一意に設定された識別情報である。
【0021】
デバイスサーバ20は、補助記憶デバイス23の記憶領域の一部を代替テーブル231の領域としている。代替テーブル231は、他のデバイスサーバ20のサーバIDを優先順位の高い順に記憶するようにしたデータテーブルである。本実施形態では、自デバイスサーバ20に対して物理的な距離が近い順に他のデバイスサーバ20の優先順位を定める。
【0022】
例えば、デバイスサーバ201に対しては、デバイスサーバ202の方がデバイスサーバ203よりも物理的な距離が近い場合、デバイスサーバ201の代替テーブル231には、優先順位1位の代替IDとしてデバイスサーバ202のサーバIDが設定され、優先順位2位の代替IDとしてデバイスサーバ203のサーバIDが設定される。例えば、デバイスサーバ202に対しては、デバイスサーバ203の方がデバイスサーバ201よりも物理的な距離が近い場合、デバイスサーバ202の代替テーブル231には、優先順位1位の代替IDとしてデバイスサーバ203のサーバIDが設定され、優先順位2位の代替IDとしてデバイスサーバ201のサーバIDが設定される。この場合、デバイスサーバ203については、デバイスサーバ202の方がデバイスサーバ201よりも物理的な距離が近いので、デバイスサーバ203の代替テーブル231には、優先順位1位の代替IDとしてデバイスサーバ202のサーバIDが設定され、優先順位2位の代替IDとしてデバイスサーバ201のサーバIDが設定される。
【0023】
デバイスサーバ20は、プロセッサ21が、第1制御部211、検出部212、決定部213、転送部214、第2制御部215、第1通知部216、第2通知部217及び復旧処理部218としての機能を有するように、制御プログラムを実装している。
【0024】
制御プログラムは、例えば補助記憶デバイス23にインストールされている。制御プログラムは、例えばメインメモリ22にインストールされていてもよい。制御プログラムをメインメモリ22又は補助記憶デバイス23にインストールする方法は特に限定されない。リムーバブルな記録媒体に制御プログラムを記録して、あるいはネットワークを介した通信により制御プログラムを配信して、メインメモリ22又は補助記憶デバイス23にインストールすることができる。記録媒体は、CD-ROM、メモリカード等のようにプログラムを記憶でき、かつ装置が読み取り可能であれば、その形態は問わない。
【0025】
第1制御部211は、通信インターフェース24を介してクライアント端末30からデバイス利用要求の信号を受信すると、デバイスインターフェース25,26又は27を制御して、利用対象のデバイスを要求に応じて動作させる機能である。第1制御部211は、第1制御手段と言い換えることができる。
【0026】
検出部212は、第1制御部211の機能により動作中のデバイスの故障を検出する機能である。例えばデバイスがプリンタの場合、用紙ジャムエラー、用紙切れエラー等がデバイス動作中の故障として検出される。例えばデバイスが自動釣銭機の場合、硬貨詰まりエラー、釣銭硬貨切れエラー等がデバイス動作中の故障として検出される。検出部212は、検出手段と言い換えることができる。
【0027】
決定部213は、検出部212の機能により動作中のデバイスに故障が検出されると、他のデバイスサーバ20のなかから定められた条件を満足する1台のデバイスサーバ20を決定する機能である。定められた条件は、例えば、物理的な距離の短さである。本実施形態では、前述したように、自デバイスサーバ20に対して物理的な距離が近い順に他のデバイスサーバ20の優先順位を定め、代替テーブル231において、優先順位の高い順に他のデバイスサーバ20のサーバIDを設定している。したがって決定部213は、先ず、優先順位が1位のデバイスサーバ20を決定する。そして、このデバイスサーバ20においてデバイスが利用不可の場合、優先順位2位のデバイスサーバ20を決定する。因みに、デバイスが既に動作中の場合、あるいは故障中の場合、そのデバイスは利用不可となる。また、そのデバイスがデバイスサーバ20の制御下に置かれていない場合も、デバイスは利用不可となる。決定部213は、決定手段と言い換えることができる。
【0028】
転送部214は、検出部212の機能により動作中のデバイスに故障が検出され、決定部213により定められた条件を満足する1台のデバイスサーバ20が決定されると、ネットワークNWを介してそのデバイスサーバ20にクライアント端末30からのデバイス利用要求の信号を転送する機能である。転送部214は、転送手段と言い換えることができる。
【0029】
第2制御部215は、ネットワークNWを介して他のデバイスサーバ20からデバイス利用要求の信号を受信すると、該当するデバイスが接続されたデバイスインターフェース25,26又は27を制御して、当該デバイスを要求に応じて動作させる機能である。第2制御部215は、第2制御手段と言い換えることができる。
【0030】
第1通知部216は、第2制御部215の制御によるデバイスの動作が完了すると、ネットワークNWを介して、デバイス利用要求の信号転送元である他のデバイスサーバ20にデバイスの動作完了通知を示す信号を送信する機能である。第1通知部216は、第1通知手段と言い換えることができる。
【0031】
第2通知部217は、ネットワークNWを介して他のデバイスサーバ20からデバイスの動作完了通知を示す信号を受信すると、当該他のデバイスサーバ20を特定する情報として例えばサーバIDとともにデバイスの動作完了通知を示す信号を、ネットワークNWを介してクライアント端末30に送信する機能である。第2通知部217は、第2通知手段と言い換えることができる。
【0032】
このように、動作完了通知を示す信号とともにデバイスの動作が完了したデバイスサーバ20を特定する情報を送信することにより、この情報を受信したクライアント端末30においては、デバイス利用要求を行ったデバイスサーバ20とは異なる他のデバイスサーバ20の制御下にあるデバイスで要求に応じた処理が実行されたことを認識できる。そしてクライアント端末30が、他のデバイスサーバ20を特定可能な情報を表示デバイスに表示することで、クライアント端末30のユーザは、利用する予定のデバイスと異なるデバイスで要求に応じた処理が実行されたことを知り得る。
【0033】
復旧処理部218は、故障が検出されたデバイスが復旧した際に、第1制御部211の制御によるデバイスの動作を無効にするための復旧処理を実行する機能である。復旧処理部218は、復旧処理手段と言い換えることができる。
【0034】
例えばプリンタで用紙ジャムエラー又は用紙切れエラー等が発生した場合、プリンタの印刷バッファにはエラーとなる前にデバイスサーバ20から受け取った印刷データが記憶されている。その状態でプリンタが故障から復旧すると、その印刷データが印刷されるおそれがある。そこでデバイスサーバ20は、印刷バッファがクリアされるようにプリンタを制御する。また、プリンタにおいては、エラーが発生する前の印刷物が残っている場合がある。そこでデバイスサーバ20は、直前の印刷物が無効であることを示す印刷が行われるようにプリンタを制御する。このような制御を実行する処理が、プリンタに対する復旧処理となる。
【0035】
例えば自動釣銭機で硬貨詰まりエラー又は釣銭硬貨切れエラー等が発生した場合、自動釣銭機のデータバッファにはエラーとなる前にデバイスサーバ20から受け取った釣銭データが記憶されている。その状態で自動釣銭機が故障から復旧すると、その釣銭データに従って釣銭が払い出されるおそれがある。そこでデバイスサーバ20は、釣銭バッファがクリアされるように自動釣銭機を制御する。また、自動釣銭機においては、エラーが発生する前に払い出された硬貨又は紙幣が残っている場合がある。そこでデバイスサーバ20は、直前の払出し硬貨又は紙幣が無効であることを示す警告が表示又は音声で行われるように自動釣銭機を制御する。このような制御を実行する処理が、自動釣銭機に対する復旧処理となる。
【0036】
[デバイスサーバの動作説明]
図3及び
図4は、クライアント端末30とデバイスサーバ20との間で授受される主要な信号のシーケンス図である。
図5乃至
図8は、デバイスサーバ20のプロセッサ21が、制御プログラムに従って実行する主要な情報処理の手順を示す流れ図である。以下、各部を用いて、デバイスサーバ20の動作を説明する。なお、シーケンス図及び流れ図は一例を示すものである。同様な作用効果を奏するのであれば、そのシーケンス又は手順は適宜変更できる。
【0037】
ここで、説明の便宜上、クライアント端末30は、POS(Point Of Sales)アプリケーションプログラムを実装したタブレット端末とする。そしてこのクライアント端末30において商取引が決済され、取引内容を示すレシートを発行する場合を想定する。この場合、クライアント端末30は、いずれか1台のデバイスサーバ、例えばデバイスサーバ201に対し、印刷要求を行う。この要求を受けて、デバイスサーバ201は、例えばデバイスインターフェース25に接続されたプリンタを制御してレシートを印刷させる。
【0038】
図3は、クライアント端末30からの要求(印刷要求)に対して、デバイスサーバ201の制御下にあるデバイス(プリンタ)が正常に動作した場合のシーケンス図である。先ず、クライアント端末30は、デバイスサーバ201に対し、デバイス利用要求の信号として印刷要求信号SAを送信する。印刷要求信号SAは、ネットワークNWを通じてデバイスサーバ201に送られる。印刷要求信号SAには、印刷データが含まれている。
【0039】
デバイスサーバ201は、印刷要求信号SAに応じて、デバイスインターフェース25からプリンタに対して問合せ信号SBaを出力する。この問合せ信号SBaを受けたプリンタは、問い合わせに対する応答信号SCaをデバイスサーバ201に出力する。具体的にはプリンタは、故障中でなく動作中でもない場合、許諾の応答信号SCaを出力する。プリンタは、故障中若しくは動作中の場合には、エラーの応答信号SCaを出力する。
【0040】
デバイスサーバ201は、プリンタからエラーの応答信号SCaを受けた場合には、印刷要求信号SAの送信元であるクライアント端末30に要求失敗の応答信号SHaを送信する。
【0041】
デバイスサーバ201は、プリンタから許諾の応答信号SCaを受けた場合、デバイスインターフェース25からプリンタに対して印刷メソッドの信号SDaを出力する。印刷メソッドの信号SDaには、印刷データが含まれる。プリンタは、処理PAaとして印刷データを印刷バッファに格納する。そしてプリンタは、印刷バッファに印刷データを格納し終えると、印字開始のイベント通知信号SEaをデバイスサーバ201に出力する。またプリンタは、処理PBaとして印刷バッファに格納した印刷データの印刷を実行する。
【0042】
プリンタは、印刷を正常に終了すると、印刷終了のイベント通知信号SFaをデバイスサーバ201に出力する。このイベント通知信号SFaを受けて、デバイスサーバ201は、印刷要求信号SAの送信元であるクライアント端末30に要求成功の応答信号SGaを送信する。
【0043】
要求成功の応答信号SGaを受信したクライアント端末30は、デバイスサーバ201の制御下にあるプリンタで印刷が実行されたことを報知する。したがって、クライアント端末30のユーザは、デバイスサーバ201の制御下にあるプリンタからレシートが印刷されたことを知り得る。
【0044】
以上が、クライアント端末30からの要求(印刷要求)に対して、デバイスサーバ201の制御下にあるデバイス(プリンタ)が正常に動作した場合のシーケンスである。
【0045】
図4は、クライアント端末30からの要求(印刷要求)に対して、デバイスサーバ201の制御下にあるデバイス(プリンタ)に動作中に故障した場合のシーケンス図である。なお、
図4において、信号SA、信号SBa、信号SCa、信号SDa、信号SEa、信号SHa、処理PAa及び処理PBaは、
図3を用いて説明した同一符号の信号または処理と同様である。よって、ここでの説明は省略する。
【0046】
プリンタは、処理PBa、つまりは印刷データの印刷を実行中に例えば用紙詰まり、用紙切れ等の故障が発生すると、故障発生のイベント通知信号SIaをデバイスサーバ201に出力する。このイベント通知信号SIaを受けて、デバイスサーバ201は、処理PCmとして代替となる他のデバイスサーバを決定する。具体的にはデバイスサーバ201は、代替テーブル231において優先順位1位に設定されたサーバIDで識別されるデバイスサーバ202を、代替となるデバイスサーバとして決定する。
【0047】
デバイスサーバ201は、ネットワークNWを介して代替となる他のデバイスサーバ202に代替印刷要求信号SJaを送信する。代替印刷要求信号SJaは、ネットワークNWを通じてデバイスサーバ202に送られる。代替印刷要求信号SJaには、印刷データが含まれている。
【0048】
代替印刷要求信号SJaを受信したデバイスサーバ202は、プリンタがローカル接続されたデバイスインターフェース、例えばデバイスインターフェース25からプリンタに対して問合せ信号SBbを出力する。この問合せ信号SBbを受けたプリンタは、問い合わせに対する応答信号SCbをデバイスサーバ202に出力する。具体的にはプリンタは、故障中でなく動作中でもない場合、許諾の応答信号SCbを出力する。プリンタは、故障中若しくは動作中の場合には、エラーの応答信号SCbを出力する。
【0049】
デバイスサーバ202は、プリンタからエラーの応答信号SCbを受けた場合には、代替印刷要求信号SJaの送信元であるデバイスサーバ201に要求失敗の応答信号SHbを送信する。
【0050】
デバイスサーバ202は、プリンタから許諾の応答信号SCbを受けた場合には、デバイスインターフェース25からプリンタに対して印刷メソッドの信号SDbを出力する。印刷メソッドの信号SDbには、印刷データが含まれる。プリンタは、処理PAbとして印刷データを印刷バッファに格納する。そして印刷バッファに印刷データを格納し終えると、プリンタは、印字開始のイベント通知信号SEbをデバイスサーバ202に出力する。またプリンタは、処理PBbとして印刷バッファに格納した印刷データの印刷を実行する。
【0051】
プリンタは、印刷を正常に終了すると、印刷終了のイベント通知信号SFbをデバイスサーバ202に出力する。このイベント通知信号SFbを受けて、デバイスサーバ202は、代替印刷要求信号SJaの送信元であるデバイスサーバ201に要求成功の応答信号SGbを送信する。
【0052】
デバイスサーバ202に代替印刷要求信号SJaを送信したデバイスサーバ201は、デバイスサーバ202からの応答信号を待ち受ける。ここで、要求失敗の応答信号SHbを受信した場合には、デバイスサーバ201は、処理PCnとして次の代替となるデバイスサーバを決定する。具体的にはデバイスサーバ201は、代替テーブル231において優先順位2位に設定されたサーバIDで識別されるデバイスサーバ203を、代替となるデバイスサーバとして決定する。デバイスサーバ201は、ネットワークNWを介して代替となる他のデバイスサーバ203に代替印刷要求信号SJaを送信する。この代替印刷要求信号SJaを受信したデバイスサーバ203においては、上述したデバイスサーバ202と同様のシーケンスが実行される。
【0053】
一方、要求成功の応答信号SGbを受信した場合には、デバイスサーバ201は、印刷要求信号SAの送信元であるクライアント端末30に要求成功の応答信号SKaを送信する。応答信号SKaは、印刷を実行したプリンタは他のデバイスサーバ202で制御されるプリンタであることを示す情報を含む。この情報により、要求成功の応答信号SGaを受信したクライアント端末30は、要求先のデバイスサーバ201ではなく、転送先のデバイスサーバ202の制御下にあるプリンタで印刷が実行されたことを報知する。したがって、クライアント端末30のユーザは、デバイスサーバ202の制御下にあるプリンタからレシートが印刷されたことを知り得る。
【0054】
ところで、デバイスサーバ201の制御下にあるプリンタに対する作業者の作業PDにより、そのプリンタの故障が解消されてプリンタが復旧すると、プリンタは、正常復旧のイベント通知信号SLをデバイスサーバ201に出力する。デバイスサーバ201は、プリンタから信号SLを受けると、印刷バッファのクリア信号SMをプリンタに出力する。このクリア信号SMを受けて、プリンタは、印刷バッファをクリアする。そしてプリンタは、応答信号SNをデバイスサーバ201に出力する。デバイスサーバ201は、応答信号SNを受けると、無効印刷の印刷データを含む印刷要求信号SOをプリンタに出力する。無効印刷の印刷データは、予めメインメモリ22又は補助記憶デバイス23に設定されている。
【0055】
印刷要求信号SOを受けたプリンタは、処理PEとして無効印刷を行う。その結果、直前の印刷物が無効であることを示す印刷が実行される。そして印刷が終了すると、プリンタは、応答信号SPをデバイスサーバ201に出力する。デバイスサーバ201は、応答信号SPを受けると、プリンタが復旧したものとして制御を再開する。以上が、クライアント端末30からの要求(印刷要求)に対して、デバイスサーバ201の制御下にあるデバイス(プリンタ)が動作中に故障した場合のシーケンスである。
【0056】
さて、
図3及び
図4に示したシーケンスは、各デバイスサーバ20のプロセッサ21が、
図5乃至
図8の流れ図に従って情報処理を実行することにより実現される。そこで次に、プロセッサ21の主要な情報処理の手順について説明する。
【0057】
はじめにプロセッサ21は、
図5のACT1としてクライアント端末30から印刷要求信号SAを受信したか否かを確認する。印刷要求信号SAを受信していない場合、プロセッサ21は、ACT1からACT2へと進む。プロセッサ21は、ACT2として他のデバイスサーバ20から代替印刷要求信号SJを受信したか否かを確認する。代替印刷要求信号SJを受信していない場合、プロセッサ21は、ACT2からACT1へと戻る。このようにプロセッサ21は、ACT1及びACT2として印刷要求信号SAを受信するか代替印刷要求信号SJを受信するのを待ち受ける。
【0058】
ACT1及びACT2の待ち受け状態において、例えばデバイスサーバ201がクライアント端末30から印刷要求信号SAを受信すると、デバイスサーバ201のプロセッサ21は、ACT1からACT3へと進む。プロセッサ21は、ACT3としてプリンタが故障中であるか否かを確認する。後述の処理で説明するが、プリンタが故障中のとき、故障フラグがセットされる。プロセッサ21は、故障フラグをチェックして、プリンタが故障中であるか否かを確認する。
【0059】
プリンタが故障中である場合、プロセッサ21は、ACT3からACT7へと進む。プロセッサ21は、ACT7として通信インターフェース24からクライアント端末30に要求失敗の応答信号SHを送信する。以上で、プロセッサ21は、この情報処理を終了する。
【0060】
一方、プリンタが故障中でない場合には、プロセッサ21は、ACT3からACT4へと進む。プロセッサ21は、ACT4としてデバイスインターフェース25からプリンタに問合せ信号SBを出力する。そしてプロセッサ21は、ACT5としてプリンタからの応答信号SCを待ち受ける。デバイスインターフェース25を介して応答信号SCが入力されると、プロセッサ21は、ACT5からACT6へと進む。プロセッサ21は、ACT6として許諾の応答信号SCであるのかエラーの応答信号SCであるのかを判定する。エラーの応答信号SCの場合、プロセッサ21は、ACT6からACT7へと進む。プロセッサ21は、ACT7として通信インターフェース24を介してクライアント端末30に要求失敗の応答信号SHを送信する。以上で、プロセッサ21は、この情報処理を終了する。
【0061】
プリンタからの応答信号が許諾の応答信号SCであった場合には、プロセッサ21は、ACT6からACT8へと進む。プロセッサ21は、ACT8としてデバイスインターフェース25からプリンタに印刷メソッドの信号SDを出力する。印刷メソッドの信号SDには、クライアント端末30から受信した印刷データが含まれる。このようにプロセッサ21は、ACT4乃至ACT6及びACT8の処理を実行することにより、第1制御部211として機能する。
【0062】
プロセッサ21は、ACT9としてプリンタからの応答信号SEを待ち受ける。プロセッサ21は、デバイスインターフェース25を介して応答信号SEが入力されると、ACT9からACT10へと進む。プロセッサ21は、ACT10としてプリンタから印刷終了のイベント通知信号SFを受けたか否かを確認する。イベント通知信号SFが入力されていない場合、プロセッサ21は、ACT10からACT11へと進む。プロセッサ21は、ACT11としてプリンタからエラーのイベント通知信号SIを受けたか否かを確認する。デバイスインターフェース25を介してエラーのイベント通知信号SIが入力されていない場合、プロセッサ21は、ACT11からACT10へと戻る。このようにプロセッサ21は、ACT10及びACT11として印刷終了のイベント通知信号SFが入力されるか、エラーのイベント通知信号SIが入力されるのを待ち受ける。
【0063】
ACT10及びACT11の待ち受け状態において、印刷終了のイベント通知信号SFが入力されると、プロセッサ21は、ACT10からACT12へと進む。プロセッサ21は、ACT12として通信インターフェース24を介してクライアント端末30に要求成功の応答信号SGを送信する。以上で、プロセッサ21は、この情報処理を終了する。
【0064】
ACT10及びACT11の待ち受け状態において、エラーのイベント通知信号SIが入力された場合には、プロセッサ21は、ACT11からACT13へと進む。プロセッサ21は、ACT13として故障フラグを“1”にセットする。故障フラグは、メインメモリ22の揮発性メモリ領域に記憶される1ビットデータである。故障フラグは、デフォルトの状態を“0”とし、デバイスに故障が発生すると“1”となる。このようにプロセッサ21は、ACT11及びACT13の処理を実行することにより、検出部212として機能する。
【0065】
ACT13において故障フラグをセットすると、プロセッサ21は、ACT13からACT14へと進む。プロセッサ21は、ACT14として代替となる他のデバイスサーバ20を決定する。すなわちプロセッサ21は、代替テーブル231を参照し、優先順位が1位に設定されている代替1IDのサーバIDで特定されるデバイスサーバ202を代替となるデバイスサーバとして決定する。そしてプロセッサ21は、ACT15としてその代替1IDのサーバIDを宛先として、通信インターフェース24を介して代替印刷要求信号SJを送信する。代替印刷要求信号SJには、クライアント端末30から受信した印刷データが含まれる。また、代替印刷要求信号SJには、送信元IDとしてデバイスサーバ201のサーバIDも含まれる。このようにプロセッサ21は、ACT14の処理を実行することにより、決定部213として機能する。またプロセッサ21は、ACT15の処理を実行することにより、転送部214として機能する。
【0066】
代替印刷要求信号SJを送信したプロセッサ21は、ACT15から
図6のACT21へと進む。プロセッサ21は、ACT21として他のデバイスサーバ20から要求失敗の応答信号SHを受信したか否かを確認する。要求失敗の応答信号SHを受信していない場合、プロセッサ21は、ACT21からACT22へと進む。プロセッサ21は、ACT22として他のデバイスサーバ20から要求成功の応答信号SGを受信したか否かを確認する。要求成功の応答信号SGを受信していない場合、プロセッサ21は、ACT22からACT23へと進む。プロセッサ21は、ACT23としてプリンタが復旧したか否かを確認する。故障フラグが“1”にセットされている場合、プリンタは復旧していない。この場合、プロセッサ21は、ACT23からACT24へと進む。プロセッサ21は、ACT24としてプリンタから正常復旧のイベント通知信号SLを受けたか否かを確認する。イベント通知信号SLを受けていない場合、プロセッサ21は、ACT24からACT21へと戻る。このようにプリンタの故障が回復していない場合には、プロセッサ21は、ACT21乃至ACT24として他のデバイスサーバ20から要求失敗の応答信号SH又は要求成功の応答信号SGを受信するか、プリンタから正常復旧のイベント通知信号SLを受けるのを待ち受ける。
【0067】
ACT21乃至ACT24の待ち受け状態において、デバイスインターフェース25を介して正常復旧のイベント通知信号SLが入力されると、プロセッサ21は、ACT24からACT25へと進む。プロセッサ21は、ACT25として復旧処理を実行する。すなわちプロセッサ21は、プリンタに対して印刷バッファのクリア信号SMを出力し、続いてデバイスインターフェース25から印刷要求信号SOを出力する。こうして復旧処理を終えると、プロセッサ21は、ACT25からACT26へと進む。プロセッサ21は、ACT26として故障中フラグを“0”にリセットする。このようにプロセッサ21は、ACT25及びACT26を実行することにより復旧処理部218として機能する。
【0068】
故障中フラグをリセットすると、プロセッサ21は、ACT26からACT21へと戻る。したがってプロセッサ21は、待ち受け状態となる。ただし、故障中フラグはセットされていない。その場合、プロセッサ21は、ACT23からACT21へと戻る。すなわちプロセッサ21は、ACT21及びACT22としてデバイスサーバ202からの要求失敗の応答信号SH又は要求成功の応答信号SGの待ち受け状態となる。
【0069】
ACT21乃至ACT24又はACT21及びACT22の待ち受け状態において、プロセッサ21は、通信インターフェース24を介して他のデバイスサーバ202から要求失敗の応答信号SHを受信すると、ACT21から
図5のACT14へと戻る。プロセッサ21は、ACT14として次の代替となる他のデバイスサーバ20として、代替2IDのサーバIDで識別されるデバイスサーバ203を決定する。そしてプロセッサ21は、代替2IDのサーバIDを宛先として、通信インターフェース24を介して代替印刷要求信号SJを送信する。その後、プロセッサ21は、ACT21乃至ACT24又はACT21及びACT22の待ち受け状態となる。
【0070】
ACT21乃至ACT24又はACT21及びACT22の待ち受け状態において、プロセッサ21は、通信インターフェース24を介して他のデバイスサーバ202から要求成功の応答信号SGを受信した場合には、ACT22からACT27へと進む。プロセッサ21は、ACT27として通信インターフェース24を介してクライアント端末30に要求成功の応答信号SKを送信する。応答信号SKaは、印刷を実行したプリンタは他のデバイスサーバ202であることを示す情報を含む。このようにプロセッサ21は、ACT27の処理を実行することにより、第2通知部217として機能する。
【0071】
その後、プロセッサ21は、ACT28としてプリンタが復旧したか否かを確認する。故障フラグが“0”にリセットされている場合、プリンタは復旧している。この場合、プロセッサ21は、後述するACT29乃至ACT31の処理をスキップして、この情報処理を終了する。
【0072】
これに対し、故障フラグが“1”にセットされている場合には、プリンタは復旧していないので、プロセッサ21は、ACT28からACT29へと進む。プロセッサ21は、ACT29としてプリンタから正常復旧のイベント通知信号SLを待ち受ける。デバイスインターフェース25を介してイベント通知信号SLが入力されると、プロセッサ21は、ACT29からACT30へと進む。そしてプロセッサ21は、ACT30として、ACT25と同様の復旧処理を実行する。そして復旧処理を終えると、プロセッサ21は、ACT31として故障中フラグを“0”にリセットする。以上で、プロセッサ21は、この情報処理を終了する。このように、プロセッサ21は、ACT30及びACT31を実行する場合も復旧処理部218として機能する。
【0073】
図5におけるACT1及びACT2の待ち受け状態において、他のデバイスサーバ20から代替印刷要求信号SJを受信した場合には、プロセッサ21は、ACT2から
図7のACT41へと進む。プロセッサ21は、ACT41として代替印刷要求信号SJに送信元IDとして含まれているサーバIDを送信元IDメモリに記憶する。送信元IDメモリは、例えばメインメモリ22における揮発性メモリ領域の一部である。
【0074】
プロセッサ21は、ACT42として送信元IDメモリに記憶したサーバIDが、当該デバイスサーバのサーバIDと一致するか否かを確認する。詳細は後述するが、送信元IDメモリに記憶したサーバIDが当該デバイスサーバ20のサーバIDと一致する場合があり得る。その場合、プロセッサ21は、ACT42からACT59へと進む。プロセッサ21は、ACT59として自らが制御するプリンタがまだ故障中であるか否かを確認する。故障中フラグが“1”にセットされている場合、プリンタは故障中である。プリンタが故障中の場合、プロセッサ21は、ACT59からACT60へと進む。プロセッサ21は、ACT60として通信インターフェース24からクライアント端末30に要求失敗の応答信号SHを送信する。以上で、プロセッサ21は、この情報処理を終了する。
【0075】
これに対し、故障中フラグが“0”、つまりプリンタの故障が回復していた場合には、プロセッサ21は、ACT59から
図5のACT4へと進む。そしてプロセッサ21は、ACT4以降の処理を前述したのと同様に実行する。
【0076】
一方、送信元IDメモリに記憶したサーバIDが当該デバイスサーバ20のサーバIDと一致しない場合には、プロセッサ21は、ACT42からACT43へと進む。プロセッサ21は、ACT43としてデバイスインターフェース25を介して問合せ信号SBを出力する。そしてプロセッサ21は、ACT44としてプリンタからの応答信号SCを待ち受ける。デバイスインターフェース25を介して応答信号SCが入力されると、プロセッサ21は、ACT44からACT45へと進む。プロセッサ21は、ACT45として許諾の応答信号SCであるのかエラーの応答信号SCであるのかを判定する。エラーの応答信号SCの場合、プロセッサ21は、ACT45からACT46へと進む。プロセッサ21は、ACT46として通信インターフェース24を介して送信元IDメモリに記憶されるサーバIDで識別されるデバイスサーバ20に要求失敗の応答信号SHを送信する。また、プロセッサ21は、ACT47として送信元IDメモリをクリアする。以上で、プロセッサ21は、この情報処理を終了する。
【0077】
許諾の応答信号SCの場合には、プロセッサ21は、ACT45からACT48へと進む。プロセッサ21は、ACT48としてデバイスインターフェース25を介して印刷メソッドの信号SDを出力する。印刷メソッドの信号SDには、代替印刷要求信号SJに含まれていた印刷データが含まれる。このようにプロセッサ21は、ACT43乃至ACT45及びACT48の処理を実行することにより、第2制御部215として機能する。
【0078】
プロセッサ21は、ACT49としてプリンタからの応答信号SEを待ち受ける。プロセッサ21は、デバイスインターフェース25を介して応答信号SEが入力されると、ACT49からACT50へと進む。プロセッサ21は、ACT50としてプリンタから印刷終了のイベント通知信号SFを受けたか否かを確認する。イベント通知信号SFを受けていない場合、プロセッサ21は、ACT50からACT51へと進む。プロセッサ21は、ACT51としてプリンタからエラーのイベント通知信号SIを受けたか否かを確認する。エラーのイベント通知信号SIを受けていない場合、プロセッサ21は、ACT51からACT50へと戻る。このようにプロセッサ21は、ACT50及びACT51として印刷終了のイベント通知信号SFを受けるか、エラーのイベント通知信号SIを受けるのを待ち受ける。
【0079】
ACT50及びACT51の待ち受け状態において、デバイスインターフェース25を介して印刷終了のイベント通知信号SFが入力されると、プロセッサ21は、ACT50からACT52へと進む。プロセッサ21は、ACT52として通信インターフェース24を介して送信元IDメモリに記憶されるサーバIDで識別されるデバイスサーバ20に要求成功の応答信号SGを送信する。また、プロセッサ21は、ACT53として送信元IDメモリをクリアする。以上で、プロセッサ21は、この情報処理を終了する。このようにプロセッサ21は、ACT52の処理を実行することにより、第1通知部216として機能する。
【0080】
ACT50及びACT51の待ち受け状態において、デバイスインターフェース25を介してエラーのイベント通知信号SIが入力された場合には、プロセッサ21は、ACT51からACT54へと進む。プロセッサ21は、ACT54として故障フラグを“1”にセットする。またプロセッサ21は、ACT55として代替となる他のデバイスサーバ20を決定する。すなわちプロセッサ21は、代替テーブル231を参照し、優先順位が1位に設定されている代替1IDのサーバIDで特定されるデバイスサーバ20を代替となるデバイスサーバとして決定する。そしてプロセッサ21は、ACT56としてその代替1IDのサーバIDを宛先として、通信インターフェース24を介して代替印刷要求信号SJを送信する。代替印刷要求信号SJには、他のデバイスサーバ20から受信した代替印刷要求信号SJに含まれていた印刷データが含まれる。また、代替印刷要求信号SJには、送信元IDメモリに記憶したサーバIDが送信元IDとして含まれる。このようにプロセッサ21は、ACT51及びACT54の処理を実行することにより、検出部212として機能する。またプロセッサ21は、ACT55の処理を実行することにより、決定部213として機能する。またプロセッサ21は、ACT56の処理を実行することにより、転送部214として機能する。
【0081】
因みに、代替印刷要求信号SJを受信した他のデバイスサーバ20においては、上述したACT41以降の処理が実行される。したがって、例えばデバイスサーバ201の制御下にあるプリンタが動作中に故障して、デバイスサーバ201からデバイスサーバ202に代替印刷要求信号SJが出力されたが、デバイスサーバ202の制御下にあるプリンタが故障中である場合、デバイスサーバ202からデバイスサーバ203に代替印刷要求信号SJが出力される。しかし、デバイスサーバ203の制御下にあるプリンタも故障中である場合には、デバイスサーバ203からデバイスサーバ201に代替印刷要求信号SJが出力される。この場合、ACT42において、送信元IDメモリに記憶したサーバIDが、当該デバイスサーバのサーバIDと一致する。
【0082】
ACT56において代替印刷要求信号SJを送信したプロセッサ21は、ACT57として送信元IDメモリをクリアする。そしてプロセッサ21は、
図8のACT71へと進む。プロセッサ21は、ACT71としてプリンタから正常復旧のイベント通知信号SLを待ち受ける。デバイスインターフェース25を介してイベント通知信号SLが入力されると、プロセッサ21は、ACT71からACT72へと進む。プロセッサ21は、ACT72として、ACT25又はACT30と同様の復旧処理を実行する。そして復旧処理を終えると、プロセッサ21は、ACT73として故障中フラグを“0”にリセットする。以上で、プロセッサ21は、この情報処理を終了する。このように、プロセッサ21は、ACT72及びACT73を実行する場合も復旧処理部218として機能する。
【0083】
[デバイスサーバの作用効果]
以上詳述したように、第1制御部211、検出部212、転送部214及び第2制御部215として機能するプロセッサ21を備えたデバイスサーバ20によれば、クライアント端末30からのデバイス利用要求に応じて制御下にあるデバイスを動作させることができる。しかも、その動作中のデバイスに故障が発生した場合には、ネットワークNWを介して接続される他のデバイスサーバ20にクライアント端末30からのデバイス利用要求を転送することができる。一方、他のデバイスサーバ20からデバイス利用要求を受けた場合には、そのデバイス利用要求に応じて制御下にあるデバイスを動作させることができる。したがって、クライアント端末30が利用しようとしたデバイスが動作中に故障した場合には、他のデバイスサーバ20の制御下にあるデバイスで処理が実行される。そして、クライアント端末30に対しては、他のデバイスサーバ20で実行されたデバイスの処理結果が返される。すなわちクライアント端末30に対しては、デバイス利用要求を行ったデバイスサーバ20でデバイスに故障が発生したとしてもエラーは返ってこない。したがって、クライアント端末30の負荷を軽減することができる。
【0084】
またプロセッサ21は、決定部213としての機能を有している。そして、この機能により、少なくとも2台の他のデバイスサーバ20のなかから定められた条件を満足する1台のデバイスサーバ20が、デバイス利用要求の転送先として決定される。したがって、条件を例えば転送元のデバイスサーバ20に対して物理的距離が短い方とすることにより、最も近くに位置する別のデバイスサーバを代替先として決定することができる。その結果、一般にはデバイスサーバ20の近くに制御下のデバイスが存在するので、故障が発生したデバイスの近くにあるデバイスでクライアント端末30からの利用要求に応じた動作が実行される。例えばデバイスがプリンタである場合、クライアント端末30のユーザは印刷物を取りに行くが、想定していたプリンタの近くに位置する別のプリンタから印刷物が発行されるので、印刷物が発行されたプリンタを探し回るようなことは滅多にない。
【0085】
その上、プロセッサ21は、第1通知部216及び第2通知部217としての機能を有している。これらの機能により、他のデバイスサーバ20の制御下にあるデバイスでクライアント端末30からのデバイス利用要求に応じた動作が実行されると、クライアント端末30に対しては当該他のデバイスサーバ20の制御下にあるデバイスで動作が実行されたことが通知される。したがって、クライアント端末30のユーザは、どのデバイスサーバの制御下にあるデバイスが動作したのかを容易に知ることができる。
【0086】
[変形例]
前記実施形態では、代替のデバイスサーバを決定する条件として、物理的な距離を例示した。条件は距離に限定されるものではない。例えば、同じデバイスでも能力に差がある場合がある。そのような場合には、同じ能力のデバイスを制御下に置くデバイスサーバを代替サーバとして優先的に決定するようにするとよい。
【0087】
この他、本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態及びその変形は、発明の範囲に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
[1]ネットワークを介して1以上のクライアント端末と接続する通信インターフェースと、少なくとも1つのデバイスとローカル接続するデバイスインターフェースと、前記クライアント端末からのデバイス利用要求に応じて前記デバイスを動作させる第1制御部と、前記デバイスの故障を検出する検出部と、前記第1制御部の制御により動作中のデバイスに故障が検出されると、前記ネットワークを介して接続される他のデバイス制御装置に前記クライアント端末からのデバイス利用要求を転送する転送部と、前記通信インターフェースを介して前記他のデバイス制御装置から前記デバイス利用要求を受信すると、その要求に応じて前記デバイスを動作させる第2制御部と、を具備するデバイス制御装置。
[2]前記第2制御部の制御による前記デバイスの動作が完了すると、前記通信インターフェースを介して、前記デバイス利用要求を転送した前記他のデバイス制御装置に前記デバイスの動作完了通知を送信する第1通知部と、前記通信インターフェースを介して前記他のデバイス制御装置から前記デバイスの動作完了通知を受信すると、当該他のデバイス制御装置を特定する情報とともに前記デバイスの動作完了通知を、前記通信インターフェースを介して前記クライアント端末に送信する第2通知部と、をさらに具備する付記[1]記載のデバイス制御装置。
[3]前記故障が検出された前記デバイスが復旧した際に、前記第1制御部の制御による前記デバイスの動作を無効にするための復旧処理を実行する復旧処理部、をさらに具備する付記[1]又は[2]記載のデバイス制御装置。
[4]前記ネットワークを介して少なくとも3台以上のデバイス制御装置が接続されており、前記第1制御部の制御により動作中のデバイスに故障が検出されると、少なくとも2台の他のデバイス制御装置のなかから定められた条件を満足する1台のデバイス制御装置を決定する決定部、をさらに具備し、前記転送部は、前記決定部で決定された前記他のデバイス制御装置に前記クライアント端末からのデバイス利用要求を転送する、付記[1]乃至[3]のうちいずれか1項記載のデバイス制御装置。
[5]前記決定部は、定められた条件を満足する1台のデバイス制御装置において前記デバイスが利用不可の場合、別のデバイス制御装置を決定する、付記[4]記載のデバイス制御装置。
[6]ネットワークを介して1以上のクライアント端末と接続する通信インターフェースと、少なくとも1つのデバイスとローカル接続するデバイスインターフェースと、を備えたデバイス制御装置のコンピュータを、前記クライアント端末からのデバイス利用要求に応じて前記デバイスを動作させる第1制御手段、前記デバイスの故障を検出する検出手段、前記第1制御手段の制御により動作中のデバイスに故障が検出されると、前記ネットワークを介して接続される他のデバイス制御装置に前記クライアント端末からのデバイス利用要求を転送する転送手段、及び、前記通信インターフェースを介して前記他のデバイス制御装置から前記デバイス利用要求を受信すると、その要求に応じて前記デバイスを動作させる第2制御手段、として機能させるためのプログラム。
【符号の説明】
【0088】
10…アクセスポイント、20(201,202,203)…デバイスサーバ、21…プロセッサ、22…メインメモリ、23…補助記憶デバイス、24…通信インターフェース、25~27…デバイスインターフェース、28…システムバス、30…クライアント端末、100…デバイス制御システム。