(58)【調査した分野】(Int.Cl.,DB名)
複数の外部装置と通信するための接続情報を含むファイルを記憶する記憶手段と通信し、当該複数の外部装置から情報を取得する情報処理装置で実行可能なプログラムであって、
前記情報処理装置を、
前記記憶手段に記憶されているファイルから前記接続情報を取得する接続情報取得手段と、
前記記憶手段に記憶されているファイルに基づき、前記複数の外部装置との通信に用いる通信プロセスの数を決定するプロセス数決定手段と、
前記接続情報取得手段により前記ファイルから取得された接続情報及び前記プロセス数決定手段により決定された数分の通信プロセスを用いて、前記複数の外部装置から前記情報を取得する情報取得手段
として機能させるためのプログラム。
【発明を実施するための形態】
【0011】
以下、図面を参照して本発明の実施形態を詳細に説明する。
図1は、本発明の情報処理システム100の構成の一例を示す図である。
【0012】
図1に示すように、情報処理装置101が各エリアの事業所などに設置された複数の画像形成装置111〜133とLAN(Local Area Network)やWAN(Wide Area Network)などのネットワーク140を介して接続される。なお、これらの機器は、WANを用いずLANで直接接続される形態であってもよい。どちらの構成にしても情報処理装置101は、画像形成装置111〜133と通信可能に接続される。
【0013】
画像形成装置111〜133は、プリンタ、スキャナ、コピー、ファクシミリ等のうち少なくとも1つの機能を有する画像形成装置である。なお、この実施形態においては、情報取得対象機器を画像形成装置としたが、これに限定するものではなく、ネットワークに接続されている外部装置であれば、記憶装置、処理装置、入力装置、出力装置、センサ、などの機器やICカードなどの記憶媒体などであってもよい。また、その場合、取得する情報は、外部装置の記憶装置に記憶された装置情報、印刷カウンタなどのカウンタ情報、ステータス情報、ジョブ情報、文字情報、画像情報、音声情報等のうち少なくとも1つの情報である。
【0014】
画像形成装置111〜133は、エリア毎にグループ分けされており、
図1では、関東エリアには画像形成装置111〜113、中部エリアには画像形成装置121〜123、九州エリアには画像形成装置131〜133の画像形成装置が設置されている。
【0015】
なお、この実施形態においては、画像形成装置が設置されている事業所などのエリアでグループ分けするとしたが、これに限定するものではなく、例えば、画像形成装置が設置されている建物のフロアなどの場所、画像形成装置が設置されている組織など、画像形成装置の機種、画像形成装置の用途などにより、グループ分けするとしてもよい。
【0016】
情報処理装置101は、ネットワーク140に通信可能に接続される装置である。PC(Personal Computer)やサーバ、プリンタ、複合機など、ネットワーク140に接続される機器であれば、種類を問わない。本実施形態では、PCを例に挙げる。例えば、情報処理装置101は、画像形成装置111〜133から情報を取得するPCで、ネットワーク140を介してSNMP(Simple Network Management Protocol)などを使って、画像形成装置111〜133と通信し、MIB(Management Information Base)情報を取得することができる機能を搭載したPCである。
【0017】
図2は、本発明の実施形態における情報処理装置101のハードウェア構成の一例を示す図である。
CPU201は、システムバス204に接続される各デバイスやコントローラを統括的に制御する。
また、ROM202あるいは外部メモリ211には、CPU201の制御プログラムであるBIOS(Basic Input / OutputSystem)やオペレーティングシステムプログラム(以下、OSという。)が記憶されている。また外部メモリ211には、各サーバ或いは各PCの実行する機能を実現するために必要な各種プログラム等が記憶されている。RAM203は、CPU201の主メモリ、ワークエリア等として機能する。
CPU201は、処理の実行に際して必要なプログラム等をRAM203にロードして、プログラムを実行することで各種動作を実現するものである。
また、入力コントローラ205は、キーボードやマウス等のポインティングデバイスといった入力デバイス209からの入力を制御する。
ビデオコントローラ206は、ディスプレイ210等の表示器への表示を制御する。表示器はCRTや液晶ディスプレイでも構わない。
【0018】
メモリコントローラ207は、ハードディスクやフレキシブルディスク或いはPCMCIAカードスロットにアダプタを介して接続されるカード型メモリ等の外部メモリ211へのアクセスを制御する。外部メモリ211(記憶手段)は、ブートプログラム、ブラウザソフトウエア、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、各種データ等を記憶する。
【0019】
通信I/Fコントローラ208は、ネットワークを介して、外部機器と接続・通信するものであり、ネットワークでの通信制御処理を実行する。例えば、TCP/IPを用いたインターネット通信等が可能である。
【0020】
尚、CPU201は、例えばRAM203内の表示情報用領域へアウトラインフォントの展開(ラスタライズ)処理を実行することにより、ディスプレイ210上での表示を可能としている。また、CPU201は、ディスプレイ210上の不図示のマウスカーソル等でのユーザ指示を可能とする。
【0021】
次に、画像形成装置111〜133のハードウェア構成の一例について
図3を用いて説明する。
本発明の各種装置及びサーバが後述する各種処理を実行するために用いられる各種プログラム等は外部メモリ211に記録されており、必要に応じてRAM203にロードされることによりCPU201によって実行されるものである。さらに、本発明に係わるプログラムが用いる定義ファイルや各種情報テーブルは外部メモリ211に格納されている。
【0022】
コントローラユニット316は、画像入力デバイスとして機能するスキャナ部314や、画像出力デバイスとして機能するプリンタ部312と接続する一方、LANやWANと接続することで、画像データやデバイス情報の入出力を行う。
【0023】
CPU301は、システム全体を制御するプロセッサである。RAM302は、CPU301が動作するためのシステムワークメモリであり、プログラムを記録するためのプログラムメモリや、画像データを一時記録するための画像メモリである。
【0024】
ROM303は、システムのブートプログラムや各種制御プログラムが格納されている。ハードディスクドライブ(HDD)304は、システムを制御するための各種プログラム,画像データ等を格納する。
【0025】
操作部インタフェース(操作部I/F)307は、操作部308とのインタフェース部であり、操作部308に表示する画像データを操作部308に対して出力する。また、操作部I/F307は、操作部308から本システム使用者が入力した情報(例えば、ユーザ情報等)をCPU301に伝える役割をする。なお、操作部308はタッチパネルを有する表示部を備え、該表示部に表示されたボタンを、ユーザが押下(指等でタッチ)することにより、各種指示を行うことができる。
【0026】
ネットワークインタフェース(Network I/F)305は、ネットワーク(LAN)に接続し、データの入出力を行う。なお、本発明における情報処理装置101によるMIB情報の取得は、Network I/F305を介して行われる。モデム(MODEM)306は、公衆回線に接続し、FAXの送受信等のデータの入出力を行う。
【0027】
外部インタフェース(外部I/F)318は、USB(Universal Serial Bus)、IEEE1394(Institute of Electrical and Electronic Engineers 1394)、プリンタポート、RS−232C(Recommended Standard 232 version C)等の外部入力を受け付けるI/F部であり、本実施形態においては認証で必要となるICカードの読み取り用のカードリーダ319が外部I/F318に接続されている。
【0028】
更に、CPU301は、この外部I/F318を介してカードリーダ319によるICカードからの情報読み取りを制御し、当該ICカードから読み取られた情報を取得可能である。以上のデバイスがシステムバス309上に配置される。
【0029】
イメージバスインタフェース(IMAGE BUS I/F)320は、システムバス309と画像データを高速で転送する画像バス315とを接続し、データ構造を変換するバスブリッジである。
【0030】
画像バス315は、PCIバス(Peripheral Components Interconnect bus)またはIEEE1394で構成される。画像バス315上には以下のデバイスが配置される。
ラスタイメージプロセッサ(RIP)310は、ベクトルデータをビットマップイメージに展開する。
【0031】
プリンタインタフェース(プリンタI/F)311は、プリンタ部312とコントローラユニット316を接続し、画像データの同期系/非同期系の変換を行う。
【0032】
スキャナインタフェース(スキャナI/F)313は、スキャナ部314とコントローラユニット316を接続し、画像データの同期系/非同期系の変換を行う。
【0033】
画像処理部317は、入力画像データに対し補正、加工及び編集やプリント出力画像データに対して、プリンタの補正、解像度変換等を行う。また、これに加えて、画像処理部317は、画像データの回転や、多値画像データに対してはJPEG(Joint Photographic Experts Group)、2値画像データはJBIG(Joint Bi−level Image Experts Group)等の圧縮伸張処理を行う。
【0034】
スキャナ部314は、原稿となる紙上の画像を照明し、CCDラインセンサで走査することで、ラスタイメージデータとして電気信号に変換する。原稿用紙は原稿フィーダのトレイにセットし、装置使用者が操作部308から読み取り起動指示することにより、CPU301がスキャナ部314に指示を与え、フィーダは原稿用紙を1枚ずつフィードし原稿画像の読み取り動作を行う。
【0035】
プリンタ部312は、ラスタイメージデータを用紙上の画像に変換する部分であり、その方式は感光体ドラムや感光体ベルトを用いた電子写真方式、微少ノズルアレイからインクを吐出して用紙上に直接画像を印字するインクジェット方式等があるが、どの方式でも構わない。プリント動作の起動は、CPU301からの指示によって開始する。なお、プリンタ部312には、異なる用紙サイズまたは異なる用紙向きを選択できるように複数の給紙段を持ち、それに対応した用紙カセットを備える。
【0036】
操作部308は、LCD(Liquid Crystal Display)表示部を有し、LCD上にタッチパネルシートが貼られており、システムの操作画面を表示するとともに、表示してあるキーが押されるとその位置情報を操作部I/F307を介してCPU301に伝える。また、操作部308は、各種操作キーとして、例えば、スタートキー、ストップキー、IDキー、リセットキー等を備える。
【0037】
ここで、操作部308のスタートキーは、原稿画像の読み取り動作を開始する時などに用いる。スタートキーの中央部には、緑と赤の2色LEDがあり、その色によってスタートキーが使える状態にあるかどうかを示す。また、操作部308のストップキーは、稼働中の動作を止める働きをする。また、操作部308のIDキーは、使用者のユーザIDを入力する時に用いる。リセットキーは、操作部からの設定を初期化する時に用いる。
【0038】
以上のような構成によって、複合機103は、スキャナ部314から読み込んだ画像データをNetwork I/F305からLANに送信し、LANから受信した印刷データをNetwork I/F305を経由してプリンタ部312より印刷出力することができる。
【0039】
また、スキャナ部314から読み込んだ画像データや複合機103に送信されたデータをモデム306により、公衆回線上にFAX送信し、公衆回線からFAX受信した画像データをプリンタ部312により出力することできる。
図12は、情報処理システム100の機能構成の一例を示すブロック図である。
接続情報記憶部1201は、複数の外部装置に接続するための接続情報を複数のファイルに分けて記憶する機能部である。
接続情報取得部1202は、接続情報記憶部1201により記憶されているファイルから接続情報を取得する機能部である。
情報取得部1203は、接続情報取得部1202により取得された接続情報を用いて、外部装置から情報を取得する機能部である。
【0040】
実行制御部1204は、接続情報記憶部1201により記憶されているファイルに係る数に応じた数の通信プロセスを実行すべく、アプリケーションの実行要求を繰り返し制御する機能部である。
引数受付部1205は、アプリケーションの実行要求において引数を受け付ける機能部である。
【0041】
実行制御部1204は、引数受付部1205により受け付けた引数に接続情報が含まれない場合は、接続情報取得部1202を用いて前記接続情報を取得し、一方、含まれる場合は、アプリケーションの実行要求し、接続情報と情報取得部1203とを用いて接続情報に対応する外部装置から情報を取得する機能部である。
【0042】
接続情報取得部1202は、複数の外部装置に接続するための接続情報を、外部装置の設置されている場所、外部装置の設置されている組織、外部装置の機種、または外部装置の用途に応じて、複数のファイルに分けて記憶する機能部である。
【0043】
図4は、カウンタ取得処理の一例を示すフローチャートである。また、
図5は、情報処理装置101のフォルダ構成の一例を示す図である。
以下、
図4を用いて、カウンタ取得処理について説明する。
ステップS401において、情報処理装置101のCPU201は、カウンタ取得ツール150の起動命令を受け付け、カウンタ取得ツール150を起動する。具体的には、ユーザ操作やバッチ処理により、
図5のカウンタ取得ツール,exeファイルの実行指示を受け付け、カウンタ取得ツール150を起動する。
【0044】
ステップS402において、情報処理装置101のCPU201は、起動命令の引数を受け付け、引数の有無を判定する。すなわち、ステップS402は、アプリケーションの実行要求において引数を受け付ける処理の一例を示すステップである。引数がない場合はステップS403に進み、引数がある場合はステップS412に進む。すなわち、ステップS402は、受け付けた引数に接続情報が含まれない場合は、接続情報を取得し、一方、含まれる場合は、アプリケーションの実行要求し、接続情報を用いて接続情報に対応する外部装置から情報を取得する処理の一例を示すステップである。
【0045】
なお、ユーザ操作やバッチ処理によりカウンタ取得ツール150が起動された場合、引数はなく、後述するステップS409にてカウンタ取得ツール150が起動された場合、引数がある。また、ユーザ操作やバッチ処理により起動されたカウンタ取得ツール150のプロセスを「親プロセス」と呼び、後述するステップS409にて起動されたカウンタ取得ツール150のプロセスを「子プロセス」と呼ぶ。
【0046】
ステップS403において、情報処理装置101のCPU201は、親プロセスが既に起動しているか否かを判定する。親プロセスが既に起動している場合はステップS411に進み、親プロセスが起動していない場合はステップS404に進む。
【0047】
ステップS404において、情報処理装置101のCPU201は、inフォルダ(
図5)内のプリンタリストファイル700の数をカウントし、子プロセスの実行プロセス数としてRAM203に記憶する。この実施例においては、inフォルダに「関東エリア.csv」「中部エリア.csv」「九州エリア.csv」の3つのプリンタリストファイル700が記憶されているため、子プロセスの実行プロセス数=3としてRAM203に記憶する。
【0048】
すなわち、情報処理装置101の外部メモリ211は、複数の外部装置に接続するための接続情報を複数のファイルに分けて記憶する手段の一例を示す機能部である。
【0049】
なお、この実施形態においては、プリンタリストファイル700の数を実行プロセス数としたが、これに限定するものではなく、inフォルダ内の動作設定ファイル600の数を実行プロセス数としてもよい。また、この実施形態においては、ファイルの数を実行プロセス数としたが、これに限定するものではなく、動作設定ファイル600やプリンタリストファイル700などのファイル内に記載された数、これらのファイルサイズ、これらのファイルに含まれる文字数、またはこれらのファイルに含まれるリンクあるいは変数が示す数、に応じた数を実行プロセス数としてもよい。
【0050】
また、上記においては、ファイルの数またはファイル内に記載された数を実行プロセス数としたが、これに限定するものではなく、これらの数に応じた数を実行プロセス数としてもよい。
【0051】
ステップS405において、情報処理装置101のCPU201は、ステップS404にてカウントしたプリンタリストファイルの数を判定し、プリンタリストファイルの数が16より多い場合は、ステップS411に進み、プリンタリストファイル数が16以下の場合は、ステップS406に進む。また、16より多い場合、ステップS411に進み、エラーとするのは、プリンタリストファイルの数だけ子プロセスが起動されることになるため、並列処理による情報処理装置101やネットワークなどの負荷が増え過ぎないようにするためである。なお、この実施形態においては、プリンタリストファイル数の上限値を16としたが、これに限定するものではなく、情報処理装置101やネットワークなどの負荷を考慮し、上限値を決定する。
【0052】
ステップS406において、情報処理装置101のCPU201は、フォルダ内のプリンタリストファイルの形式チェックを行う。具体的には、プリンタリストファイルにIPアドレスが記載されていること、禁則文字が含まれていないこと等のチェックを行う。これらのチェックがNGの場合はステップS411に進み、OKの場合はステップS407に進む。
【0053】
ステップS407において、情報処理装置101のCPU201は、ディスプレイにカウンタ取得の実行開始確認ダイアログ900(
図9)を表示する。ユーザによる「いいえ」の入力を受け付けた場合はステップS411に進み、ユーザによる「はい」の入力を受け付けた場合はステップS408に進む。なお、バッチ処理によるカウンタ取得ツール150の実行の場合は、ステップS407の処理は実行せず、ステップS408に進む。
【0054】
ステップS408において、情報処理装置101のCPU201は、ステップS404にてカウントしたプリンタリストファイル数分だけステップS409を繰り返す。
【0055】
ステップS409において、情報処理装置101のCPU201は、プリンタリストファイル名を引数にして、カウンタ取得ツール150を起動する。すなわち、ステップS409は、ファイルに係る数に応じた数の通信プロセスを実行すべく、アプリケーションの実行要求を繰り返し制御する処理の一例を示すステップである。なお、ここで起動されるカウンタ取得ツール150を「子プロセス」と呼ぶ。具体的には、inフォルダ(
図5)内のプリンタリストファイル700のファイル名を1つ取得し、そのファイル名を引数にして、カウンタ取得ツール150を起動する。例えば、“カウンタ取得ツール.exe 関東エリア”のような命令を用いて、関東エリアのプリンタから情報を取得するカウンタ取得ツール150を起動する。
【0056】
ステップS410において、情報処理装置101のCPU201は、ステップS409にて起動した全ての子プロセスの処理が終了するのを待機し、全ての子プロセスの処理が終了した場合、カウンタ取得処理を終了する。
【0057】
ステップS411において、情報処理装置101のCPU201は、エラーメッセージ800(
図8)のようなエラーメッセージを表示する。ユーザによる「OK」の入力を受け付けた場合、カウンタ取得処理を終了する。
【0058】
ステップS412において、情報処理装置101のCPU201は、カウンタ取得ツール150の動作設定ファイル600(
図6)の動作設定情報を読み込む。具体的には、子プロセス起動時の引数となったプリンタリストファイル名に拡張子「.ini」に加えたファイルを開き、ファイル内容を読み取る。例えば、ステップS409にて、“カウンタ取得ツール.exe 関東エリア”の命令で起動された子プロセスの場合、ステップS412において動作設定ファイル600「関東エリア.ini」から動作設定情報を読み込む。
【0059】
ステップS413において、情報処理装置101のCPU201は、カウンタ取得ツール150のプリンタリストファイル700(
図7)のプリンタリスト情報を読み込む。すなわち、ステップS413は、ファイルから接続情報を取得する処理の一例を示すステップである。具体的には、子プロセス起動時の引数となったプリンタリストファイル名に拡張子「.csv」に加えたファイルを開き、ファイル内容を読み取る。例えば、ステップS409にて、“カウンタ取得ツール.exe 関東エリア”の命令で起動された子プロセスの場合、ステップS412においてプリンタリストファイル700「関東エリア.csv」からプリンタリスト情報を読み込む。
【0060】
ステップS414において、情報処理装置101のCPU201は、ステップS413にて読み込んだプリンタリスト情報に記載されているプリンタの数だけ、ステップS415〜ステップS420を繰り返す。
【0061】
ステップS415において、情報処理装置101のCPU201は、カウンタ取得ツール150のプログレスバー1000(
図10)を表示する。具体的には、プリンタリスト情報に記載されているプリンタの数を100として、カウンタ情報の取得が完了したプリンタ数の割合をパーセンテージで表す。
【0062】
ステップS416において、情報処理装置101のCPU201は、ステップS412にて読込みを行ったカウンタ取得ツール150の動作設定ファイル600にて設定されている項目数分繰り返す。例えば、動作設定ファイル600にてKEY3〜KEY10のうち「1」の項目が5つあった場合、ステップS414にて情報取得対象としたプリンタに対して、情報取得リクエストを5回繰り返すことになる。
【0063】
ステップS417において、情報処理装置101のCPU201は、ステップS413にて読込みを行ったプリンタリストファイル700に記載されているプリンタに対して、情報取得リクエストを送信する。すなわち、ステップS417は、取得された接続情報を用いて、外部装置から情報を取得する処理の一例を示すステップである。例えば、動作設定ファイル600にてKEY8の値が「1」の場合、ステップS414にて情報取得対象としたプリンタに対して、「カウンタトータル」の情報取得リクエストを送信する。
【0064】
ステップS418において、情報処理装置101のCPU201は、ステップS417にて送信した情報取得リクエストに対応する情報を取得する。なお、カウンタ取得ツール150の動作設定ファイル600における「KEY1」の時間内に情報取得できなかった場合は、ステップS416の繰り返し処理から抜け、「KEY1」の時間内に情報取得が完了した場合は、ステップS419に進む。例えば、プリンタ1から、「カウンタトータル」の値=320が取得できたとする。
【0065】
ステップS419において、情報処理装置101のCPU201は、ステップS418にて取得した情報を、カウンタ取得ツール150のカウンタ情報ファイル1100(
図11)のように書き込む。次にステップS416に戻り、次の項目について情報取得リクエストを送信する。
【0066】
ステップS416〜ステップS420の繰り返し処理が終了した場合、ステップS414に戻り、プリンタリストファイル700から読み込んだ、次のプリンタについてステップS416〜ステップS420の繰り返し処理を行う。
ステップS414〜ステップS421の繰り返し処理が終了した場合、当該子プロセスの処理を終了する。
【0067】
ステップS412〜ステップS421により、1つの子プロセスで1つのプリンタリストファイル700についての情報取得処理が行うことができる。 このステップS412〜ステップS421をプリンタリストファイル700の数だけ繰り返すことにより、inフォルダ内のすべてのプリンタリストファイル700について、情報取得処理が行われる。
以上により、
図4のカウンタ取得処理の説明を終了する。
【0068】
以上により、ネットワークに接続されている画像形成装置などの外部装置の数が多い場合にも、外部装置の設置されている各エリア・事業所・フロア・組織などのグループ毎に並列的に情報を取得するため、すべての外部装置から直列的に情報を取得する場合に比べて、時間を短縮することができる。
【0069】
また、外部装置の設置されている各エリア・事業所・フロア・組織などのグループ毎に、外部装置に記憶されている情報を取得することができる。また、カウンタ情報取得ツールのような情報取得アプリケーションを複数用意する必要はない。また、グループ毎に外部装置のリストファイルを準備した場合でも、オペレータが外部装置リストファイルの選択を複数回繰り返す必要はなく、情報取得アプリケーションの起動は1回で済む。
【0070】
以上のように、前述した実施形態の機能を実現するプログラムを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記録媒体に格納されたプログラムを読出し、実行することによっても本発明の目的が達成されることは言うまでもない。
【0071】
この場合、記録媒体から読み出されたプログラム自体が本発明の新規な機能を実現することになり、そのプログラムを記録した記録媒体は本発明を構成することになる。
【0072】
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、DVD−ROM、磁気テープ、不揮発性のメモリカード、ROM、EEPROM、シリコンディスク等を用いることが出来る。
【0073】
また、コンピュータが読み出したプログラムを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0074】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0075】
また、本発明は、複数の機器から構成されるシステムに適用しても、ひとつの機器から成る装置に適用しても良い。また、本発明は、システムあるいは装置にプログラムを供給することによって達成される場合にも適応できることは言うまでもない。この場合、本発明を達成するためのプログラムを格納した記録媒体を該システムあるいは装置に読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
【0076】
上記プログラムの形態は、オブジェクトコード、インタプリタにより実行されるプログラムコード、OS(オペレーティングシステム)に供給されるスクリプトデータ等の形態から成ってもよい。