(57)【特許請求の範囲】
【請求項１】
複数のプリンターと通信可能な情報収集装置が前記プリンターの稼働に応じて変化する
稼働情報を前記プリンターから収集するために前記プリンターにアクセスするタイミング
を、前記プリンター毎に決定する工程と、
前記プリンターから前記情報収集装置への前記稼働情報の収集漏れが生じた可能性の有
無を判断した結果に基づき、前記情報収集装置が前記プリンターにアクセスして、前記プ
リンターから前記稼働情報を収集する工程と、
前記情報収集装置が収集した前記稼働情報を取得履歴テーブルに記録する工程を備え、
前記プリンターにアクセスして収集した前記稼働情報と、前記取得履歴テーブルに記録
される前記稼働情報とを比較した結果に基づき、前記プリンターからの前記稼働情報の収
集漏れが生じた可能性の有無を判断する情報処理方法。
【請求項２】
前記稼働情報の収集漏れが生じた可能性が有ると判断した前記プリンターへアクセスす
る頻度を上げる請求項１に記載の情報処理方法。
【請求項３】
前記稼働情報の収集漏れが生じた可能性は無いと判断した前記プリンターへアクセスす
る頻度を下げる請求項１に記載の情報処理方法。
【請求項４】
前記情報収集装置が通信可能な前記複数のプリンターの数を確認する工程と、
確認された前記プリンターの数が閾数より多い場合は、前記複数のプリンターのうちの
所定の前記プリンターへアクセスする頻度を下げる工程を備える請求項１ないし３のいず
れか一項に記載の情報処理方法。
【請求項５】
前記情報収集装置はネットワーク管理プロトコルとしてＳＮＭＰを用いて前記プリンタ
ーから前記稼働情報を取得し、
確認された前記プリンターの数が閾数より多い場合は、前記複数のプリンターのうち拡
張ＭＩＢによる前記稼働情報の取得に対応する前記プリンターへアクセスする頻度を下げ
る請求項４に記載の情報処理方法。
【請求項６】
前記情報収集装置から前記プリンターへのアクセスの履歴を記録した結果に基づき、前
記プリンターへアクセスする頻度を下げる請求項３ないし５のいずれか一項に記載の情報
処理方法。
【請求項７】
複数のプリンターと通信可能な情報収集装置が前記プリンターの稼働に応じて変化する
稼働情報を前記プリンターから収集するために前記プリンターにアクセスするタイミング
を、前記プリンター毎に決定する工程と、
前記プリンターから前記情報収集装置への前記稼働情報の収集漏れが生じた可能性の有
無を判断した結果に基づき、前記情報収集装置が前記プリンターにアクセスして、前記プ
リンターから前記稼働情報を収集する工程と、
収集した前記稼働情報に基づき前記プリンターによる印刷を制御する工程と、
前記情報収集装置が収集した前記稼働情報を取得履歴テーブルに記録する工程を備え、
前記プリンターにアクセスして収集した前記稼働情報と、前記取得履歴テーブルに記録
される前記稼働情報とを比較した結果に基づき、前記プリンターからの前記稼働情報の収
集漏れが生じた可能性の有無を判断する印刷制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、プリンターの稼働情報を収集する技術に関する。
【背景技術】
【０００２】
特許文献１には、ネットワークに接続された複数のオフィス機器をオフィス機器管理装置で管理する技術が記載されている。このオフィス機器管理装置は、オフィス機器それぞれの状態（トナー切れ）を示す状態情報を、ネットワークを介して各オフィス機器から収集する。そして、オフィス機器管理装置は、収集した状態情報が示す各オフィス機器の状態を管理者に向けて表示する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００５−３１８３２６公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
なお、上記のように複数のプリンターから稼働情報（状態情報）を収集するためには、複数のプリンターのそれぞれにアクセスする必要がある。この際、各プリンターに対して適当なタイミングでアクセスできることが好適となる。
【０００５】
この発明は上記課題に鑑みてなされたものであり、複数のプリンターのそれぞれに適当なタイミングでアクセスして、各プリンターから稼働情報を収集することを可能とする技術の提供を目的とする。
【課題を解決するための手段】
【０００６】
本発明にかかる情報処理方法は、上記目的を達成するために、複数のプリンターと通信可能な情報収集装置がプリンターの稼働に応じて変化する稼働情報をプリンターから収集するためにプリンターにアクセスするタイミングを、プリンター毎に決定する工程と、情報収集装置が決定されたタイミングでプリンターにアクセスして、プリンターから稼働情報を収集する工程とを備える。
【０００７】
本発明にかかる印刷制御方法は、上記目的を達成するために、複数のプリンターと通信可能な情報収集装置がプリンターの稼働に応じて変化する稼働情報をプリンターから収集するためにプリンターにアクセスするタイミングを、プリンター毎に決定する工程と、情報収集装置が決定されたタイミングでプリンターにアクセスして、プリンターから稼働情報を収集する工程と、収集した稼働情報に基づきプリンターによる印刷を制御する工程とを備える。
【０００８】
このように構成された発明（情報処理方法、印刷制御方法）では、複数のプリンターと通信可能な情報収集装置が、プリンターの稼働に応じて変化する稼働情報をプリンターから収集するためにプリンターにアクセスする。しかも、このアクセスのタイミングはプリンター毎に決定される。したがって、複数のプリンターのそれぞれに適当なタイミングでアクセスして、各プリンターから稼働情報を収集することが可能となっている。
【０００９】
ちなみに、プリンターへアクセスするタイミングを決定する際の基準は種々想定できる。例えば所定時間内にプリンターから収集すべき稼働情報の情報量に基づき、プリンターへアクセスするタイミングをプリンター毎に決定しても良い。あるいは、プリンターから情報収集装置への稼働情報の収集漏れが生じた可能性の有無を判断した結果に基づき、プリンターにアクセスするタイミングをプリンター毎に決定しても良い。
【００１０】
この際、情報収集装置が収集した稼働情報を取得履歴テーブルに記録する工程を備え、プリンターにアクセスして収集した稼働情報と、取得履歴テーブルに記録される稼働情報とを比較した結果に基づき、プリンターからの稼働情報の収集漏れが生じた可能性の有無を判断するように、情報処理方法を構成しても良い。これによって、稼働情報の収集漏れの可能性の有無を把握することができる。
【００１１】
また、稼働情報の収集漏れが生じた可能性が有ると判断したプリンターへアクセスする頻度を上げるように、情報処理方法を構成しても良い。これによって、稼働情報の収集漏れにより稼働情報が収集されないことを低減できる。
【００１２】
また、稼働情報の収集漏れが生じた可能性は無いと判断したプリンターへアクセスする頻度を下げるように、情報処理方法を構成しても良い。これによって、情報収集装置にかかる負荷を抑制することができる。
【００１３】
また、情報収集装置が通信可能な複数のプリンターの数を確認する工程と、確認されたプリンターの数が閾数より多い場合は、複数のプリンターのうちの所定のプリンターへアクセスする頻度を下げる工程を備えるように、情報処理方法を構成しても良い。かかる構成では、通信可能なプリンターの数が多い場合であっても、情報収集装置にかかる負荷を抑制することができる。
【００１４】
具体的には、情報収集装置はネットワーク管理プロトコルとしてＳＮＭＰを用いてプリンターから稼働情報を取得し、確認されたプリンターの数が閾数より多い場合は、複数のプリンターのうち拡張ＭＩＢによる稼働情報の取得に対応するプリンターへアクセスする頻度を下げるように、情報処理方法を構成しても良い。
【００１５】
また、情報収集装置からプリンターへのアクセスの履歴を記録した結果に基づき、プリンターへアクセスする頻度を下げるように、情報処理方法を構成しても良い。かかる構成では、プリンターへのアクセスの頻度を下げるにあたっては過去の実績が参照される。そのため、稼働情報の収集漏れの発生を抑制しつつ、プリンターへのアクセスの頻度を下げることができる。
【図面の簡単な説明】
【００１６】
【図１】本発明にかかる情報収集システムの一例を模式的に示す図。
【図２】プリンターの構成の一例を示すブロック図。
【図３】稼働情報バッファーにおける稼働情報の記憶態様を模式的に示す図。
【図４】仲介サーバーの構成の一例を示すブロック図。
【図５】取得履歴テーブルにおける稼働情報の記録態様を模式的に示す図。
【図６】管理サーバーの構成の一例を示すブロック図。
【図７】プリンターのＭＩＢの確認動作を示すフローチャート。
【図８】プリンターへのアクセス頻度の初期設定動作を示すフローチャート。
【図９】プリンターへのアクセス頻度の設定動作を示すフローチャート。
【図１０】プリンターへのアクセス頻度の低下の試行動作を示すフローチャート。
【発明を実施するための形態】
【００１７】
図１は、本発明にかかる情報収集システムの一例を模式的に示す図である。この情報収集システム１は、プリンター３の稼働情報を、仲介サーバー５を介して管理サーバー７に収集する。情報収集システム１では、複数のプリンター３および仲介サーバー５がＬＡＮ(Local Area Network)９１に接続されており、ＬＡＮ９１を介して双方向に通信可能である。また、情報収集システム１では、仲介サーバー５および管理サーバー７がインターネット９２に接続されており、インターネット９２を介して双方向に通信可能である。なお、ＬＡＮ９１やインターネット９２は通信回線の一例として示したものであり、プリンター３と仲介サーバー５との間、あるいは仲介サーバー５と管理サーバー７との間を接続する通信回線の具体的構成はこれらに限られない。
【００１８】
複数のプリンター３、ＬＡＮ９１および仲介サーバー５で構成される情報仲介システム１０は、各プリンター３の稼働情報を仲介サーバー５により収集して、外部の管理サーバー７へ送信する。この仲介サーバー５は、例えば同一企業の施設内に構築され、当該企業で使用される情報収集システム１の稼働情報を収集して管理サーバー７に送信する。なお、同図では、１つの情報仲介システム１０が記載されているが、複数の情報仲介システム１０を管理サーバー７に接続して情報収集システム１を構成することもできる。
【００１９】
図２は、プリンターの構成の一例を示すブロック図である。プリンター３は、制御部３１、インターフェース部３３、印刷部３５および記憶部３７を備える。制御部３１は、ＣＰＵ(Central Processing Unit)およびＲＡＭ(Random
Access Memory)で構成されたコンピューターであり、プリンター３で実行される動作を統括的に制御する。したがって、インターフェース部３３、印刷部３５および記憶部３７は、制御部３１の制御を受けて動作する。
【００２０】
インターフェース部３３は、外部装置あるいはユーザーとの間のインターフェース機能を担う。通信部３３１はＬＡＮ９１に接続され、ＬＡＮ９１を介して仲介サーバー５との通信を実行する。また、操作部３３２は、ユーザーからの入力操作を受け付けるボタン等で構成され、表示部３３３はプリンター３に関する各種情報をユーザーに表示するディスプレイ等で構成される。なお、操作部３３２および表示部３３３は、例えばタッチパネルにより一体的に構成しても良い。
【００２１】
印刷部３５は、印刷エンジン３５１、センサー３５２およびカウンター３５３を備える。印刷エンジン３５１は、印刷媒体への画像の印刷を実行する機械的構成である。この印刷エンジン３５１は、ロール・トゥ・ロールで搬送される巻取式の印刷媒体（ウェブ）に対してインクジェット方式の吐出ヘッドからインクを吐出することで、印刷媒体に画像を印刷する。なお、印刷エンジン３５１の具体的構成はここで例示したものに限られず、印刷エンジン３５１は枚葉式の印刷媒体に印刷するものでも構わないし、レーザー方式でトナーにより印刷するものでも構わない。そして、センサー３５２は、印刷エンジン３５１の稼働状態に関わる各種の物理量を検出し、カウンター３５３は、印刷エンジン３５１の稼働に伴って変化する各種の数値を計数する。
【００２２】
印刷エンジン３５１の稼働状態を示す物理量としては、例えば印刷エンジン３５１の電気部品に印加される電圧、印刷エンジン３５１内の温度および湿度、吐出ヘッドや印刷媒体の位置等がある。そしで、これらの物理量を検出するために、電圧センサー、温湿度センサー、位置センサー、加速度センサー等の各種のセンサー３５２が設けられる。また、印刷エンジン３５１の稼働に伴って変化する数値としては、例えば印刷エンジン３５１の電源投入後の経過時間、印刷された印刷媒体の積算長、インクの消費量（あるいは残量）、回転する機械部品（例えば印刷媒体を搬送するローラー）の積算回転量等がある。そして、これらの数値を計数するために各種のカウンター３５３が設けられる。
【００２３】
記憶部３７は、ＲＯＭ(Read Only Memory)、ＨＤＤ(Hard Disk Drive)あるいはＲＡＭといった記憶媒体で構成され、センサー３５２およびカウンター３５３から出力されるデータをプリンター３の稼働状況を指標する稼働情報として、稼働情報バッファー３７１に記憶する。図３は、プリンターの稼働情報バッファーにおける稼働情報の記憶態様を模式的に示す図であり、特に時刻Ｔａ１、Ｔａ２、Ｔａ３それぞれでの稼働情報バッファーの状態を例示する。
【００２４】
同図に示すように、稼働情報バッファー３７１は、それぞれに稼働情報が格納される所定数（ここでは１０個）のアドレスで構成された記憶領域である。同図に示す例では、時刻Ｔａ１において、稼働情報バッファー３７１の全アドレスａ１〜ａ１０に稼働情報ｖ１〜ｖ１０が格納されており、稼働情報バッファー３７１は満杯となっている。なお、稼働情報ｖ１〜ｖ１０は時間的にこの順で取得されて、稼働情報バッファー３７１に格納されたものである。すなわち、稼働情報バッファー３７１に格納される全稼働情報ｖ１〜ｖ１０のうち、稼働情報ｖ１が最先に稼働情報バッファー３７１に格納された稼働情報であり、稼働情報ｖ１０が最新に稼働情報バッファー３７１に格納された稼働情報である。
【００２５】
制御部３１は、時刻Ｔａ１の状態から新たな稼働情報ｖ１１を取得すると、稼働情報バッファー３７１において最先の稼働情報ｖ１を記憶するアドレスａ１に稼働情報ｖ１１を上書きする（時刻Ｔａ２）。さらに、制御部３１は、時刻Ｔａ２の状態から新たな稼働情報ｖ１２を取得すると、稼働情報バッファー３７１において最先の稼働情報ｖ２を記憶するアドレスａ２に稼働情報ｖ１２を上書きする（時刻Ｔａ３）。つまり、記憶部３７には、所定量の稼働情報を蓄積できる稼働情報バッファー３７１が設けられており、制御部３１は、取得した稼働情報を稼働情報バッファー３７１に順次書き込む。また、取得した稼働情報を書き込むための空き容量が稼働情報バッファー３７１に無い場合は、取得した稼働情報を稼働情報バッファー３７１に最先に書き込まれた稼働情報に上書きする。
【００２６】
また、図２に示すように記憶部３７は、印刷を実行する際のプリンター３の動作を規定するファームウェア３７２を記憶する。そして、制御部３１は、記憶部３７に記憶されたファームウェア３７２を読み込んで、ファームウェア３７２を実行することで、印刷の実行に必要な各機能を内部に実現する。具体的には、通信部３３１が外部装置から受信した印刷ジョブを印刷データに変換するレンダリングを行う機能や、印刷エンジン３５１を印刷データに基づき制御する機能等が制御部３１内に実現される。これによって、印刷ジョブが示す画像が印刷媒体に印刷される。
【００２７】
さらに、記憶部３７は、ＭＩＢ(Management Information Base)ファイル３７３を記憶する。このＭＩＢファイル３７３は、後述するプリンター３と仲介サーバー５との通信を実行するために、プリンター３に実装されたものである。
【００２８】
図４は、仲介サーバーの構成の一例を示すブロック図である。仲介サーバー５は、制御部５１、インターフェース部５３および記憶部５５を備え、複数のプリンター３それぞれの記憶部３７の稼働情報バッファー３７１へアクセスして稼働情報を収集し、収集した稼働情報を管理サーバー７に送信する情報仲介動作を実行する。制御部５１は、ＣＰＵおよびＲＡＭで構成されたコンピューターであり、インターフェース部５３および記憶部５５を用いつつ情報仲介動作を主体的に実行する。
【００２９】
インターフェース部５３は、外部装置あるいはユーザーとの間のインターフェース機能を担う。通信部５３１は、ＬＡＮ９１およびインターネット９２に接続され、ＬＡＮ９１を介して各プリンター３との通信を実行するとともに、インターネット９２を介して管理サーバー７との通信を実行する。また、操作部５３２は、ユーザーからの入力操作を受け付けるマウスおよびキーボード等で構成され、表示部５３３は、各種情報をユーザーに表示するディスプレイ等で構成される。なお、操作部５３２および表示部５３３は、例えばタッチパネルにより一体的に構成しても良い。
【００３０】
記憶部５５は、ＲＯＭ、ＨＤＤあるいはＲＡＭといった記憶媒体で構成され、情報仲介動作を規定するプログラムＰを記憶する。そして、制御部５１は、記憶部５５から読み込んだプログラムＰを実行することで、記憶部５５と次のように協働して情報仲介動作を実行する。
【００３１】
記憶部５５には、プリンターテーブルＴｐが記憶されている。このプリンターテーブルＴｐは、仲介サーバー５に接続された各プリンター３に関する情報が記録したテーブルであり、例えば各プリンター３のＩＰ(Internet Protocol)アドレス（以下、「プリンターＩＰ」と称する）がユーザーの入力操作により予め記録されている。そして、制御部５１は、プリンターＩＰに基づいてプリンター３にアクセスして、対象のプリンター３から稼働情報を取得する。
【００３２】
なお、仲介サーバー５とプリンター３との間の通信は、ＳＮＭＰ(Simple Network Management Protocol)を用いて実行される。つまり、マネージャーである仲介サーバー５ではＳＮＭＰマネージャーソフトウェアが動作し、エージェントであるプリンター３ではＳＮＭＰエージェントソフトウェアが動作する。上述のとおり。プリンター３には、ＭＩＢファイル３７３が実装されており、仲介サーバー５は、各プリンター３のＭＩＢツリー（ＭＩＢ構造）を例えばsnmpwalkコマンドを用いて取得する。そして、仲介サーバー５は、ＭＩＢツリーを参照することで対象情報のオブジェクト識別子(Object Identifier)を取得し、当該オブジェクト識別子に対する取得コマンドをプリンター３に発行する。一方、取得コマンドを受信したプリンター３は、当該取得コマンドのオブジェクト識別子に対応する対象情報を仲介サーバー５に返信する。このようにして仲介サーバー５は、プリンター３が対象情報を格納する記憶部３７のアドレスから、対象情報を取得する。
【００３３】
したがって、仲介サーバー５の制御部５１は、稼働情報に対応するオブジェクト識別子をプリンター３に発行することで、プリンター３の稼働情報バッファー３７１に格納される稼働情報を取得できる。こうして、稼働情報バッファー３７１に記録される最先の所定数の稼働情報を（例えば、全稼働情報）を取得する動作を所定頻度で繰り返すことで、稼働情報バッファー３７１に蓄積される稼働情報を所定数ずつ順次取得することができる。そして、制御部５１は、取得した稼働情報を取得履歴テーブルＴｏに記録・蓄積する。なお、仲介サーバー５は複数のプリンター３のそれぞれから稼働情報を収集するため、取得履歴テーブルＴｏはプリンター３毎に設けられる。
【００３４】
図５は、仲介サーバーの取得履歴テーブルにおける稼働情報の記録態様を模式的に示す図であり、特に前回に稼働情報を取得してからの経過時間が異なる時刻Ｔｂ１、Ｔｂ２、Ｔｂ３で新たに１０個の稼働情報を取得した各ケースについて、取得前後の取得履歴テーブルの状態を例示する。なお、前回に稼働情報を取得した時刻は各ケースで同一であるものとする。また、同図では、取得履歴テーブルＴｏに記録される最新の１０個の稼働情報が示されているが、取得履歴テーブルＴｏは１０個よりも多い稼働情報を記録することができる。
【００３５】
時刻Ｔｂ１で稼働情報を取得したケースにおいて、取得前と取得後の最新の１０個の稼働情報を比較すると、新たに取得した１０個の稼働情報ｖ１１〜ｖ１９、ｖ１０のうち最先の稼働情報ｖ１０は、取得前の稼働情報バッファー３７１に記録されている稼働情報ｖ１０と一致する。つまり、前回の取得時刻から今回の取得時刻Ｔｂ１の間において、プリンター３の稼働情報バッファー３７１によって９個の稼働情報ｖ１１〜ｖ１９が新たに上書きされ、これに伴い稼働情報ｖ１〜ｖ９が消去される。一方、稼働情報ｖ１０は上書きされずに残る。そのため、稼働情報ｖ１０については、前回と今回の両方で取得され、稼働情報バッファー３７１に記録される。なお、前回の稼働情報と新たに取得した稼働情報の差異が比較できれば、前回の稼働情報が記録されている稼働情報バッファー３７１を新たに取得した稼働情報で全て上書きしてもよい。その場合、上記取得時刻Ｔｂ１の例では、稼働情報ｖ１０も上書きされる。
【００３６】
時刻Ｔｂ１より遅い時刻Ｔｂ２で稼働情報を取得したケースにおいて、取得前と取得後の最新の１０個の稼働情報を比較すると、新たに取得した１０個の稼働情報ｖ１１〜ｖ２０のうちいずれも、取得前の稼働情報バッファー３７１に記録される稼働情報ｖ１〜ｖ１０と一致しない。つまり、前回の取得時刻から今回の取得時刻Ｔｂ２の間において、プリンター３の稼働情報バッファー３７１では１０個の稼働情報ｖ１１〜ｖ２０が新たに上書きされ、これに伴い稼働情報ｖ１〜ｖ１０が消去される。そのため、前回と今回の両方で取得される稼働情報は存在しない。
【００３７】
時刻Ｔｂ２より遅い時刻Ｔｂ３で稼働情報を取得したケースにおいて、取得前と取得後の最新の１０個の稼働情報を比較すると、新たに取得した１０個の稼働情報ｖ２１、ｖ１２〜ｖ２０のうちいずれも、取得前の稼働情報バッファー３７１に記録される稼働情報ｖ１〜ｖ１０と一致しない。しかも、プリンター３の稼働情報バッファー３７１において稼働情報ｖ１０、ｖ１２の間に記憶されたはずの稼働情報ｖ１１が、新たに取得した１０個の稼働情報ｖ２１、ｖ１２〜ｖ２０の中に存在しない。これは次の理由による。
【００３８】
つまり、前回の取得時刻から今回の取得時刻Ｔｂ３の間において、プリンター３の稼働情報バッファー３７１では１１個の稼働情報ｖ１１〜ｖ２１が新たに上書きされた。このように稼働情報バッファー３７１での稼働情報の最大記憶個数（１０個）よりも多い個数の稼働情報ｖ１１〜ｖ２１が上書きされたため、稼働情報バッファー３７１では最先の稼働情報ｖ１１が最新の稼働情報ｖ２１の上書きにより消去された。そのため、前回と今回の両方で取得される稼働情報が存在しないだけでなく、稼働情報ｖ１１の取りこぼしが発生している。
【００３９】
このことから、仲介サーバー５がプリンター３にアクセスして、プリンター３の稼働情報バッファー３７１から稼働情報を取得する頻度が低いと、稼働情報の取りこぼしが生じ得ると判る。換言すれば、稼働情報の取りこぼしの発生を抑制し稼働情報の収集漏れを低減させるためには、仲介サーバー５がプリンター３にアクセスする頻度を、ある程度高くする必要がある。そこで、後述するように、仲介サーバー５の制御部５１は、各プリンター３にアクセスする頻度をプリンター３毎に決定する。また、図４に示すように、仲介サーバー５では、記憶部５５にアクセス履歴テーブルＴａが記憶されており、制御部５１は各プリンター３にアクセスした時刻をアクセス履歴テーブルＴａに記録する。なお、仲介サーバー５は複数のプリンター３のそれぞれにアクセスするため、アクセス履歴テーブルＴａはプリンター３毎に設けられる。
【００４０】
図６は、管理サーバーの構成の一例を示すブロック図である。管理サーバー７は、制御部７１、インターフェース部７３および記憶部７５を備え、仲介サーバー５が収集した稼働情報を受信するとともに、仲介サーバー５からの問い合わせに答える。制御部７１は、ＣＰＵおよびＲＡＭで構成されたコンピューターである。この制御部７１は、インターフェース部７３および記憶部７５を用いつつ、例えば収集した稼働情報に基づき仲介サーバー５を介して各プリンター３の印刷動作を制御する等の所定の動作を実行する。
【００４１】
インターフェース部７３は、外部装置あるいはユーザーとの間のインターフェース機能を担う。通信部７３１は、インターネット９２に接続され、インターネット９２を介して仲介サーバー５との通信を実行する。また、操作部７３２は、ユーザーからの入力操作を受け付けるマウスおよびキーボード等で構成され、表示部７３３は、各種情報をユーザーに表示するディスプレイ等で構成される。なお、操作部７３２および表示部７３３は、例えばタッチパネルにより一体的に構成しても良い。
【００４２】
記憶部７５は、ＲＯＭ、ＨＤＤあるいはＲＡＭといった記憶媒体で構成される。この記憶部７５には、取得履歴テーブルＴｏが記憶されている。この取得履歴テーブルＴｏは、基本的に上述の取得履歴テーブルＴｏと同様の構成を具備しており、仲介サーバー５から送信されてきた稼働情報を記録する。
【００４３】
ところで、図５を用いて説明したように、仲介サーバー５の情報仲介動作では、プリンター３へのアクセス頻度が低いと稼働情報の取りこぼしが生じるおそれがある。そこで、本実施形態の仲介サーバー５は、プリンター３へアクセスする頻度（換言すれば、アクセスする間隔）をプリンター３毎に設定する。すなわち、稼働頻度の高いプリンターほどアクセスする頻度も高くなる。
【００４４】
まず、プリンター３のアクセス頻度の設定に先立って、仲介サーバー５はプリンター３のＭＩＢファイル３７３の種類を確認する。つまり、上述したように、仲介サーバー５とプリンター３との通信は、プリンター３に実装されたＭＩＢファイル３７３（以下では、「ＭＩＢ」と適宜称する）に基づき実行される。このＭＩＢには、標準ＭＩＢと拡張ＭＩＢ（プライベートＭＩＢ）との２種類がある。特に本実施形態の拡張ＭＩＢは、情報仲介動作で収集される各種の稼働情報の格納アドレスのうち、標準ＭＩＢには示されない格納アドレス等を示すものであり、例えばプリンター３の出荷時等にプリンター３のメーカーにより実装される。これらのＭＩＢのうち、標準ＭＩＢは全プリンター３に実装されているが、拡張ＭＩＢは必ずしも全プリンター３に実装されているとは限らない。そこで、仲介サーバー５は、ＭＩＢの確認を実行する。
【００４５】
図７は、プリンターのＭＩＢの確認動作を示すフローチャートである。図７のフローチャートは、プログラムＰに基づき制御部５１により実行される。ステップＳ１０１では、記憶部５５のプリンターテーブルＴｐにアクセスして、確認対象となるプリンター３のプリンターＩＰを取得する。さらに、プリンターテーブルＴｐの記録内容を参照することで、当該プリンター３についてＭＩＢツリーを取得済みであるか否かを判断する（ステップＳ１０２）。ＭＩＢツリーを取得済みである場合（ステップＳ１０２で「ＹＥＳ」の場合）は、そのままステップＳ１０４に進む一方、ＭＩＢツリーが未取得である場合（ステップＳ１０２で「ＮＯ」の場合）は、ステップＳ１０３でＭＩＢツリーを取得してからステップＳ１０４に進む。
【００４６】
ステップＳ１０４では、プリンター３から取得したＭＩＢツリーに基づき、当該プリンター３に拡張ＭＩＢが実装されているか否かを判断する。そして、拡張ＭＩＢが実装されている場合（ステップＳ１０４で「ＹＥＳ」の場合）は、その旨をプリンターテーブルＴｐに記録し（ステップＳ１０５）、拡張ＭＩＢが実装されていない場合（ステップＳ１０４で「ＮＯ」の場合）は、その旨をプリンターテーブルＴｐに記録する（ステップＳ１０６）。ステップＳ１０７では、仲介サーバー５に接続される全プリンター３について検索を終えたか否かを判断する。未検索のプリンター３が有る場合（ステップＳ１０７で「ＮＯ」の場合）は、ステップＳ１０１に戻って別のプリンター３についてステップＳ１０１〜Ｓ１０６を実行する。一方、全プリンター３を検索済みである場合（ステップＳ１０７で「ＹＥＳ」の場合）は、図７のフローチャートを終了する。こうして、標準ＭＩＢのみが実装されているのか、標準ＭＩＢおよび拡張ＭＩＢの両方が実装されているのかが、各プリンター３について確認されて、プリンターテーブルＴｐに記録される。
【００４７】
このようにプリンター３に実装されたＭＩＢの種類を確認するのは、次の理由による。つまり、拡張ＭＩＢが実装されているプリンター３は、仲介サーバー５による情報仲介動作に最適化されて設計されており、稼働情報を蓄積する稼働情報バッファー３７１の容量が大きい可能性が高い。そのため、仲介サーバー５から当該プリンター３へアクセスする頻度が低くても、上述の稼働情報の取りこぼしが生じる可能性は低い。これに対して、拡張ＭＩＢが実装されていないプリンター３は、仲介サーバー５による情報仲介動作に必ずしも最適化されて設計されておらず、稼働情報を蓄積する稼働情報バッファー３７１の容量が小さい可能性が高い。そのため、仲介サーバー５からプリンター３へアクセスする頻度が低いと、上述の稼働情報の取りこぼしが生じる可能性が高い。そこで、後述するアクセス頻度の決定にあたってプリンター３に実装されるＭＩＢの種類を参考にするために、ＭＩＢの種類を確認する。すなわち、稼働情報バッファー３７１の容量が小さい可能性が高いプリンターに関しては、稼働情報を収集する頻度を高くした方が、稼働情報の収集漏れを低減できる。
【００４８】
図８は、プリンターへのアクセス頻度の初期設定動作を示すフローチャートである。図８のフローチャートは、プログラムＰに基づき制御部５１により実行される。ステップ２０１では、仲介サーバー５に接続されるプリンター３の数を確認する。ステップＳ２０２では、確認したプリンター３の数が閾数（例えば１００）より多いか否かを判断する。なお、この閾数は、操作部５３２を用いてユーザーにより予め設定され、記憶部５５に記憶される。そして、プリンター３の数が閾数以下である場合（ステップＳ２０２で「ＮＯ」の場合）は、各プリンター３のアクセス頻度の設定値を現状から変更することなく、図８のフローチャートを終える。
【００４９】
一方、プリンター３の数が閾数より多い場合（ステップＳ２０２で「ＹＥＳ」の場合）は、各プリンター３へアクセスする仲介サーバー５の負担を軽減するために、ステップＳ２０３以後のステップを実行する。ステップＳ２０３では、仲介サーバー５に接続されたプリンター３のうち、拡張ＭＩＢを実装したプリンター３が存在するか否かを確認する。拡張ＭＩＢを実装したプリンター３が存在する場合（ステップＳ２０３で「ＹＥＳ」の場合）は、拡張ＭＩＢを実装したプリンター３へのアクセス頻度の設定値を下げて（ステップＳ２０４）、図８のフローチャートを終了する。これは、上述した通り、プリンター３が有する稼働情報バッファー３７１の容量が大きく、プリンター３へのアクセス頻度を下げる余地があると推測できることに基づく。一方、拡張ＭＩＢを実装したプリンター３が存在しない場合（ステップＳ２０３で「ＮＯ」の場合）は、アクセス頻度が上位のプリンター３（例えば、上位１０台のプリンター３）へのアクセス頻度の設定値を下げて（ステップＳ２０５）、図８のフローチャートを終了する。
【００５０】
こうして、初期設定が終了すると、仲介サーバー５は、設定された頻度で各プリンター３にアクセスして、各プリンター３から稼働情報を収集する。また、稼働情報の収集を実行しつつ、各プリンター３へのアクセス頻度を適宜変更する。なお、アクセス頻度とは、所定の単位期間にプリンター３へアクセスする回数に相当する。したがって、アクセス頻度を上げるとは、単位期間にプリンター３へアクセスする回数を増やす（換言すれば、プリンター３へアクセスする間隔を短くする）ことに相当し、アクセス頻度を下げるとは、所定期間にプリンター３へアクセスする回数を減らず（換言すれば、プリンター３へアクセスする間隔を長くする）ことに相当する。
【００５１】
図９は、プリンターからの稼働情報の収集と並行して実行されるプリンターへのアクセス頻度の設定動作を示すフローチャートである。図９のフローチャートは、プログラムＰに基づき制御部５１により実行される。ステップＳ３０１では、プリンター３から稼働情報を取得したか否かを確認する。そして、稼働情報の取得が確認されると（ステップＳ３０１で「ＹＥＳ」）、取得した稼働情報と、当該稼働情報の取得対象となったプリンター３の取得履歴テーブルＴｏに記録される稼働情報とを比較する。つまり、ステップＳ３０１で稼働情報を取得したプリンター３から過去に取得した稼働情報と、ステップＳ３０１で今回取得した稼働情報とを比較する。
【００５２】
具体的には、今回取得した稼働情報の個数をＮ個（Ｎは１以上の整数）とすると、当該稼働情報の取得前に取得履歴テーブルＴｏに記録される稼働情報のうちの最新のＮ個の稼働情報と、今回取得したＮ個の稼働情報とが、少なくとも一部で一致するか否かを判断する。さらに言えば、今回取得したＮ個の稼働情報のうち最先の稼働情報が、稼働情報の取得前の取得履歴テーブルＴｏの最新のＮ個の稼働情報のうちに存在するか否かを判断する。
【００５３】
ステップＳ３０２での比較の結果、少なくとも一部の稼働情報が一致している場合（ステップＳ３０３で「ＹＥＳ」の場合）は、図５の「Ｔｂ１」に例示した稼働情報の取得状況に相当し、稼働情報の取得漏れ（取りこぼし）の可能性は無いと判断する（ステップＳ３０４）。そして、プリンター３へのアクセス頻度の設定値を維持すると決定する（ステップＳ３０５）。
【００５４】
一方、ステップＳ３０２での比較の結果、全ての稼働情報が一致しない場合（ステップＳ３０３で「ＮＯ」の場合）は、図５の「Ｔｂ２」あるいは「Ｔｂ３」に例示した稼働情報の取得状況に相当する。前者では稼働情報の取得漏れは無いが、後者では稼働情報の取得漏れが発生している。したがって、この場合は、稼働情報の取得漏れの可能性が有ると判断する（ステップＳ３０６）。そして、プリンター３へのアクセス頻度を所定割合（例えば、２倍）上げる（ステップＳ３０７）。なお、アクセス頻度を上げる割合は、操作部５３２を用いてユーザーにより予め設定され、記憶部５５に記憶される。
【００５５】
以上に説明したように本実施形態では、複数のプリンター３と通信可能な仲介サーバー５が、プリンター３の稼働に応じて変化する稼働情報をプリンター３から収集するためにプリンター３にアクセスする。しかも、このアクセスのタイミングはプリンター３毎に決定される。したがって、複数のプリンター３のそれぞれに適当なタイミングでアクセスして、各プリンター３から稼働情報を収集することが可能となっている。
【００５６】
また、プリンター３から仲介サーバー５への稼働情報の収集漏れが生じた可能性の有無を判断した結果に基づき、プリンター３にアクセスするタイミングをプリンター３毎に決定している。この際、仲介サーバー５が収集した稼働情報を取得履歴テーブルＴｏに記録する。そして、プリンター３にアクセスして収集した稼働情報と、取得履歴テーブルＴｏに記録される稼働情報とを比較した結果に基づき、プリンター３からの稼働情報の収集漏れが生じた可能性の有無を判断する。これによって、稼働情報の収集における稼働情報の収集漏れ（失敗）の可能性の有無を把握することが可能となっている。
【００５７】
また、稼働情報の収集漏れが生じた可能性が有ると判断したプリンター３へアクセスする頻度を上げる。これによって、稼働情報の収集漏れの発生を抑制することが可能となっている。
【００５８】
また、仲介サーバー５が通信可能な複数のプリンター３の数を確認する。そして、確認されたプリンター３の数が閾数より多い場合は、複数のプリンター３のうちの所定のプリンター３へアクセスする頻度を下げる。これによって、通信可能なプリンター３の数が多い場合であっても、仲介サーバー５にかかる負荷を抑制することが可能となっている。
【００５９】
このように本実施形態では、プリンター３が本発明の「プリンター」の一例に相当し、仲介サーバー５が本発明の「情報収集装置」の一例に相当し、取得履歴テーブルＴｏが本発明の「取得履歴テーブル」の一例に相当する。
【００６０】
なお、本発明は上記実施形態に限定されるものではなく、その趣旨を逸脱しない限りにおいて上述したものに対して種々の変更を加えることが可能である。そこで、例えばプリンターからの稼働情報の収集と並行してプリンター３へのアクセス頻度の低下を試みる図１０のフローチャートを実行しても良い。ここで、図１０は、プリンターへのアクセス頻度の低下の試行動作を示すフローチャートである。図１０のフローチャートは、プログラムＰに基づき制御部５１により実行される。
【００６１】
ステップＳ４０１では、試行対象となるプリンター３へのアクセス頻度を所定割合（例えば半分）下げる。なお、アクセス頻度を下げる割合は、操作部５３２を用いてユーザーにより予め設定され、記憶部５５に記憶される。ステップＳ４０２では、プリンター３から稼働情報を取得したか否かを確認する。そして、稼働情報の取得が確認されると（ステップＳ４０２で「ＹＥＳ」）、取得した稼働情報と、当該稼働情報の取得対象となったプリンター３の取得履歴テーブルＴｏに記録される稼働情報とを比較する。かかる比較は上述のステップＳ３０２と同様にして実行する。
【００６２】
ステップＳ４０３での比較の結果、少なくとも一部の稼働情報が一致している場合（ステップＳ４０２で「ＹＥＳ」の場合）は、図５の「Ｔｂ１」に例示した稼働情報の取得状況に相当し、稼働情報の取得漏れ（取りこぼし）の可能性は無いと判断する（ステップＳ４０５）。そして、プリンター３へのアクセス頻度の設定値を維持すると決定する（ステップＳ４０６）。すなわち、試行対象のプリンター３へのアクセス頻度を下げると決定する。
【００６３】
一方、ステップＳ４０３での比較の結果、全ての稼働情報が一致しない場合（ステップＳ４０２で「ＮＯ」の場合）は、図５の「Ｔｂ２」あるいは「Ｔｂ３」に例示した稼働情報の取得状況に相当する。前者では稼働情報の取得漏れは無いが、後者では稼働情報の取得漏れが発生している。したがって、この場合は、稼働情報の取得漏れの可能性が有ると判断する（ステップＳ４０７）。そして、プリンター３へのアクセス頻度の設定値をステップＳ４０１の実行前の値に戻す（ステップＳ４０８）。すなわち、試行対象のプリンター３へのアクセス頻度を下げないと決定する。
【００６４】
図１０に示す構成では、稼働情報の収集に漏れが生じた可能性は無いと判断したプリンター３へアクセスする頻度を下げる。これによって、仲介サーバー５にかかる負荷を抑制することが可能となっている。
【００６５】
ちなみに、アクセス頻度を下げる割合は、ユーザーの設定によらず、アクセス履歴テーブルＴａを参照して行っても良い。つまり、アクセス履歴テーブルＴａには、仲介サーバー５からプリンター３へのアクセスの履歴が記録されている。したがって、アクセス履歴テーブルＴａを参照すれば、仲介サーバー５がプリンター３にアクセスした頻度の変遷を把握することができる。そこで、ステップＳ４０１では、所定期間（例えば過去３か月）の間で最低のアクセス頻度を取得履歴テーブルＴｏから求め、この最低のアクセス頻度にまで下げるように構成しても良い。このような構成では、プリンター３へのアクセスの頻度を下げるにあたっては過去の実績が参照される。そのため、稼働情報の収集漏れの発生を抑制しつつ、プリンター３へのアクセスの頻度を下げることができる。
【符号の説明】
【００６６】
１…情報収集システム、３…プリンター、５…仲介サーバー、７…管理サーバー、１０…情報仲介システム、３７１…稼働情報バッファー、３７３…ＭＩＢファイル、Ｔｏ…取得履歴テーブル、Ｔａ…アクセス履歴テーブル
【図１】
0006417593.tif 000002
【図２】
0006417593.tif 000003
【図３】
0006417593.tif 000004
【図４】
0006417593.tif 000005
【図５】
0006417593.tif 000006
【図６】
0006417593.tif 000007
【図７】
0006417593.tif 000008
【図８】
0006417593.tif 000009
【図９】
0006417593.tif 000010
【図１０】
0006417593.tif 000011