以下に添付図面を参照して、この発明にかかる情報処理装置、情報処理システム、情報処理方法、情報処理プログラム、及び記憶媒体の一実施の形態を詳細に説明する。
(第1の実施の形態)
図1は、第1の実施の形態に係る情報処理システム1の構成例を示す図である。図1に示すように、本実施の形態に係る情報処理システム1は、1又は複数のMFP(Multi Function Peripheral)100A〜100Nと、認証サーバ150と、ログサーバ160と、が、所定のネットワーク(例えば「LAN:Local Area Network」)170で接続される構成となっている。なお、以降の説明では、MFP100A〜100Nの総称を「MFP100」とする。
MFP100は、ユーザからの要求ジョブ(要求された画像処理)に応じて画像処理を実行する装置とする。このMFP100は、利用時にユーザの認証を行う必要がある。そして、このMFP100では、機能を利用する際に、使用可能な上限が設定されており、当該上限を超えて利用する場合には、当該機能の使用に制限が加えられる。
なお、本実施の形態では、情報処理装置として、コピー機能、プリンタ機能、スキャナ機能およびファクシミリ機能のうち少なくとも2つの機能を有するMFPに適用した例を挙げて説明するが、複写機、プリンタ、スキャナ装置、ファクシミリ装置等の画像形成装置や、PC(Personal Computer)などにも適用することができる。
ログサーバ160は、ユーザ毎に、MFP100を利用した利用履歴を、ログとして管理する。認証サーバ150は、MFP100を利用するユーザの認証管理を行うサーバとする。
図1に示す構成を備えることで、情報処理システム1は、MFP100に対して、ログイン・ログアウトによるユーザ認証機能を実現している。さらには、情報処理システム1は、ログサーバ160が管理するログに基づいて、認証サーバ150が利用制限を行うか否かを判定する。まずは、MFP100にログインする際のシステム連携の例について説明する。
まず、MFP100は、操作パネル上にログイン画面を表示し、ユーザIDやパスワードなどの認証情報の入力を要求する。認証情報が入力された場合に、MFP100は、入力された認証情報を認証サーバ150に送信し、ユーザ認証を要求する。認証サーバ150は、送信された認証情報に基づいてユーザ認証を行い、認証結果を要求元のMFP100に送信する。そして、MFP100は、認証サーバ150から受信した認証結果に基づき、当該MFP100にログインできたか否かを表示する。そして、MFP100では、ログイン後にユーザが機能を利用する際に、当該機能の利用可能であるか否か判定することになる。
ところで、認証サーバ150は、ユーザのログインを管理するために高い堅牢性が要求される。このため、認証サーバ150は、常に稼働していることが想定される。これに対し、ログサーバ160は、ユーザのログを管理するためのサーバであればよい。このため、ログサーバ160は、LAN内に配置するだけではなく、インターネット上に配置してもよいし、(ユーザ名などを暗号化した上で)いわゆるクラウドコンピューティングを用いて実現してもよい。つまり、ログサーバ160は、認証サーバ150ほどの堅牢性を想定されていない。
このようなログサーバ160は、認証サーバ150と比べると、システムダウンやメンテナンス中という事態が生じることになる。このような状況において、認証サーバ150を用いてログインできるにもかかわらず、ログサーバ160で管理している情報にアクセスできない。
そして、従来の技術では、利用制限を判定する外部サーバ(本実施の形態にかかる構成では、例えば、ログサーバ160)との通信ができない場合に、MFP側で利用制限の対象となる機能を利用することができなくなる問題点がある。これは、サーバ側で利用制限を行うための情報を一括して管理しているためである。
そこで、本実施の形態では、ログサーバ160と通信ができなくなった場合に、MFP100側で利用制限を実現することとした。さらには、ログサーバ160との通信が回復した後、ログサーバ160が、通信できない間に利用された動作を示すログを取得し、整合性を図れるようにした。
図2は、情報処理システム1が備える各装置の構成を示したブロック図である。図2に示すように、ログサーバ160は、ログ記憶部251と、ログ受信部252と、ポイントテーブル記憶部253と、ポイント算出部254と、ポイント送信部255と、を備える。ログサーバ160は、MFP100から送信されたログを一元管理し、当該ログに基づいてユーザポイントを算出し、当該ユーザポイントを、認証サーバ150に送信する。
ユーザポイントは、現在までユーザがMFP100の機能を利用した量を合計したポイントとする。また、設定されるある期間内において、現在までの期間中にユーザがMFP100の機能を利用した量を合計したポイントとする。
ログ受信部252は、MFP100から送信されてきたログを受信する。ログサーバ160が、受信するログは、各MFP100で各ユーザが利用した機能を示されたログとする。本実施の形態では、MFP100から送信されたログを受信する手法を用いたが、他の手法を用いてもよい。例えば、MFP100に対して取得要求を行い、応答されたログを受信してもよい。
ログ記憶部251は、ログ受信部252が受信したログを記録する。ログ記憶部251は、例えば、ログサーバ160が備える記憶装置(例えば「HDD」)の所定の記憶領域に該当する。
図3は、ログ記憶部251が記憶するログの一例を示した図である。図3に示すように、ユーザが利用する毎に、ログが発行されるものとする。そして、各ログは、ユーザIDと、各MFP100で利用された機能を表したアカウンティング情報と、が対応づけられている。
ポイントテーブル記憶部253は、ポイントテーブルを記憶する。ポイントテーブルとは、ユーザがMFP100の各機能をした際に発生するポイントの設定に関する情報を保持するテーブルとする。図4は、ポイントテーブルのテーブル構造の例を示した図である。
図4に示すように、ポイントテーブルは、機能と、条件と、重みと、を対応づけて記憶している。つまり、ユーザがMFP100を利用する際に、ポイントテーブルに設定された“機能”を、当該“機能”と対応づけられた“条件”で使用した場合に、“重み”で示されたポイントが発生する。
そして、ユーザ毎に発生したポイントを加算していき(以下、ユーザ毎に加算したポイントの合計をユーザポイントと称す)、上限として設定されたポイント(以下、上限ポイントと称す)をユーザポイントが超えた場合に、MFP100の機能を利用する際に制限がかけられる。
ポイント算出部254は、ログ記憶部251に記憶されたログと、ポイントテーブル記憶部253に記憶されたポイントテーブルと、に基づいて、ユーザ毎のユーザポイントを算出する。このユーザポイントの算出は、ログ受信部252がログを受信する毎に行うものとする。
ポイント送信部255は、ポイント算出部254で算出されたユーザポイントを、ユーザIDと対応づけて、認証サーバ150に送信する。また、ポイント送信部255は、ポイントテーブル記憶部253に記憶されたポイントテーブルを、認証サーバ150を介して、MFP100に送信してもよい。送信したポイントテーブルは、後述する代替ユーザポイントテーブルとして利用される。
認証サーバ150は、ポイント受信部261と、ユーザポイント情報記憶部262と、ユーザ情報記憶部263と、ユーザ情報サービス264と、を備える。
ユーザ情報記憶部263は、ネットワークに接続されたMFP100を利用するユーザの各種情報(以下、ユーザ情報と称す)に関する情報を記憶する。図5は、ユーザ情報記憶部263のテーブル構造の例を示した図である。図5に示すように、ユーザ情報記憶部263は、ユーザIDと、権限情報と、認証情報と、を対応づけて記憶している。図5に示すように、ユーザ毎に利用できる機能と、ログインするための認証情報を保持している。これにより各MFP100は、認証サーバ150と通信を行うことで、 “認証情報”によるユーザのログインと、“権限情報”で利用可能な機能の特定と、を行うことができる。
ポイント受信部261は、ログサーバ160から送信された、ユーザIDと対応づけられたユーザポイントを受信する。
ユーザポイント情報記憶部262は、ユーザ毎にユーザポイントに関する情報を記憶する。図6は、ユーザポイント情報記憶部262のテーブル構造の例を示した図である。図6に示すように、ユーザポイント情報記憶部262は、ユーザIDと、ユーザポイントと、上限ポイントと、を対応づけて記憶している。そして、このユーザポイントは、ログサーバ160からユーザポイントを受信する毎に更新される。これにより、ユーザポイントは、現在までユーザが利用した正確な合計ポイントとなる。
なお、ユーザ情報記憶部263と、ユーザポイント情報記憶部262と、は、認証サーバ150が備える記憶装置(例えば「HDD」)の所定の記憶領域に該当する。
ユーザ情報サービス264は、認証判定部265を備え、MFP100の利用対象であるユーザ情報を管理する。例えば、ユーザ情報サービス264は、ユーザ情報記憶部263に対して、ユーザ情報の読み出し、追加、更新、削除などのデータ操作を行う。
このように、管理されているユーザ情報は、例えば、ユーザ情報サービス264が提供する所定の管理ツールを用いて操作できる。これにより、管理者は、当該管理ツールを用いて対象とするユーザの情報の追加、変更(更新)、削除などを行うことができる。
また、ユーザ情報サービス264は、MFP100にログインするユーザの認証を行う。ユーザ情報サービス264は、MFP100から送信された認証情報(例えば「入力ユーザID」や「入力パスワード」)と、ユーザ情報記憶部263に記憶されたユーザ情報(例えば登録済みの認証情報)とに基づき、ユーザ認証を行う。
認証判定部265は、MFP100から送信されてきた認証情報に基づいて、ユーザの認証を行う。そして、認証判定部265が、適切なログインと判定した場合、ユーザ情報サービス264が、ユーザポイント情報記憶部262が記憶するユーザポイント及び上限ポイントと、ユーザ情報サービス264が記憶するユーザの権限情報とを、MFP100に対して送信する。これにより、MFP100側で、利用制限を行うことができる。
MFP100は、操作受付部201と、本体機能部202と、機能利用制限部204と、ポイント判定部205と、ユーザ認証部206と、代替ポイント管理部207と、代替ユーザポイント記憶部208と、代替ポイントテーブル記憶部209と、代替情報同期部210と、ログ通信部211と、ログ管理部212と、ログ記憶部213と、通信I/F217と、を備える。
本実施の形態にかかるMFP100では、ログサーバ160と通信が可能なときは、認証サーバ150から入力されるユーザポイントに基づいて利用制限を行う。そして、ログサーバ160と通信ができなくなった場合に、代替ポイントに基づいて利用制限を行うこととする。
代替ポイントとは、MFP100がログサーバ160と通信できなくなった間だけ、当該MFP100で利用制限を行うために用いるポイントとする。
通信I/F217は、ネットワークを介して接続された他のMFPや、ログサーバ160、及び認証サーバ150と通信するためのインターフェイスとする。
操作受付部201は、ユーザからの入力操作を受け付ける。例えば、操作受付部201は、ユーザがログインする際に、認証情報の入力を受け付ける。さらに、操作受付部201は、ユーザが認証された後、MFP100に対する機能利用要求の入力を受け付ける。
本体機能部202は、MFP100が備える機能に基づくサービスを提供する。本実施の形態にかかるMFP100は、入出力に係る基本機能及び基本機能と連係する拡張機能などを搭載できる。この拡張機能は、追加、削除を行うことが可能である。本実施の形態では、コピー、プリンタ、ファクシミリといった機能を、基本機能とする。
本実施の形態では、当該本体機能部202が提供する機能を利用制限対象としている。そのため、例えば、上述したような基本機能が、利用制限の対象となる。本実施の形態では、利用制限の対象となる機能を、出力に関する機能の例について説明するが、このような機能に制限するものではなく、様々な機能に適用できる。
適用できる様々な機能としては、本体機能部202が提供する機能の他、MFPから外部ネットワーク上のサービスも含めてもよい。この外部ネットワーク上のサービスの例としては、SaaS(Software as a Service)上で提供されるOCRサービスなどが考えられる。つまり、クラウドやSaaSが提供するサービスにおいても、従量課金制でユーザに対して提供する可能性がある。このため、外部ネットワーク上で提供されるサービスについても利用制限の対象として、制御を行ってもよい。
ログ管理部212は、MFP100に搭載された機能が使用されたことを示すログを管理する。例えば、ログ管理部212は、本体機能部202が利用される毎に、当該機能をユーザが利用したことを示すログを生成し、ログ通信部211に出力する。
ログ通信部211は、ログ送信部221と、通信状態検出部223と、を備え、他のMFP又はログサーバ160との間でログの送受信を制御する。
ログ送信部221は、ログサーバ160と通信可能な場合に、ログ管理部212から入力されたログを、ログサーバ160側で管理するよう、ログサーバ160に送信する。これにより、ログサーバ160は、MFP100で機能が利用される毎に、当該利用されたことを示すログを受信し、管理することになる。そして、ログサーバ160は、受信したログに基づいてユーザ毎のユーザポイントを算出し、認証サーバ150に出力している。そして、MFP100は、認証サーバ150からユーザポイントを取得しているため、本実施の形態にかかる情報処理システム1では、ログに基づく利用制限を可能としている。
通信状態検出部223は、ログサーバ160との間で通信可能であるか否かを検出する。本実施の形態においては、ログ送信部221がログ送信に失敗した場合に、通信状態検出部223が、ログサーバ160との間で通信ができなくなったと検出する。なお、本実施の形態では、ログ送信に失敗したときに通信できなくなったと判定したが、このような判定手法に制限するものではなく、例えば、ログサーバ160と定期的に通信を行うことで、通信できるか否かを判定してもよい。
ログ管理部212は、通信状態検出部223がログサーバ160と通信できないことを検出した場合に、通信できなくなった後に、ログ管理部212が生成したログを、ログ記憶部213に記憶させる。また、ログ管理部212は、ログサーバ160と通信できなくなった後、代替ポイントを算出するために、生成したログを代替ポイント管理部207に出力する。
ログ記憶部213は、ログサーバ160と通信できなくなった後の、機能利用要求に基づいた機能の利用を示したログを、利用履歴として記憶する。ログ記憶部213は、例えば、MFP100が備える記憶装置(例えば「HDD」)の所定の記憶領域に該当する。なお、ログ記憶部213のテーブル構造は、ログサーバ160のログ記憶部251と同じものとして説明を省略する。
また、通信状態検出部223は、ログサーバ160との間で通信できなくなった後、定期的にログサーバ160に対して通信を繰り返し、当該ログサーバ160が通信可能になったか否かの検出も行う。
そして、ログ送信部221は、通信状態検出部223が、ログサーバ160との通信が回復したことを検出した場合に、ログ記憶部213に記憶された利用履歴を表すログを、ログサーバ160に送信する。
ユーザ認証部206は、ポイント情報取得部225を備え、認証サーバ150が有するユーザ情報サービス12と連係し、当該装置の利用対象であるユーザに対して、ユーザ認証を行う。例えば、ユーザ認証部206は、MFP100が備える操作パネルにログイン画面(GUI:Graphical User Interface)を表示し、認証情報の入力を促す。ユーザ認証部206は、入力された認証情報を、通信I/F217を介して、認証サーバ150に送信するとともに、ユーザ認証を要求する。そして、ユーザ認証部206は、認証サーバ150から応答された認証結果を受信する。そして、認証結果によりユーザの認証が確認されると、ユーザはMFP100を利用できる。
このとき、ユーザ認証部206は、ユーザが認証された場合に、認証結果として、ユーザ情報サービス264により管理されている該当ユーザ情報を取得する。ユーザ認証部206は、取得した該当ユーザ情報を(図示しない)ユーザ情報記憶部に格納・保持(保存)する。ユーザ情報記憶部は、例えば、MFP100が備える記憶装置(例えば「HDD」)の所定の記憶領域にあたる。
なお、本実施の形態のように、ログイン画面から入力された認証情報に基づくユーザ認証に制限するものではなく、例えば、非接触ICカードを用いたユーザ認証を行ってもよい。
ポイント情報取得部225は、認証サーバ150から、ユーザポイント及び上限ポイントを取得する。
代替ポイントテーブル記憶部209は、代替ポイントテーブルを記憶する。代替ポイントテーブルとは、ユーザがMFP100の各機能をした際に発生する代替ポイントの設定に関する情報を保持するテーブルとする。なお、代替ポイントテーブルは、ログサーバ160のポイント送信部255が送信したポイントテーブルであり、MFP100の代替情報同期部210が、代替ポイント管理部207を介して、受信したポイントテーブルを、代替ポイントテーブルとして代替ポイントテーブル記憶部209に記憶させる。
図7は、代替ユーザポイント記憶部208のテーブル構造を示した図である。図7に示すように、IPアドレスと、ユーザIDと、代替ユーザポイントと、が対応づけて記憶されている。IPアドレスは、代替ユーザポイントを送信してきたMFP100A〜100NのIPアドレスとする。
図7に示すように、代替ユーザポイント記憶部208の各レコードは、ログサーバ160が通信できなくなった後に、ユーザが利用した機能の合計を示す代替ユーザポイントを、MFP単位で保持する。なお、他のMFPとの同期は、後述する代替情報同期部210により行われる。なお、代替ユーザポイント記憶部208は、このように利用した機能の合計を保持するのではなく、ユーザが機能を利用する毎に生成されるログを保持してもよい。つまり、代替ユーザポイント記憶部208は、ログサーバ160と通信ができなくなってからユーザが利用した機能の合計を特定できる情報であれば、どのような情報を保持してもよい。
つまり、代替ユーザポイント記憶部208は、通信不可能になってから各MFPで利用された代替ポイントと、を記憶している。また、本実施の形態では、MFP間で代替ユーザポイントの同期を行っているが、例えば、同一ユーザが複数のMFPから印刷を行った際、代替ユーザポイント情報の同期が失敗する可能性がある。本実施の形態では、代替ユーザポイント記憶部208は、MFPごとに代替ユーザポイントを管理している。このため、一度任意のMFPとの間で同期に失敗した場合でも、その後、当該MFPと再度同期を行うことで、同期の失敗による代替ユーザポイントの整合性の破綻を、回復できる。
代替ポイント管理部207は、テーブル制御部226と、ポイント算出部227とを備え、代替ポイントの管理を行う。
テーブル制御部226は、代替ポイントテーブル記憶部209と、代替ユーザポイント記憶部208と、を制御する。
例えば、テーブル制御部226は、通信状態検出部223がログサーバ160と通信できなくなったことを検出した場合に、代替ユーザポイント記憶部208を初期化する。
そして、MFP100でユーザが機能を利用する際、当該ユーザの代替ユーザポイントを保持するレコードがない場合に、テーブル制御部226が、レコードを追加する。追加されるレコードの代替ユーザポイントの初期値は、‘0’とする。そして、テーブル制御部226は、操作受付部201が機能利用要求を受け付ける毎に、当該機能利用要求に基づくレコード更新を行う。
ポイント算出部227は、通信状態検出部223が通信できないことを検出した後、操作受付部201が機能利用要求を受け付ける毎に、当該機能利用要求に基づいてログ管理部212が生成したログに基づいて、代替ポイントを算出する。そして、テーブル制御部226は、算出された代替ポイントを加算した代替ユーザポイントで、レコードを更新する。
その後、ポイント算出部227は、代替ユーザポイント記憶部208が記憶する代替ユーザポイントと、認証サーバ150から取得したユーザポイントと、を加算して、ユーザの合計ユーザポイントを算出する。
また、代替ユーザポイント記憶部208に、他のMFPの代替ユーザポイントが登録されている場合、当該代替ユーザポイントも加算して合計ユーザポイントを算出する。これにより、ネットワークを介して接続された他のMFPの利用結果に基づいた利用制限を行うことができる。
ポイント判定部205は、ログサーバ160と通信できる間は、認証サーバ150から取得したユーザポイントと上限ポイントとに基づいて、機能利用制限部204による機能の利用制限を行うか否かを判定する。
また、ポイント判定部205は、通信状態検出部223で通信できないことを検出した場合に、ポイント算出部227が算出した合計ユーザポイントと、取得した上限ポイントと、に基づいて、機能利用制限部204による機能の利用制限を行うか否かを判定する。当該判定により、ユーザが今まで利用した機能に応じた機能制限が行われる。
機能利用制限部204は、本体機能部202の起動、停止、終了などを制御する。これにより、ポイント判定部205の判定結果に従って、本体機能部202の利用制限を行うことができる。また、機能の利用制御の例として、ユーザから要求されたカラー印刷を、モノクロとして出力してもよい。
これにより、機能利用制限部204は、ポイント判定部205による判定結果に従って、認証されたユーザの合計ユーザポイントが、上限ポイントより大きい場合に、本体機能部202による機能の利用制限を行う。
代替情報同期部210は、ログサーバ160と通信できなくなった後、ネットワークを介して接続された他のMFP(例えば、MFP100B)から送信されてきた代替ユーザポイントを、代替ユーザポイント記憶部208に登録、更新する。このように、各MFPで算出された代替ユーザポイントが、他の各MFPに対して送信されるので、情報処理システム1内で各ユーザが使用した合計量に基づいて利用制限を行うことができる。
代替情報同期部210は、ログサーバ160と通信できなくなった後に、自装置の代替ユーザポイントを、他のMFPに対して送信する。このように、MFP間で、代替ユーザポイントを送受信することで、代替ユーザポイントの同期を行っている。
エントリ情報通信部216は、他のMFPとの間でエントリ情報の送受信を行う。エントリ情報は、ネットワークを介して接続されたMFP100を示す情報とする。このエントリ情報には、MFPのIPアドレス等が含まれている。
エントリ情報記憶部215は、各MFP100のエントリ情報を記憶する。図8は、エントリ情報記憶部215のテーブル構造の例を示した図である。図8に示すように、エントリ情報記憶部215は、代替ユーザポイントの送信先となるMFP100のIPアドレスを保持している。
送信先特定部214は、エントリ情報記憶部215に基づいて、代替ユーザポイントなどの送信先を特定する。
次に、本実施の形態にかかる情報処理システム1における、ログサーバ160に接続可能なときのMFP100による利用制限の処理について説明する。図9は、本実施の形態にかかる情報処理システム1における上述した処理の手順を示すフローチャートである。
まず、操作受付部201が、ユーザからの操作に基づいた認証情報を、ユーザ認証部206を介して、認証サーバ150のユーザ情報サービス264に送信する(ステップS801)。
そして、認証サーバ150の認証判定部265が、送信されてきた認証情報と、ユーザ情報記憶部263に記憶されたユーザ情報と、に基づいて認証判定を行う(ステップS802)。本シーケンス図では、認証判定の結果としてユーザの認証が確認されたものとする。
そして、ユーザ情報サービス264は、認証判定を行った後、認証されたユーザの権限情報と、ユーザポイントと、上限ポイントとを、MFP100に送信する(ステップS803)。
そして、MFP100のポイント情報取得部225が、認証されたユーザの権限情報と、ユーザポイントと、上限ポイントとを取得した後、ポイント判定部205が、取得したユーザポイントと、上限ポイントとを、比較し、利用制限を行うか否かを判定する(ステップS804)。本シーケンス図では、ステップS804において、上限ポイントよりもユーザポイントが小さく、利用制限が行われないと判定されたものとする。
そして、ポイント判定部205が、機能利用制御部204を介して、本体機能部202に要求された機能を利用できることを通知する(ステップS805)。
その後、本体機能部202は、当該通知に従って、機能を提供する(ステップS806)。そして、本体機能部202は、提供した機能に関する利用通知を、ログ管理部212に対して行う(ステップS807)。当該利用通知に従って、ログ管理部212は、ユーザが利用した機能を示したログを生成し、ログ記憶部213に一時的に記憶する(ステップS808)。
そして、ログ管理部212は、生成したログを、ログ通信部211に出力する(ステップS809)。次に、ログ通信部211のログ送信部221が、入力されたログを、ログサーバ160に対して送信する(ステップS810)。
そして、ログサーバ160のログ受信部252は、受信したログを、ログ記憶部251に保存する(ステップS811)。
そして、ログ受信部252は、ログを保存した後、適切に受信した旨の送信結果を、MFP100のログ通信部211に送信する(ステップS812)。そして、ログ通信部211が、当該送信結果を受信した場合、さらに送信結果を、ログ管理部212に出力する(ステップS813)。当該送信結果が入力された場合に、ログ管理部212は、ステップS808で一時的に記憶したログを削除する(ステップS814)。
一方、ログ受信部252は、ポイント算出部254にポイントの算出を要求する(ステップS815)。当該算出要求に伴い、ポイント算出部254が、ログ記憶部251に記憶されたログと、ポイントテーブル記憶部253と、から、ユーザポイントを算出する(ステップS816)。
つまり、ポイント算出部227は、ログ記憶部251に記憶されたログが指し示す、利用された機能と、各機能に対応するポイントを保持するポイントテーブル記憶部253と、を突き合わせ、各ログに対応するポイントを算出する。例えば、算出対象のログが図3で、ポイントテーブル記憶部253が図4である場合、ユーザAのポイントとして、1.0×2+2.0×3=8.0を算出する。
そして、ポイント算出部227は、算出したポイントを、ポイント送信部255に出力する(ステップS817)。その後、ポイント送信部255は、入力されたポイントを、ユーザIDとともに、認証サーバ150に送信する(ステップS818)。次に、認証サーバ150のポイント受信部261が、ユーザIDとともに受信したポイントで、ユーザポイント情報記憶部262を更新する(ステップS819)。具体的には、ポイント受信部261が、ユーザポイント情報記憶部262に格納されているユーザポイントに、取得したユーザポイントを加算した合計値で、ユーザポイント情報記憶部262に格納されているユーザポイントを更新する。
その後、MFP100の操作受付部201が、ユーザからの操作に基づいた認証情報を、ユーザ認証部206を介して、認証サーバ150のユーザ情報サービス264に送信する(ステップS820)。
そして、認証サーバ150の認証判定部265が、送信されてきた認証情報と、ユーザ情報記憶部263に記憶されたユーザ情報と、に基づいて認証判定を行う(ステップS821)。本シーケンス図では認証情報に問題ないと判定されたものとする。
そして、ユーザ情報サービス264は、認証判定を行った後、認証されたユーザの権限情報と、ユーザポイントと、上限ポイントとを、MFP100に送信する(ステップS822)。
そして、MFP100のポイント情報取得部225が、認証されたユーザの権限情報と、ユーザポイントと、上限ポイントとを取得した後、ポイント判定部205が、取得したユーザポイントと、上限ポイントとを、比較し、利用制限を行うか否かを判定する(ステップS823)。本シーケンス図では、ステップS823において、上限ポイントよりもユーザポイントが大きく、利用制限が必要と判定されたものとする。
そして、ポイント判定部205が、機能利用制限部204を介して本体機能部202に要求された機能が使用できないことを通知する(ステップS824)。
上述したように、MFP100は、認証サーバ150に認証を行った際に、上限ポイントとも、ユーザポイントを取得する。そして、MFP100は、ユーザポイントと上限ポイントを比較し、ユーザポイントが上限ポイントを越えていた場合に、取得した権限情報を制限するよう、機能利用制限部204に通知する。このように、MFP100は、ログサーバ160と通信可能な場合、ユーザの課金情報等による利用制限を行うことができる。
次に、本実施の形態にかかる情報処理システム1における、MFP100間のエントリ情報の更新処理について説明する。図10は、本実施の形態にかかる情報処理システム1における上述した処理の手順を示すフローチャートである。
まず、MFP100Aが起動した際に、MFP100Aのエントリ情報通信部216が、エントリの取得要求を、所定のポートから、ブロードキャスト送信する(ステップS1101〜S1103)。これにより、MFP100B、100C、及びMFP100Dに、エントリの取得要求が送信される。
その後、MFP100Aのエントリ情報通信部216は、一定時間待機する(ステップS1104)。
そして、MFP100Aのエントリ情報通信部216は、ネットワークを介して接続された各MFP(図10に示す例では、MFP100B及び100C)から、エントリ情報を所定のポートから受信する(ステップS1105、S1106)。
そして、MFP100Aのエントリ情報通信部216は、受信したエントリ情報を、エントリ情報記憶部215に登録、更新を行う(ステップS1107)。
上述した処理手順により、MFP100Aは、ネットワークを介して接続された各MFPのエントリ情報を保持できる。そして、MFP100Aは、当該エントリ情報を用いて、代替ユーザポイントを送信する。なお、他のMFPも同様の処理を行うことで、代替ユーザポイントの同期を行える。
このように本実施の形態にかかるMFP100は、エントリ情報通信部216を介して、所定のポートからブロードキャスト通信すること、同一ネットワーク内で同じシステムが動作する他のMFPを検出できる。これにより、代替ユーザポイントの送信先となるエントリ情報を更新することができる。なお、ブロードキャスト通信を開始するタイミングは、起動の際に限らず任意のタイミングで行なってもよい。
次に、本実施の形態にかかる情報処理システム1における、ログサーバ160と接続不可能になったときの初期化処理について説明する。図11は、本実施の形態にかかる情報処理システム1における上述した処理の手順を示すフローチャートである。
まず、MFP100Aが、図9のステップS801〜S808と同様の処理を行うことで、認証サーバ150による認証から、利用した機能の示すログの保存までを行う(ステップS901〜S908)。
そして、MFP100Aのログ管理部212は、生成されたログを、ログ通信部211に出力する(ステップS909)。次に、ログ通信部211のログ送信部221が、入力されたログを送信するために、ログサーバ160との接続を試みる(ステップS910)。これに対し、ログ通信部211は、ログサーバ160との接続に失敗する(ステップS911)。
そして、ログ通信部211は、接続に失敗したことをログ管理部212に通知する(ステップS912)。
その後、ログ管理部212は、接続が不可能であることを、代替情報同期部210に通知する(ステップS913)。この通知に従って、代替情報同期部210が、MFP100Bの代替情報同期部210に、ログサーバ160と接続不可能であることを通知する(ステップS914)。なお、本実施の形態では、送信先特定部214が、エントリ情報記憶部215に格納されている全てのエントリ情報を送信先として特定する。そして、代替情報同期部210は、送信先特定部214により特定された送信先に対して、接続不可能であることを通知する。これにより、ネットワーク内に配置されたMFPで、情報が共有できる。
そして、当該通知を受け付けたMFP100Bの代替情報同期部210は、(不図示の)代替ポイント管理部207を介して、(不図示の)代替ポイントテーブル記憶部209を初期化させる(ステップS915)。
一方、MFP100Aのログ管理部212は、代替ポイント管理部207に初期化を指示する(ステップS916)。そして、代替ポイント管理部207は、代替ユーザポイント記憶部208を初期化する(ステップS917)。
その後、ログ管理部212は、代替ポイント管理部207に、生成したログを出力する(ステップS918)。そして、代替ポイント管理部207は、入力されたログと、代替ポイントテーブル記憶部209と、に基づいて、ポイント算出部227に代替ユーザポイントを算出させる。そして、代替ポイント管理部207は、テーブル制御部226を介して、算出した代替ユーザポイントを記憶させる(ステップS919)。
そして、代替ポイント管理部207は、代替情報同期部210に対して、算出した代替ユーザポイントを出力する(ステップS920)。次に、代替情報同期部210が、入力された代替ユーザポイントを、MFP100Bの代替情報同期部210に送信する(ステップS921)。なお、代替情報同期部210は、送信先特定部214により特定された送信先に送信するものとする。送信先特定部214により特定される送信先は、上述した送信先と同様とする。
その後、MFP100Bの代替情報同期部210が、代替ポイント管理部207を介して、代替ポイントテーブル記憶部209に受信した代替ユーザポイントを記憶させる(ステップS922)。なお、記憶させる際、送信したMFP100AのIPアドレスも対応づけて記憶する。このようにして、MFP及びユーザIDと対応づけて代替ユーザポイントが記憶される。
上述した処理手順により、ログサーバ160と接続が不可能になった場合に、各MFPへの通知と、各MFPが備える代替ユーザポイント記憶部208の初期化及び代替ユーザポイントの登録を行うことができる。
次に、本実施の形態にかかる情報処理システム1における、ログサーバ160と接続不可能になった後のMFP100による利用制限の処理について説明する。図12は、本実施の形態にかかる情報処理システム1における上述した処理の手順を示すフローチャートである。
図12に示す処理手順が、図9で示した処理手順と異なるのは、ユーザポイントの算出をログサーバ160内ではなくMFP100内で行い、算出したポイントを代替ユーザポイントとして保持する点である。そして認証の際、認証サーバ150から得たユーザポイントと代替ユーザポイントを合算する点である。当該処理を行うことで、ログサーバ160と接続できなくても上限管理による利用制限を行うことができる。
また、ログサーバ160と通信できないときに、ユーザが機能を利用した分、代替ユーザポイントを更新し、認証サーバ150内のユーザポイントについては更新しない。このため、ログサーバ160が復帰したあと、MFP100が通信できない間に生成したログを、ログサーバ160に送信しても、同一ログに基づいて二重カウントされることはない。
まず、MFP100Aが、図9のステップS801〜S808と同様の処理を行うことで、認証サーバ150による認証から、利用した機能の示すログの保存までを行う(ステップS1001〜S1008)。
その後、ログ管理部212は、代替ポイント管理部207に、生成したログを出力する(ステップS1009)。
そして、代替ポイント管理部207は、入力されたログと、代替ポイントテーブル記憶部209と、代替ユーザポイント記憶部208と、に基づいて、代替ユーザポイントを算出する(ステップS1010)。そして、テーブル制御部226が、算出した代替ユーザポイントを、代替ユーザポイント記憶部208に記憶させる(ステップS1011)。
そして、代替ポイント管理部207は、代替情報同期部210に対して、算出した代替ユーザポイントを出力する(ステップS1012)。次に、代替情報同期部210が、入力された代替ユーザポイントを、MFP100Bの代替情報同期部210に送信する(ステップS1013)。本シーケンス図は、代替情報同期部210は、送信先特定部214に特定された送信先の一つとして、MFP100Bに送信した例とする。
その後、MFP100Bの代替情報同期部210が、代替ポイント管理部207を介して、受信した代替ユーザポイントを、代替ユーザポイント記憶部208に記憶させる(ステップS1014)。なお、記憶させる際、送信したMFP100AのIPアドレスも対応づけて記憶する。
その後、ユーザからの操作を受け付けた場合に、操作受付部201が、当該操作に基づいた認証情報を、ユーザ認証部206を介して、認証サーバ150のユーザ情報サービス264に送信する(ステップS1015)。
そして、認証サーバ150の認証判定部265が、送信されてきた認証情報と、ユーザ情報記憶部263に記憶されたユーザ情報と、に基づいて認証判定を行う(ステップS1016)。本シーケンス図では認証情報に問題ないと判定されたものとする。
そして、ユーザ情報サービス264は、認証判定を行った後、認証されたユーザの権限情報と、ユーザポイントと、上限ポイントとを、MFP100に送信する(ステップS1017)。
そして、MFP100のポイント情報取得部225が、認証されたユーザの権限情報と、ユーザポイントと、上限ポイントとを取得した後、ポイント判定部205が、代替ポイント管理部207に対して、認証されたユーザの代替ユーザポイントの取得を要求する(ステップS1018)。そして、代替ポイント管理部207のテーブル制御部226が、代替ユーザポイント記憶部208から、代替ユーザポイントを読み出す(ステップS1019)。そして、代替ポイント管理部207が、読み出した代替ユーザポイントを、ポイント判定部205に出力する(ステップS1020)。
その後、ポイント判定部205が、取得したユーザポイントと、入力された代替ユーザポイントと、を合算し、合計ユーザポイントを算出する(ステップS1021)。
そして、ポイント判定部205が、上限ポイントと、合計ユーザポイントと、を比較し、利用制限を行うか否かを判定する(ステップS1022)。本シーケンス図では、ステップS1022において、上限ポイントよりも合計ユーザポイントが大きく、利用制限が必要と判定されたものとする。
そして、ポイント判定部205が、機能利用制限部204を介して本体機能部202に要求された機能が使用できないことを通知する(ステップS1023)。
上述したように、ログサーバ160と通信できなくとも、ユーザの課金情報等による利用制限を行うことができる。
次に、MFP100Aが、代替ユーザポイントを、他のMFPとの間で共有するための処理について説明する。図13は、情報処理システム1における、MFP100Aから、他のMFPに対して代替ユーザポイントを通知し、当該代替ユーザポイントを共有するための処理の手順を示すシーケンス図である。
まず、MFP100Aのログ管理部212は、本体機能部202の利用に基づいて生成したユーザAのログを、ログ記憶部213に記憶するとともに、代替ポイント管理部207に出力する(ステップS1301)。次に、代替ポイント管理部207のポイント算出部227が、入力されたログと、代替ポイントテーブル記憶部209と、からユーザAが利用した機能分の代替ポイントを算出した後、当該代替ポイント分加算した代替ユーザポイントを算出する(ステップS1302)。次に、代替ポイント管理部207のテーブル制御部226が、算出された代替ユーザポイントを、代替ユーザポイント記憶部208に、登録、更新を行う(ステップS1303)。
その後、代替ポイント管理部207が、代替ユーザポイントを、代替情報同期部210に出力する(ステップS1304)。
一方、送信先特定部214が、エントリ情報記憶部215に記憶されたエントリ情報から、エントリ情報を読み出して、送信先を特定する(ステップS1305)。そして、送信先特定部214は、特定した送信先を、代替情報同期部210に出力する(ステップS1306)。
その後、代替情報同期部210が、入力された送信先に対して、入力されたユーザAの代替ユーザポイントを送信する(ステップS1307、S1308)。本シーケンス図では、送信先として、MFP100BとMFP100Cとが特定されたものとする。
そして、MFP100BとMFP100Cとの代替情報同期部210は、入力されたユーザAの代替ユーザポイントを、代替ユーザポイント記憶部208に登録、更新する(ステップS1309、S1310)。
上述した処理手順により、ネットワークを介して接続されたMFP間で代替ユーザポイントを共有できる。
そして、通信状態検出部223が、ログサーバ160が回復したことを検出した場合、ログ送信部221が、ログ記憶部213に記憶されていたログ全てを、ログサーバ160に送信する。
本実施の形態では、ユーザ毎に利用された機能の量を示す利用量情報として、ユーザが利用した機能を示すログと、当該ログによって算出されたユーザポイントと、の両方利用した例を示した。しかしながら、両方利用することに制限するものではなく、いずれか一方のみ用いてもよい。つまり、ユーザが利用した機能の量を示す情報であれば、どのような情報でもよい。例えば、ログサーバ160の代わりに、ユーザポイントを管理する管理装置が配置された場合、MFPが、ログの代わりに、ユーザポイントを送信してもよい。
本実施の形態では、ログサーバ160などの管理装置と通信できなくなった後に、機能利用要求に従って利用された機能の量を示す非通信時利用量情報として、通信できなくなってからユーザが利用した機能を示したログと、当該ログによって算出された代替ユーザポイントと、の両方利用した例を示した。しかしながら、両方利用することに制限するものではなく、いずれか一方のみ用いてもよい。つまり、通信できなくなった後にユーザが利用した機能の量を示す情報であればよい。上述した例の場合、ユーザポイントを管理する管理装置が復旧した後、MFPが、通信できなくなっている間に算出した代替ユーザポイントを送信してもよい。
本実施の形態では、ユーザがMFPを利用した利用量を、機能毎に重み付けしたポイントで算出したが、このようなポイントで利用量を管理することに制限するものではない。例えば、印刷した枚数等で管理してもよい。この場合にカラー、モノクロなどの条件毎に枚数を管理することで、条件毎に適切な制限を行うことができる。
ところで、本実施の形態では、MFP間で代替ユーザポイントの共有は行っていたが、ログについては共有していない。このため、各MFPがログをログサーバ160に送信したとしても、ログサーバ160において、同一ログが重複登録されるという問題が生じることがない。
つまり、本実施の形態においては、代替ユーザポイントを複数のMFPで共有することで、適切な機能制限を行うことができる。そして、ログはMFP毎にユニークに管理しているため、ログサーバ160が回復した後、各MFPがログサーバ160のログを送信することで、ログサーバ160は、同一ログを複数回受信することなく、通信できない間に利用された機能分のログを取得できる。
本実施の形態にかかる情報処理システム1においては、上述した構成を備えることで、ログサーバ160が通信できなくなった場合でも、ユーザが各MFPを利用することができる。その際に、各MFPが、ユーザの利用状況に応じて、利用制限を行うことができる。さらには、ログサーバ160は、通信が回復した後、通信できない間に利用された機能を示すログを適切に取得できる。これにより、情報処理システム1の稼働率を向上させることができる。
本実施の形態にかかる情報処理システム1においては、ログサーバ160と通信できない場合でも、各MFP100において、ユーザの機能利用要求に応じた機能の利用制限を行うことができる。また、複数のMFP100を同一ユーザが利用した場合でも、複数のMFP間で代替ユーザポイントに関する情報を共有することで、ユーザ毎に利用量に応じた利用制限を行うことができる。
(第1の実施の形態の変形例)
なお、第1の実施の形態では、MFP100が通信できなくなってからの代替ユーザポイントを管理し、認証サーバ150が通信できなくなる前までのユーザポイントを管理する例について説明したが、このような管理手法に制限するものではない。
本変形例では、MFP100が通信できなくなる前までのユーザポイントと、通信できなくなってからの代替ユーザポイントと一括管理する例とする。本変形例では、代替情報同期部210は、定期的に、代替ユーザポイント記憶部208と、認証サーバ150のユーザポイント情報記憶部262と、を同期させている。そして、ログサーバ160と通信できなくなった後、代替ポイント管理部207のテーブル制御部226が、代替ユーザポイント記憶部208に格納されているユーザポイントに対して、ユーザが利用した分の代替ポイントの加算処理を行っていく。これにより、MFP100側で一括管理できる。
また、認証サーバ150にMFP100のエントリ情報を保持し、認証サーバ150のユーザポイント情報記憶部262が更新された場合に、エントリ情報で示されたMFP100に対して、代替ユーザポイント記憶部208を更新するようユーザポイントを送信してもよい。
このように、ユーザポイントと代替ユーザポイントとの管理手法としては、様々な手法が考えられる。
(第2の実施の形態)
第1の実施の形態では、ログサーバ160が通信できない場合に、MFP100からエントリ情報を取得するためにブロードキャスト送信し、取得した全てのエントリに対して代替ユーザポイントを送信する例について説明した。しかしながら、全てのMFPに対して送信するとトラフィックが混在する可能性もある。そこで、第2の実施の形態では、各MFPが一つの送信先に対して、代替ユーザポイントに関する情報を送信する例について説明する。
図14は、第2の実施の形態に係る情報処理システム2の構成例を示す図である。図14に示すように、本実施の形態に係る情報処理システム2は、第1の実施の形態の情報処理システム1とは、ログサーバ160とは処理が異なるログサーバ1460に変更され、MFP100とは処理が異なるMFP1400に変更された点で異なる。以下の説明では、上述した第1の実施の形態と同一の構成要素には同一の符号を付してその説明を省略している。
本実施の形態にかかる情報処理システム2では、ログサーバ1460側で、エントリ情報を管理し、各MFP1400に対して当該エントリ情報を通知する。そして、ログサーバ1460と通信できなくなった場合に、各MFPは、通知されたエントリ情報に対して、代替ユーザポイント等を送信する。
ログサーバ1460は、第1の実施の形態のログサーバ160に対して、エントリ情報通信部1463と、エントリ情報管理部1462と、エントリ情報記憶部1461と、を追加した構成とする。
エントリ情報記憶部1461は、各MFP1400のエントリ情報を記憶する。エントリ情報記憶部1461のテーブル構造は、第1の実施の形態のエントリ情報記憶部215と同様とする。
エントリ情報通信部1463は、各MFPからのエントリ通知を受信する。
エントリ情報管理部1462は、受信したエントリ通知に含まれているIPアドレスをエントリ情報として、エントリ情報記憶部1461に登録、更新する。そして、エントリ情報管理部1462は、各MFP1400に対して、送信先となるエントリ情報を送信するための処理を行う。
また、エントリ情報通信部1463は、エントリ情報管理部1462の要求に従って、各MFP1400に対して、エントリ情報を送信する。
図15は、ログサーバ1460が各MFP1400に対して送信するエントリ情報を示した説明図である。図15に示すように、ログサーバ1460のエントリ情報管理部1462は、各MFP1400の送信処理がリング構造になるように、各MFP1400に送信するエントリ情報を特定し、特定したエントリ情報を各MFP1400に送信するようにエントリ情報通信部1463に指示する。
リング構造とは、例えば、MFP1400Aの送信先がMFP1400Bで、当該MFP1400Bの送信先がMFP1400Cで、……、最後にMFP1400Nの送信先がMFP1400Aで、あるため、ネットワーク内の各MFP1400で送信される情報が一巡するように設定された構造とする。
MFP1400は、第1の実施の形態のMFP100とは、エントリ情報通信部216と処理が異なるエントリ情報通信部1401に変更された点とする。
エントリ情報通信部1401は、自装置のエントリ情報を、ログサーバ1460に対して通知する。このエントリ情報の通知は、どのタイミングでもよく、例えば、自装置が起動した際などが考えられる。
また、エントリ情報通信部1401は、ログサーバ1460から、送信先となるエントリ情報を受信する。そして、エントリ情報通信部1401は、受信したエントリ情報を、エントリ情報記憶部215に登録する。
図16は、各MFPが代替ユーザポイントを送信する際のリング構造の例を示した図である。図16に示すように、各MFPは、エントリ情報記憶部215に送信先となるエントリ情報を一つ記憶している。
そして、MFP1400AをユーザAが、利用したものとする。この場合、MFP1400Aは、MFP1400BのIPアドレスを有しているため、MFP1400BにユーザAの代替ユーザポイントを送信する。この代替ユーザポイントには、MFP1400AのIPアドレスとユーザAのユーザIDとを対応づけて送信する。
そして、MFP1400Bは、MFP1400AからユーザAの代替ユーザポイントを受信した場合に、MFP1400CのIPアドレスを有しているため、MFP1400CにユーザAの代替ユーザポイントを送信する。当該処理を繰り返し行い、MFP1400Nが、ユーザAの代替ユーザポイントを受信したものとする。
そして、MFP1400Nが、ユーザAの代替ユーザポイントを、MFP1400Aに送信する。そして、MFP1400Aは、受信した代替ユーザポイントにMFP1400AのIPアドレスが対応づけられているため、適切に代替ユーザポイントの送信が終了したと判断する。
次に、本実施の形態にかかる情報処理システム2における、各MFPのエントリ情報の更新処理について説明する。図17は、本実施の形態にかかる情報処理システム2における上述した処理の手順を示すフローチャートである。
まず、MFP1400Aのエントリ情報通信部1401が、ログサーバ1460に対して、エントリ情報を通知する(ステップS1701)。ログサーバ1460は、MFP1400Aからエントリ情報とともに受信したIPアドレスを、エントリ情報記憶部1461に登録、更新する(ステップS1702)。そして、ログサーバ1460は、MFP1400Aに対して、エントリが登録された旨(エントリOK)を通知する(ステップS1703)。
次に、MFP1400Bのエントリ情報通信部1401が、ログサーバ1460に対して、エントリ情報を通知する(ステップS1704)。ログサーバ1460は、MFP1400Bからエントリ情報とともに受信したIPアドレスを、エントリ情報記憶部1461に登録、更新する(ステップS1705)。その際、MFP1400Aのエントリ情報を読み出す。そして、ログサーバ1460は、MFP1400Bに対して、エントリが登録された旨(エントリOK)の通知とともに、MFP1400Aのエントリ情報を送信する(ステップS1706)。
そして、MFP1400Bのエントリ情報通信部1463は、受信したMFP1400Aのエントリ情報を、エントリ情報記憶部215に登録する(ステップS1707)。
さらに、ログサーバ1460が、MFP1400Aに対して、MFP1400Bのエントリ情報を送信する(ステップS1708)。そして、MFP1400Aが、受信したMFP1400Bのエントリ情報を、エントリ情報記憶部215に登録する(ステップS1709)。
その後、MFP1400Cのエントリ情報通信部1401が、ログサーバ1460に対して、エントリ情報を通知する(ステップS1710)。ログサーバ1460は、MFP1400Cからエントリ情報とともに受信したIPアドレスを、エントリ情報記憶部1461に登録、更新する(ステップS1711)。その際、MFP1400Aのエントリ情報を読み出す。そして、ログサーバ1460は、MFP1400Cに対して、エントリが登録された旨(エントリOK)の通知とともに、MFP1400Aのエントリ情報を送信する(ステップS1712)。
そして、MFP1400Cのエントリ情報通信部1463は、受信したMFP1400Aのエントリ情報を、エントリ情報記憶部215に登録する(ステップS1713)。
さらに、ログサーバ1460が、MFP1400Bに対して、MFP1400Cのエントリ情報を送信する(ステップS1714)。そして、MFP1400Bが、受信したMFP1400Cのエントリ情報を、エントリ情報記憶部215に登録する(ステップS1715)。当該処理により、MFP1400A、MFP1400B、MFP1400C、MFP1400Aの順に代替ユーザポイントが送信されるよう、エントリ情報が登録されたことになる。
その後、MFP1400Aがエントリ削除を、ログサーバ1460に対して要求する(ステップS1716)。これに伴い、ログサーバ1460が、エントリ情報記憶部1461から、MFP1400Aのエントリ情報を削除する(ステップS1717)。
そして、ログサーバ1460が、MFP1400Cに対して、MFP1400Bのエントリ情報を送信する(ステップS1718)。そして、MFP1400Cが、受信したMFP1400Bのエントリ情報を、エントリ情報記憶部215に登録する(ステップS1719)。当該処理により、MFP1400B、MFP1400C、MFP1400Cの順に代替ユーザポイントが送信されるよう、エントリ情報が登録されたことになる。
第2の実施の形態にかかる情報処理システム2においては、上述した構成を備えることで、当該情報処理システム2を構成するMFP1400間で代替ユーザポイントに関する情報を共有できるとともに、ネットワーク上のトラフィックを低減することができる。
さらに、本実施の形態においては、ログサーバ1460がエントリ情報を保持することとした。このように、ログサーバ1460は、情報処理システム2内でログサーバ1460を利用するMFP1400の増減を把握できるため、ログサーバ1460を利用するMFP1400が増減した際に、ログサーバ1460が、ログサーバ1460を利用するMFP1400に対して、増減に応じた送信先の変更を要求する。このように、本実施の形態においては、MFP1400の増減に応じたリンク構造の再構築を実現できる。
(第2の実施の形態の変形例)
第2の実施の形態では、一つのリング構造で示された経路で、代替ユーザポイントを送信する例について説明した。しかしながら、ログサーバ1460で複数種類の経路を特定し、複数経路に基づくエントリ情報を各MFP1400に送信しても良い。
(第3の実施の形態)
第1及び第2の実施の形態では、各MFPで利用されたログは、各MFPで保持していた。しかしながら、各MFPでログを保持させた場合に、全てのMFPでログを管理するために十分な容量を有する記憶手段を備える必要がある。そこで、第3の実施の形態では、各MFPのログを管理する負担を軽減することを可能とした情報処理システム3について説明する。
図18は、第3の実施の形態に係る情報処理システム3の構成例を示す図である。図18に示すように、本実施の形態に係る情報処理システム3は、第2の実施の形態の情報処理システム2とは、MFP1400とは処理が異なるMFP1800に変更された点で異なる。以下の説明では、上述した第2の実施の形態と同一の構成要素には同一の符号を付してその説明を省略している。
本実施の形態にかかる情報処理システム3では、MFP1800でログを管理する際、記憶手段の容量が少なくなった場合に、他のMFPでログを管理可能とする。
本実施の形態にかかるMFP1800は、上述した第1の実施の形態にかかるMFP100とは、ログ管理部212とは処理が異なるログ管理部1801に変更され、エントリ情報記憶部215とテーブル構造が異なるエントリ情報記憶部1802に変更され、送信先特定部214と処理が異なる送信先特定部1803に変更され、ログ記憶部213とテーブル構造が異なるログ記憶部1804に変更され、エントリ情報通信部216と処理が異なるエントリ情報通信部1805に変更され、ログ通信部211と処理が異なるログ通信部1806に変更された点で異なる。以下の説明では、上述した第2の実施の形態と同一の構成要素には同一の符号を付してその説明を省略している。
ログ記憶部1804は、ログサーバ160と通信できなくなった後の、機能利用要求に基づいた機能の利用を示したログを、利用履歴として記憶する。その際、ログ記憶部1804は、ログ毎にユニークな識別コードが付与されている。この識別コードは、MFP毎を示すユニークな識別情報が含まれているため、複数のMFP間においても、ユニークな識別情報となる。
図19は、ログ記憶部1804のテーブル構造を示した図である。図19に示すように、ログは、識別コードと、ユーザIDと、アカウンティング情報とが対応づけられているものとする。
ログ管理部1801は、ログ判定部1811を備え、第1の実施の形態のログ管理部212と同様に、ログ記憶部1804を管理する。
ログ判定部1811は、ログ記憶部1804の記憶容量が、予め定められた空きサイズより少なくなっているか否かを判定する。少なくなっていると判定した場合には、ログを他のMFP1800に送信するようログ通信部1806に要求する。
エントリ情報通信部1805は、他のMFP1800やログサーバ1460との間でエントリ情報の送受信を行う。本実施の形態にかかるエントリ情報通信部1805は、エントリ情報として、代替ユーザポイントを送信する送信先を示すIPアドレスの他に、各MFPの空きディスク容量を送受信する。
エントリ情報記憶部1802は、他のMFPのエントリ情報を記憶する。図20は、エントリ情報記憶部1802のテーブル構造を示す図である。図20に示すように、エントリ情報記憶部1802は、送信先となる各MFPを示すIPアドレスと、空きディスク容量と、を対応づけて記憶している。
なお、エントリ情報記憶部1802が記憶するエントリ情報は、各MFPの空き容量を保持することに制限するものではなく、ログを受け取れるほどの空き容量があるか否かを示すフラグのみ保持してもよい。
送信先特定部1803は、第1の実施の形態の送信先特定部214の機能の他に、ログの送信先となるMFP1800のIPアドレスを、エントリ情報記憶部1802に基づいて決定する。本実施の形態にかかる送信先特定部1803は、エントリ情報記憶部1802を参照し、空きディスク容量が最も大きいMFP1800のIPアドレスを送信先として特定する。
ログ通信部1806は、さらに、ログ送信部221と処理が異なるログ送信部1822に変更され、ログ受信部1821が追加された点で、ログ通信部211と異なる。
ログ送信部1822は、ログ送信部221の機能の他に、ログ判定部1811からログの送信要求を受け付けた場合に、送信先特定部1803により特定された空きディスク容量が最も大きいMFPのIPアドレスに、ログ記憶部1804に記憶されているログを送信する。そして、送信されたログは、ログ管理部1801に対して、削除することを要求する。
ログ受信部1821は、他のMFP1800で利用された機能を示すログを受信する。本実施の形態では、他のMFP1800のログ記憶部1804の空き容量が少なくなった場合に、MFP1800で、他のMFP1800で利用された機能を示すログを管理している。このため、ログ受信部1821が、他のMFP1800からログを受信する。そして、受信したログは、ログ管理部1801によりログ記憶部1804に記憶される。
次に、第3の実施の形態にかかるMFP1800における、利用された機能に基づくログの管理について説明する。図21は、本実施の形態にかかるMFP1800における上述した処理の手順を示すフローチャートである。図21に示す手順においては、すでに利用者から受け付けた操作に基づいて、機能の利用がなされたものとする。なお、その際に行われる代替ユーザポイントの算出に関する処理は、第1の実施の形態と同様として説明を省略する。
まず、ログ管理部1801が、本体機能部202から、機能の利用結果の入力を受け付ける(ステップS2101)。次に、ログ管理部1801が、受け付けた機能の利用結果に基づいて、ログを生成する(ステップS2102)。
次にログ記憶部1804のログ判定部1811が、生成したログを記憶するためにログ記憶部1804の空きディスク容量が規定値以下であるか否かを判定する(ステップS2103)。なお、規定値は、実施の態様に応じて適切な値が設定されているものとする。
そして、ログ判定部1811が、規定値以下ではない(ステップS2103:No)、換言すれば十分な空きディスク容量があると判定した場合、ログ管理部1801は、生成したログを、ログ記憶部1804に保存する(ステップS2106)。
一方、ログ判定部1811が、規定値以下である(ステップS2103:Yes)、換言すれば十分な空きディスク容量がないと判定した場合、ログ管理部1801は、ログ通信部1806にログの送信を要求する。
そして、送信先特定部1803は、ログ通信部1806からの要求に応じて、エントリ情報記憶部1802に基づいて、空きディスク容量を十分に有するMFPのIPアドレスを、送信先として特定する(ステップS2104)。
その後、ログ送信部1822が、特定された送信先のMFPのIPアドレスに、ログ管理部1801が生成したログを送信する(ステップS2105)。
このように本実施の形態にかかる情報処理システム3では、MFPのログ記憶部1804の空き容量が足りなくなった際に、他のMFPのログ記憶部1804にログを転送できる。これにより、常用処理システム3内で、ログの負担を各MFPで分散させることができるので、各MFPのディスク容量を効率的に利用することができる。これにより、各MFPが大容量の記憶手段を持つ必要がなくなり、コスト削減を行うことができる。
本実施の形態にかかるMFP1800では、エントリ情報として各MFPの空きディスク容量を有することで、エントリ情報から送信先として1つのMFPを選択する際に、ディスクの一番空いているMFPを選択できる。
ところで、MFP間のログ転送時、通信エラーなどにより、複数機器に同一ログを保持することも考えられる。これに対し、本実施の形態にかかるMFP1800は、ログ毎にユニークな識別コードを付与している。識別コードは、各機器に一意なシリアルコードを含んでおり、情報処理システム3内で一意に定まるものとする。これにより、ログサーバ160との接続が回復しログを転送した際に、ログサーバ160でログの識別コードをチェックし、ログの重複管理と、ユーザポイントの多重計算を防ぐことができる。
(第4の実施の形態)
なお、第3の実施の形態においては、各MFP1800が記憶手段を有し、各MFP1800でログを記憶し、空きディスク容量が少なくなってきた場合に、他のMFPにログを送信する場合について説明した。
しかしながら、最初から空き容量がもっとも大きいMFPでログを一括管理してもよい。そこで、第4の実施の形態にかかる情報処理システム4では、一つのMFPがログを一括管理する例について説明する。
なお、本実施の形態においては、MFP1800は、ログ管理部1801でログ判定部1811を有していない他は、第3の実施の形態と構成が同じものとする。
本実施の形態においては、ログ管理部1801が、本体機能部202から機能の利用結果を受け付けた場合に、当該利用結果を示すログを生成し、ログ記憶部1804の空き容量にかかわらず、当該ログの送信をログ通信部1806に要求する。
それ以降、第3の実施と同様に、もっとも空き容量の大きいMFPに対して、生成したログを送信していくことになる。そして、一括管理しているMFPの空きディスク容量が少なくなってきた場合には、他のMFPで一括管理してもよい。
第4の実施においては、一つのMFPの記憶手段でログを一括管理するため、各MFPが備える記憶手段のディスク容量が少なくてもよい。これによりコスト削減を行うことができる。
(第4の実施の形態の変形例)
また、第4の実施の形態においては、各MFP1800で代替ユーザポイントを算出していた。しかしながら、それぞれのMFP1800で代替ユーザポイントを算出するのではなく、ログを一括管理するMFP1800で代替ユーザポイントを算出してもよい。つまり、ログを一括管理するMFP1800において、ログ受信部1821がログを受信した際に、代替ポイント管理部207のポイント算出部227が代替ユーザポイントを算出し、代替情報同期部210が、算出した代替ユーザポイントを、他のMFPに送信する手法が考えられる。なお、代替ユーザポイントを他のMFPに送信する手法は、上述した実施の形態を用いればよいものとして説明を省略する。
さらには、代替ユーザポイントを一括管理するMFPと、ログを一括管理するMFPとを別構成としてもよい。例えば、MFPが、ログサーバと通信不可能であることを検出した場合に、予め定められた代替ユーザポイントを算出するMFPに送信する。そして、代替ユーザポイントを算出するMFPは、空きディスク容量が大きいMFPを、ログの一括管理するMFPと特定し、代替ユーザポイントを算出した後、当該特定したMFPにログを送信する。そして、他のMFPに対しては、最初に、代替ユーザポイントを算出するMFPにログを送信するよう要求する。これにより、代替ユーザポイントを算出するMFPと、ログを一括管理するMFPとを分けることができる。
(変形例1)
なお、上述した実施の形態では、ログサーバと認証サーバとが別構成の場合について説明した。しかしながら、ログサーバと認証サーバとが別構成の場合に制限するものではない。
図22は、変形例1の情報処理システム5の構成を示した図である。図22では、情報処理システム5内に、認証サーバ2200を備え、当該認証サーバ2200で、上述した実施の形態で示したログサーバの機能を果たすログ管理アプリケーション2201を備えている。
このログ管理アプリケーション2201は、認証サーバ2200上で動作する仮想マシン上で動作するアプリケーションであってもよいし、直接認証サーバ2200上で動作するアプリケーションであってもよい。
そして、認証サーバ2200上で動作するログ管理アプリケーション2201が不具合等を理由に起動しなくなった場合、又はプログラム更新などのメンテナンス等のためログ管理アプリケーション2201が動作しない場合に、上述した実施の形態で示した処理を行うこととする。
これによりログ管理アプリケーション2201が動作しなくなった場合でも、再起動した後のログ管理アプリケーション2201は、動作していない間のログを管理することができる。
(変形例2)
また、上述した実施の形態では、ログサーバ160と接続できないことを、MFP100が行っていた。しかしながら、ログサーバ160の接続できないことの検出をMFP100側で行うことに制限するものではなく、例えば、障害を検出する装置で行ってもよい。
図23は、変形例2の情報処理システム6の構成を示した図である。図23では、情報処理システム6内に、さらに、機器管理サーバ2301を備え、当該機器管理サーバ2301が、ログサーバ160が通信できなくなったことを検出し、各MFP100にできなくなったことを通知する。これ以降は、MFP100が、上述した実施の形態と同様の処理を行えばよい。
さらに、MFPがリンク構造で代替ユーザポイントの送受信を行う場合、機器管理サーバ2301が、ログサーバ160が接続できなくなった時点で、情報処理システム6に接続されているMFPを特定し、特定されたMFPでリンク構造を設定し、各MFPに対して送信先となるエントリ情報を送信してもよい。
図24は、第1〜4の実施の形態及び変形例にかかるMFPのハードウェア構成を示すブロック図である。本図に示すように、このMFP100、1400、1800は、コントローラ10とエンジン部(Engine)60とをPCI(Peripheral Component Interface)バスで接続した構成となる。コントローラ10は、MFP100、1400、1800全体の制御と描画、通信、図示しない操作部からの入力を制御するコントローラである。エンジン部60は、PCIバスに接続可能なプリンタエンジンなどであり、たとえば白黒プロッタ、1ドラムカラープロッタ、4ドラムカラープロッタ、スキャナまたはファックスユニットなどである。なお、このエンジン部60には、プロッタなどのいわゆるエンジン部分に加えて、誤差拡散やガンマ変換などの画像処理部分が含まれる。
コントローラ10は、CPU11と、ノースブリッジ(NB)13と、システムメモリ(MEM−P)12と、サウスブリッジ(SB)14と、ローカルメモリ(MEM−C)17と、ASIC(Application Specific Integrated Circuit)16と、ハードディスクドライブ(HDD)18とを有し、ノースブリッジ(NB)13とASIC16との間をAGP(Accelerated Graphics Port)バス15で接続した構成となる。また、MEM−P12は、ROM(Read Only Memory)12aと、RAM(Random Access Memory)12bと、をさらに有する。
CPU11は、MFP100、1400、1800の全体制御をおこなうものであり、NB13、MEM−P12およびSB14からなるチップセットを有し、このチップセットを介して他の機器と接続される。
NB13は、CPU11とMEM−P12、SB14、AGP15とを接続するためのブリッジであり、MEM−P12に対する読み書きなどを制御するメモリコントローラと、PCIマスタおよびAGPターゲットとを有する。
MEM−P12は、プログラムやデータの格納用メモリ、プログラムやデータの展開用メモリ、プリンタの描画用メモリなどとして用いるシステムメモリであり、ROM12aとRAM12bとからなる。ROM12aは、プログラムやデータの格納用メモリとして用いる読み出し専用のメモリであり、RAM12bは、プログラムやデータの展開用メモリ、プリンタの描画用メモリなどとして用いる書き込みおよび読み出し可能なメモリである。
SB14は、NB13とPCIデバイス、周辺デバイスとを接続するためのブリッジである。このSB14は、PCIバスを介してNB13と接続されており、このPCIバスには、ネットワークインターフェイス(I/F)部なども接続される。
ASIC16は、画像処理用のハードウェア要素を有する画像処理用途向けのIC(Integrated Circuit)であり、AGP15、PCIバス、HDD18およびMEM−C17をそれぞれ接続するブリッジの役割を有する。このASIC16は、PCIターゲットおよびAGPマスタと、ASIC16の中核をなすアービタ(ARB)と、MEM−C17を制御するメモリコントローラと、ハードウェアロジックなどにより画像データの回転などをおこなう複数のDMAC(Direct Memory Access Controller)と、エンジン部60との間でPCIバスを介したデータ転送をおこなうPCIユニットとからなる。このASIC16には、PCIバスを介してFCU(Facsimile Control Unit)30、USB(Universal Serial Bus)40、IEEE1394(the Institute of Electrical and Electronics Engineers 1394)インターフェイス50が接続される。操作表示部20はASIC16に直接接続されている。
MEM−C17は、コピー用画像バッファ、符号バッファとして用いるローカルメモリであり、HDD(Hard Disk Drive)18は、画像データの蓄積、プログラムの蓄積、フォントデータの蓄積、フォームの蓄積を行うためのストレージである。
AGP15は、グラフィック処理を高速化するために提案されたグラフィックスアクセラレーターカード用のバスインターフェイスであり、MEM−P12に高スループットで直接アクセスすることにより、グラフィックスアクセラレーターカードを高速にするものである。
図25は、第1〜4の実施の形態及び変形例にかかる認証サーバ150、2200及びログサーバ160、1460のハードウェア構成例を示す図である。図25に示すように、認証サーバ150、2200及びログサーバ160、1460は、入力装置2501、表示装置2502、ドライブ装置2503、RAM(Random Access Memory)2504、ROM(Read Only Memory)2505、CPU(Central Processing Unit)2506、インターフェイス装置2507、及びHDD(Hard Disk Drive)2508などを備え、それぞれがバス2509で相互に接続されている。
入力装置2501は、キーボード及びマウスなどを含み、認証サーバ150、2200及びログサーバ160、1460に各操作信号を入力するのに用いられる。表示装置2502は、ディスプレイなどを含み、認証サーバ150、2200及びログサーバ160、1460による処理結果などを表示する。
インターフェイス装置2507は、認証サーバ150、2200及びログサーバ160、1460を所定のデータ伝送路Nに接続するインターフェイスとする。よって、認証サーバ150、2200及びログサーバ160、1460は、インターフェイス装置2507を介して、MFP等とデータ通信を行うことができる。
HDD2508は、各種プログラム及びデータを格納している不揮発性の記憶装置とする。格納されるプログラム及びデータには、例えば、認証サーバ150、2200又はログサーバ160、1460全体を制御する情報処理システム(例えば「Windows(登録商標)」や「UNIX(登録商標)」などの基本ソフトウェアであるOS(Operating System))、及び情報処理システム上において各種機能(例えば「認証管理機能」又は「ログ管理機能」)を提供するアプリケーションなどがある。また、HDD2508は、格納している上記プログラム及びデータを、所定のファイルシステム及び/又はDB(Data Base)により管理している。
ドライブ装置2503は、着脱可能な記録媒体2503aとのインターフェイスとする。これにより、認証サーバ150、2200及びログサーバ160、1460は、ドライブ装置2503を介して、記録媒体2503aの読み取り及び/又は書き込みを行うことができる。
ROM2505は、電源を切っても内部データを保持することができる不揮発性の半導体メモリ(記憶装置)である。ROM2505には、認証サーバ150、2200及びログサーバ160、1460が起動されるときに実行されるBIOS(Basic Input/Output System)や、認証サーバ150、2200及びログサーバ160、1460のシステム設定及びネットワーク関連設定などのデータが格納されている。
RAM2504は、上記各種記憶装置から読み出されたプログラム及びデータを一時保持する揮発性の半導体メモリ(記憶装置)である。CPU2506は、上記RAM2504上に読み出したプログラムを実行することにより、認証サーバ150、2200又はログサーバ160、1460、並びに各種搭載機能の動作を実現する。
このようなハードウェア構成により、認証サーバ150、2200及びログサーバ160、1460は、例えば、HDD2508からRAM2504上に読み出したプログラム(搭載機能を実現するソフトウェア部品)をCPU2506により実行し、認証管理機能又はログ管理機能を実現できる。
また、認証サーバ150、2200又はログサーバ160、1460は、上記ハードウェア構成からも分かるように、PC(Personal Computer)などの情報処理装置と略同一の構成をしている。
なお、本実施の形態のMFP100、1400、1800で実行される情報処理プログラムは、ROM等に予め組み込まれて提供される。
本実施の形態のMFP100、1400、1800で実行される情報処理プログラムは、インストール可能な形式又は実行可能な形式のファイルでCD−ROM、フレキシブルディスク(FD)、CD−R、DVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記録媒体に記録して提供するように構成してもよい。
さらに、本実施の形態のMFP100、1400、1800で実行される情報処理プログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成しても良い。また、本実施の形態のMFP100、1400、1800で実行される情報処理プログラムをインターネット等のネットワーク経由で提供または配布するように構成しても良い。
本実施の形態のMFP100、1400、1800で実行される情報処理プログラムは、上述した各部(操作受付部、本体機能部、機能利用制限部、ポイント判定部ユーザ認証部、代替ポイント管理部、代替情報同期部、ログ通信部、ログ管理部、通信先特定部、エントリ情報通信部)を含むモジュール構成となっており、実際のハードウェアとしてはCPU(プロセッサ)が上記ROMから情報処理プログラムを読み出して実行することにより上記各部が主記憶装置上にロードされ、操作受付部、本体機能部、機能利用制限部、ポイント判定部ユーザ認証部、代替ポイント管理部、代替情報同期部、ログ通信部、ログ管理部、通信先特定部、エントリ情報通信部が主記憶装置上に生成されるようになっている。