(57)【要約】【課題】  複数のデバイスが接続されたネットワークシステムにおいて、取り扱いが容易な代行処理を実現することを目的とする。【解決手段】  ジョブ処理のためのライセンスが管理され、該ライセンスを有するジョブについて処理を実行する複数の機器と、通信可能に接続される情報処理装置における情報処理方法であって、前記複数の機器の中から、ジョブの代行処理をさせる機器を選択する工程（ステップＳ８０１〜８０３）と、選択された機器が、該ジョブの処理を実行するためのライセンスを有していなかった場合に、該ライセンスをファイル出力する工程（ステップＳ８０４、８０５）と、選択された機器により、該ファイルを用いてジョブの代行処理がなされたか否かを監視し、代行された場合に、前記出力されたファイルの返却を要求する工程（ステップＳ８０６、８０７）とを備える。【選択図】  図８
2007272458.tif 000002
【特許請求の範囲】
【請求項１】
権限データの範囲内でジョブの処理を実行する外部情報処理装置と通信する情報処理装置であって、
ジョブを受信する受信手段と、
情報処理装置が、前記受信手段が受信したジョブの処理を実行することができない状態であるかを判定する判定手段と、
情報処理装置が、前記受信手段が受信したジョブの処理を実行することができない状態であると前記判定手段が判定した場合に、前記受信したジョブの権限データと前記ジョブとを前記外部情報処理装置に対して出力する出力手段と
を備えることを特徴とする情報処理装置。
【請求項２】
前記出力手段が前記権限データを前記外部情報処理装置に対して送信した場合に、前記情報処理装置内の権限データを消去する消去手段を更に備えることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記外部情報処理装置に対して、前記出力手段が出力した権限データを要求する要求手段を更に備えることを特徴とする請求項１に記載の情報処理装置。
【請求項４】
複数の外部情報処理装置の中からジョブの処理を依頼する外部情報処理装置を選択する選択手段を更に備え、
前記選択手段は、
前記情報処理装置に投入されたジョブの処理を代行するための条件を記載した情報を前記複数の外部情報処理装置に送信した場合の、該条件に対する該複数の外部情報処理装置の回答に基づいて前記情報処理装置に投入されたジョブの処理を代行させる外部情報処理装置を選択することを特徴とする請求項１に記載の情報処理装置。
【請求項５】
前記情報には、少なくとも、前記権限データを受信可能であるか否かの条件が記載されていることを特徴とする請求項２に記載の情報処理装置。
【請求項６】
前記情報には、少なくとも、前記権限データを受信することで、前記情報処理装置に投入されたジョブの処理を実行することが可能な期限が記載されていることを特徴とする請求項２に記載の情報処理装置。
【請求項７】
前記選択手段により選択された外部情報処理装置が、前記情報処理装置に投入されたジョブの処理を実行するための制御プログラムを有していなかった場合に、該外部情報処理装置に対して、該制御プログラムをインストールするインストール手段を更に備えることを特徴とする請求項１に記載の情報処理装置。
【請求項８】
前記判定手段は、
前記情報処理装置の負荷が特定の値よりも高い状態、前記情報処理装置内にジョブ処理に用いられる制御プログラムが搭載されていない状態、前記情報処理装置内にエラーが生じている状態、前記情報処理装置内の他のジョブのエラーが生じている状態のうち、少なくともひとつの状態に前記情報処理装置がある場合に、受信したジョブの処理を実行することができない状態であると判定することを特徴とする請求項１に記載の情報処理装置。
【請求項９】
前記選択手段により選択された外部情報処理装置により、前記権限データを用いて前記情報処理装置に投入されたジョブの処理が代行されたか否かを監視し、代行の完了が確認された場合に、前記要求手段は、前記出力された権限データの返却を要求することを特徴とする請求項１に記載の情報処理装置。
【請求項１０】
前記外部情報処理装置の回答が、ジョブの処理に必要なプログラムを前記外部情報処理装置が有しているが前記権限データを前記外部情報処理装置が有していない旨示している場合は、前記権限データを前記出力手段が出力し、前記外部情報処理装置の回答が、ジョブの処理に必要な制御プログラムを前記外部情報処理装置が有しておらず、かつ前記権限データを前記外部情報処理装置が有していない旨示している場合は、ジョブの処理に必要な制御プログラムと前記権限データとを前記出力手段が出力することを特徴とする請求項１に記載の情報処理装置。
【請求項１１】
他の外部情報処理装置と通信し、ジョブの処理を実行する情報処理装置であって、
前記他の外部情報処理装置からジョブの代行処理の指示を受け付けた場合であって、前記他の外部情報処理装置に対して、該権限データの出力を要求する出力要求手段と、
前記要求に応じて出力された前記権限データに基づいて、前記ジョブの代行処理を実行し、該権限データを前記他の外部情報処理装置に返却するために送信する送信手段と
を備えることを特徴とする情報処理装置。
【請求項１２】
ネットワークを介して他の外部情報処理装置よりジョブの代行処理の指示を受け付けた場合であって、該処理を実行するための制御プログラムを有していない場合に、前記他の外部情報処理装置に対して、該制御プログラムのインストールを要求するインストール要求手段を更に備えることを特徴とする請求項１１に記載の情報処理装置。
【請求項１３】
前記他の外部情報処理装置より、ジョブの代行処理を実行するための条件を記載した情報を受信した場合に、該条件を具備するか否かを判断し、該条件を具備すると判断された場合に、前記他の外部情報処理装置に対して、ジョブの代行処理が可能である旨の情報を送信することを特徴とする請求項１１に記載の情報処理装置。
【請求項１４】
権限データの範囲内でジョブの処理を実行する第一情報処理装置と第二情報処理装置とを含む情報処理システムであって、
前記第一情報処理装置は、
ジョブを受信する受信手段と、
前記受信手段が受信したジョブの処理を前記第一情報処理装置が実行することができない状態であるかを判定する判定手段と、
前記第一情報処理装置が、前記受信手段が受信したジョブの処理を実行することができない状態であると前記判定手段が判定した場合に、前記受信したジョブの権限データと前記ジョブとを前記第二情報処理装置に対して出力する出力手段と、を備え、
前記第二情報処理装置は、
前記出力手段により出力された前記ジョブと前記権限データとを取得する取得手段と、
前記取得手段が取得した権限データを用いて前記ジョブを実行する実行手段と
を備えることを特徴とする情報処理システム。
【請求項１５】
権限データの範囲内でジョブの処理を実行する外部情報処理装置と通信する情報処理装置における情報処理方法であって、
ジョブを受信する受信工程と、
情報処理装置が、前記受信工程において受信したジョブの処理を実行することができない状態であるかを判定する判定工程と、
情報処理装置が、前記受信工程において受信したジョブの処理を実行することができない状態であると前記判定工程において判定した場合に、前記受信したジョブの権限データと前記ジョブとを前記外部情報処理装置に対して出力する出力工程と
を備えることを特徴とする情報処理方法。
【請求項１６】
前記出力工程が前記権限データを前記外部情報処理装置に対して送信した場合に、前記情報処理装置内の権限データを消去する消去工程を更に備えることを特徴とする請求項１５に記載の情報処理方法。
【請求項１７】
前記外部情報処理装置に対して、前記出力工程において出力した権限データを要求する要求工程を更に備えることを特徴とする請求項１５に記載の情報処理方法。
【請求項１８】
複数の外部情報処理装置の中からジョブの処理を依頼する外部情報処理装置を選択する選択工程を更に備え、
前記選択工程は、
前記情報処理装置に投入されたジョブの処理を代行するための条件を記載した情報を前記複数の外部情報処理装置に送信した場合の、該条件に対する該複数の外部情報処理装置の回答に基づいて前記情報処理装置に投入されたジョブの処理を代行させる外部情報処理装置を選択することを特徴とする請求項１５に記載の情報処理方法。
【請求項１９】
前記情報には、少なくとも、前記権限データを受信可能であるか否かの条件が記載されていることを特徴とする請求項１６に記載の情報処理方法。
【請求項２０】
前記情報には、少なくとも、前記権限データを受信することで、前記情報処理装置に投入されたジョブの処理を実行することが可能な期限が記載されていることを特徴とする請求項１６に記載の情報処理方法。
【請求項２１】
前記選択工程において選択された外部情報処理装置が、前記情報処理装置に投入されたジョブの処理を実行するための制御プログラムを有していなかった場合に、該外部情報処理装置に対して、該制御プログラムをインストールするインストール工程を更に備えることを特徴とする請求項１５に記載の情報処理方法。
【請求項２２】
前記判定工程は、
前記情報処理装置の負荷が特定の値よりも高い状態、前記情報処理装置内にジョブ処理に用いられる制御プログラムが搭載されていない状態、前記情報処理装置内にエラーが生じている状態、前記情報処理装置内の他のジョブのエラーが生じている状態のうち、少なくともひとつの状態に前記情報処理装置がある場合に、受信したジョブの処理を実行することができない状態であると判定することを特徴とする請求項１５に記載の情報処理方法。
【請求項２３】
前記選択工程において選択された外部情報処理装置により、前記権限データを用いて前記情報処理装置に投入されたジョブの処理が代行されたか否かを監視し、代行の完了が確認された場合に、前記要求工程は、前記出力された権限データの返却を要求することを特徴とする請求項１５に記載の情報処理方法。
【請求項２４】
前記外部情報処理装置の回答が、ジョブの処理に必要なプログラムを前記外部情報処理装置が有しているが前記権限データを前記外部情報処理装置が有していない旨示している場合は、前記権限データを前記出力工程において出力し、前記外部情報処理装置の回答が、ジョブの処理に必要な制御プログラムを前記外部情報処理装置が有しておらず、かつ前記権限データを前記外部情報処理装置が有していない旨示している場合は、ジョブの処理に必要な制御プログラムと前記権限データとを前記出力工程において出力することを特徴とする請求項１５に記載の情報処理方法。
【請求項２５】
他の外部情報処理装置と通信し、ジョブの処理を実行する情報処理装置における情報処理方法であって、
前記他の外部情報処理装置からジョブの代行処理の指示を受け付けた場合であって、前記他の外部情報処理装置に対して、該権限データの出力を要求する出力要求工程と、
前記要求に応じて出力された前記権限データに基づいて、前記ジョブの代行処理を実行し、該権限データを前記他の外部情報処理装置に返却するために送信する送信工程と
を備えることを特徴とする情報処理方法。
【請求項２６】
ネットワークを介して他の外部情報処理装置よりジョブの代行処理の指示を受け付けた場合であって、該処理を実行するための制御プログラムを有していない場合に、前記他の外部情報処理装置に対して、該制御プログラムのインストールを要求するインストール要求工程を更に備えることを特徴とする請求項２５に記載の情報処理方法。
【請求項２７】
前記他の外部情報処理装置より、ジョブの代行処理を実行するための条件を記載した情報を受信した場合に、該条件を具備するか否かを判断し、該条件を具備すると判断された場合に、前記他の外部情報処理装置に対して、ジョブの代行処理が可能である旨の情報を送信することを特徴とする請求項２５に記載の情報処理方法。
【請求項２８】
請求項１５乃至２７のいずれか１項に記載の情報処理方法をコンピュータによって実現させるための制御プログラムを格納した記憶媒体。
【請求項２９】
請求項１５乃至２７のいずれか１項に記載の情報処理方法をコンピュータによって実現させるための制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の情報処理装置が通信可能に接続されたネットワークシステムにおいて代行処理を実現するための代行処理技術に関するものである。
【背景技術】
【０００２】
近年、ネットワーク技術の進展により、コンピュータと周辺機器とがネットワークを介して複数接続されたネットワークシステムが広く普及してきた。
【０００３】
また、周辺機器として、ＭＦＰ（Multi Function Peripheral）と呼ばれる複合型の周辺機器が普及するようになった。さらに、最近では当該ＭＦＰに高度なアプリケーションソフトウェア（以下、デバイスアプリケーションと呼ぶ）が搭載されるようになってきている。
【０００４】
このような状況のもと、ネットワークシステムにおいて、ＭＦＰは、コンピュータのためのデータ入出力用機器として用いられるだけでなく、様々なサービスを提供するサーバ機器としても利用されるようになってきた。この結果、現在ではＭＦＰのみから構成されるネットワークシステムも登場してきている。
【０００５】
一方で、このようなＭＦＰのみから構成されるネットワークシステムは、例えば、オフィス等の環境に適用された場合、次のような問題がある。すなわち、ユーザが所定のＭＦＰからデバイスアプリケーションを使ってジョブを投入したにも関わらず、当該ＭＦＰが高負荷であったり、デバイスアプリケーションの実行に必要な能力を有していなかったような場合、当該ジョブが処理されずに終了してしまう。
【０００６】
これまでのネットワークシステムの場合、このようなケースでは、ユーザは、ただ自分のジョブの処理順番を待ったり、別のＭＦＰまで行って再度操作をやり直すことで対処していた。しかし、近年、ネットワークを用いて当該ジョブを他のＭＦＰに代行処理させる代行処理技術が提案され（例えば、特許文献１、２参照）、ユーザの利便性の向上に寄与している。
【特許文献１】特開２０００−３５８６７号公報
【特許文献２】特開２０００−４７７７２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、これまでに提案された代行処理技術の場合、あらかじめ元のデバイスに代替デバイスを登録しておかなければならず、代替可能なデバイスが固定的であった。このため、デバイスの追加／削除や、既存デバイスのオプション機器の変更等によりシステムの構成が変更されると、代替デバイスを登録している全てのデバイスの代替デバイス登録設定を見直し、変更しなければならなかった。
【０００８】
さらに、代替デバイスにはあらかじめ同じデバイスアプリケーションをインストールし、かつライセンス（ジョブの処理を実行するための権限）を持たせておく必要があった。このように、従来の代行処理技術は、システム構成の変更のたびに設定を変更したり、事前に各デバイスごとに諸々の設定を行っておかなければならず、取り扱いが難しいという問題があった。
【０００９】
本発明は上記課題に鑑みてなされたものであり、複数のデバイスが接続されたネットワークシステムにおいて、取り扱いが容易な代行処理を実現することを目的とする。
【課題を解決するための手段】
【００１０】
上記の目的を達成するために本発明に係る情報処理装置は以下のような構成を備える。即ち、
権限データの範囲内でジョブの処理を実行する外部情報処理装置と通信する情報処理装置であって、
ジョブを受信する受信手段と、
情報処理装置が、前記受信手段が受信したジョブの処理を実行することができない状態であるかを判定する判定手段と、
情報処理装置が、前記受信手段が受信したジョブの処理を実行することができない状態であると前記判定手段が判定した場合に、前記受信したジョブの権限データと前記ジョブとを前記外部情報処理装置に対して出力する出力手段とを備える。
【発明の効果】
【００１１】
本発明によれば、複数のデバイスが接続されたネットワークシステムにおいて、取り扱いが容易な代行処理を実現することが可能となる。
【発明を実施するための最良の形態】
【００１２】
以下、必要に応じて添付図面を参照しながら本発明の各実施形態を詳細に説明する。
【００１３】
［第１の実施形態］
１．情報処理装置のハードウェア構成
１．１  全体構成
図１は、本発明の一実施形態にかかる情報処理装置１００のハードウェア構成を示すブロック図である。
【００１４】
同図に示すように、情報処理装置１００は、中央演算処理装置（ＣＰＵ）１０２と、ＲＡＭやＲＯＭなどの主記憶装置（メモリ）１０３と、ＦＤドライブやＨＤドライブなどの外部記憶装置１０５を備える。更に、タッチパネルやキーなどの入力装置１０１や、ＣＲＴディスプレイやタッチパネルと一体化した液晶パネルなどの表示装置１０４、および外部のネットワーク１０７に接続する外部入出力インターフェイス（Ｉ／Ｏ  Ｉ／Ｆ）１０６を備える。
【００１５】
情報処理装置１００は、基本Ｉ／Ｏプログラム、ＯＳ、ならびに各種制御プログラムをＣＰＵ１０２が実行することにより動作する。
【００１６】
基本Ｉ／Ｏプログラムはメモリ１０３に書き込まれており、ＯＳはＨＤドライブ１０５に書き込まれている。そして情報処理装置１００に電源が投入されると、基本Ｉ／Ｏプログラム中のＩＰＬ（イニシャル・プログラム・ローディング）機能によりＨＤドライブ１０５からＯＳがＲＡＭ１０３に読み込まれ、ＯＳの動作が開始される。
【００１７】
制御プログラムは後述の各図に示される制御手順のフローチャートに基づいてプログラムコード化されたものである。本実施形態の場合は、当該制御プログラムおよび関連データがＦＤ中に記録されているものとする。なお、ＦＤに記録されている内容ならびに構成を図２に示す。
【００１８】
１．２  ＦＤの構成
図２は、ＦＤに記録されている内容ならびに構成を示す図である。同図に示すように、ＦＤ２００は、ボリューム情報記録領域２０１、ディレクトリ情報記録領域２０２、制御プログラム実行ファイル記録領域２０３、制御プログラム関連データファイル記録領域２０４とを備える。
【００１９】
ＦＤに記録された制御プログラム及び関連データは、図１に示すように外部記憶装置としてのＦＤドライブ１０５を通じてＲＡＭ１０３にロードされる。具体的には、このＦＤがＦＤドライブ１０５にセットされると、ＯＳおよび基本Ｉ／Ｏプログラムの制御の下、当該制御プログラムおよび関連データがＦＤ２００から読み出され、ＲＡＭ１０３にロードされる。
【００２０】
１．３  ＲＡＭのメモリマップ
図３は、制御プログラムがＲＡＭ１０３にロードされ実行可能となった状態のメモリマップを示す。
【００２１】
３０１に示す領域には基本Ｉ／Ｏプログラムが、３０２に示す領域にはＯＳが、３０３に示す領域には制御プログラムがそれぞれ展開される。また、３０４に示すデータエリアには、関連データが読み込まれる。一方、３０５に示す領域は、ＣＰＵ１０２のワークエリアとして利用される。
【００２２】
なお、本実施形態では、ＦＤ２００から制御プログラム及び関連データを直接ＲＡＭ１０３にロードし実行させることとしたが、本発明は特にこれに限定されるものではない。例えば、制御プログラムや関連データをＨＤドライブ１０５に格納しておき、ＨＤドライブ１０５からロードするようにしてもよい。また制御プログラムを記録する媒体は、光ディスク、ＩＣメモリカードなどであってもよい。さらに制御プログラムを読取専用のＲＯＭ１０３に記録しておき、これを直接ＣＰＵ１０２で実行するようにしてもよい。
【００２３】
２．代行処理を実現するネットワークシステムの構成
図４は、上記情報処理装置１００を搭載するＭＦＰがＬＡＮやＷＡＮなどのネットワーク１０７を介して複数台接続されたネットワークシステムの構成例を示す図である。
【００２４】
４０１乃至４０４は、いずれも上記情報処理装置１００が搭載されたＭＦＰ（Ｍｕｌｔｉ  Ｆｕｎｃｔｉｏｎ  Ｐｅｒｉｐｈｅｒａｌ）であるものとする。ただし、ネットワークシステムを構成する機器はＭＦＰに限定するものではなく、上記情報処理装置１００が搭載されたものであれば、スキャナであってもファクシミリ装置であっても、あるいは、プリンタや複写機であってもよい。
【００２５】
なお、以下では、各ＭＦＰに搭載された情報処理装置のうち、ＭＦＰ４０１に搭載された情報処理装置が後述するライセンス提供デバイスとして機能するものとする。また、ＭＦＰ４０２乃至４０４に搭載された情報処理装置が後述するアプリケーション動作デバイスとして機能するものとする。
【００２６】
そこでライセンス提供デバイスとして機能する情報処理装置を、以下では「デバイスＡ」と呼び、アプリケーション動作デバイスとして機能する複数の情報処理装置のいずれかを「デバイスＢ」と呼ぶこととする。
【００２７】
３．ネットワークシステムにおける各情報処理装置のモジュール構成
図５は、図４に示すネットワークシステムにおける各情報処理装置のモジュール構成を示す図である。アプリケーション動作デバイスとして機能する情報処理装置（デバイスＢ）のモジュール構成を５０１に示す。また、ライセンス提供デバイスとして機能する情報処理装置（デバイスＡ）のモジュール構成を５１１に示す。
【００２８】
３．１  デバイスＡのモジュール構成
同図に示すように、ライセンス提供デバイス５１１として機能する情報処理装置（デバイスＡ）は、デバイスプラットフォーム５１２を備える。これにより、基本Ｉ／ＯプログラムやＯＳ、デバイスドライバ、ネットワークＩ／Ｆなどが実行され、各種機能を実現している。
【００２９】
ライセンス管理部５１３は、デバイスＡのライセンスと、制御プログラムの一例であるコンポーネントの管理をするアプリケーションプラットフォームの１モジュールである。ライセンス管理部５１３は、外部デバイス（デバイスＢ）のライセンス管理部５０６と連動してライセンスやコンポーネントの提供ならびに返却機能を実現する。
【００３０】
ライセンスデータベース５１４は、ライセンスが格納されたデータベースである。図２１にライセンスデータベース５１４の構造例を示す。
【００３１】
同図に示すように、ライセンスデータベース５１４は、管理ＩＤ格納部２１０１、ライセンス識別子格納部２１０２、状態格納部２１０３、種別格納部２１０４、上限値格納部２１０５、レンタル先デバイス格納部２１０６を備える。“管理ＩＤ”は、ライセンスデータベース５１４に格納されている各ライセンスを管理するために付された識別子である。“ライセンス識別子”は、ライセンスごとに付された固有の識別子である。
【００３２】
“状態”には、有効／無効と、レンタル中／所有とがあり、その組み合わせによりライセンスの状態として４通りの状態が発生しえる。有効期限切れや有効カウントが０になっている場合、ライセンスは「無効」の状態となる。また、所有している有効なライセンスの一部もしくは全部をファイルとして他のデバイスに出力した場合には、ライセンスは「レンタル中」の状態となる。この場合、レンタル先のデバイス名がレンタル先デバイス格納部２１０６に格納される。
【００３３】
“種別”は、ライセンスの種類を示したものである。例えば、ライセンスがデバイスアプリケーションの実行回数や印刷枚数などカウント可能なものの上限を権利化したものならば、種別＝カウントとなる。なお、このときの上限値は、上限値格納部２１０５に格納される。
【００３４】
種別＝カウントの場合には、その上限値の範囲内で別のライセンスをファイルとして生成することが可能である。そして、元のライセンスと新しく生成されたライセンスとはそれぞれの上限値の範囲内ではどちらも有効である。この場合、ライセンスデータベース５１４の状態格納部２１０３において、元のライセンスは「有効＆レンタル中」となる。一方、新しく生成されたライセンスは、ライセンスデータベース５０７（後述）にて「有効＆所有」となる。
【００３５】
もちろん、上限値を全てライセンスファイルとして出力しても良いが、その場合は元のライセンスは「無効＆レンタル中」、出力されたライセンスはライセンスデータベース５０７にて「有効＆所有」の状態となる。
【００３６】
一方、種別＝有効期限などのようにカウント不可能なものの上限を権利化したライセンスならば、一部を別ライセンスにすることはできないので、レンタルする場合には、全部を権限データの一例であるライセンスファイルとして出力することとなる。
【００３７】
３．２  デバイスＢのモジュール構成
同様に、アプリケーション動作デバイス５０１として機能する情報処理装置（デバイスＢ）は、デバイスプラットフォーム５０２を備える。これにより、基本Ｉ／ＯプログラムやＯＳ、デバイスドライバ、ネットワークＩ／Ｆなどが実行され、各種機能を実現している。
【００３８】
アプリケーションプラットフォーム５０３はデバイスアプリケーション５０４の動作環境を提供し、デバイスプラットフォーム５０２上で動作する。代行エージェント５０５は、外部デバイス（デバイスＡ）から代行処理に関する各種メッセージを受け取り、対応する処理を行うアプリケーションプラットフォームの１モジュールである。代行エージェント５０５は、外部のライセンス提供デバイス５１１として機能する情報処理装置（デバイスＡ）との仲介役を担っている。
【００３９】
ライセンス管理部５０６は、デバイスＢのライセンスとコンポーネントの管理をするアプリケーションプラットフォームの１モジュールである。ライセンス管理部５０６は、外部デバイス（デバイスＡ）のライセンス管理部５１３と連動してライセンスやコンポーネントの提供ならびに返却機能を実現する。
【００４０】
ライセンスデータベース５０７は、ライセンスが格納されたデータベースである。データベースの構造は、図２１と同様であることから説明は省略する。
【００４１】
４．ライセンス提供デバイスとして機能する情報処理装置（デバイスＡ）における処理
続いて、ライセンス提供デバイス５１１として機能する情報処理装置（デバイスＡ）の代行処理の流れを説明する。
【００４２】
４．１  代行処理全体の流れ
図６は、図４に示すネットワークシステムにおいて、ライセンス提供デバイスとして機能する情報処理装置（デバイスＡ）における全体の流れを表わしている。
【００４３】
同図に示すように、ユーザが入力装置１０１からデバイスアプリケーションの１つを選択すると（ステップＳ６０１）、選択したデバイスアプリケーションに対応する有効なライセンスがあるか否かをチェックする（ステップＳ６０２）。
【００４４】
チェック後、ワークエリア３０５に格納された起動フラグを判定し（ステップＳ６０３）、起動フラグがＯＦＦであればそのまま終了する。一方、起動フラグがＯＮであれば、選択したデバイスアプリケーションを起動し、表示装置１０４に入力画面を表示する（ステップＳ６０４）。
【００４５】
処理に必要な入力をユーザから受け付けると（ステップＳ６０５）、ジョブを作成する（ステップＳ６０６）。そして作成されたジョブが現在デバイスＡにて処理可能か否かを判定する（ステップＳ６０７）。処理可能であると判定された場合には、デバイスＡの負荷があらかじめ決められた閾値よりも大きくないかを判定する（ステップＳ６０８）。
【００４６】
ステップＳ６０７におけるデバイスＡにてジョブの処理可能か否かは、デバイスに搭載された画像形成プログラムの中にジョブが必要とするものが搭載されているか否か、用紙なし、トナーロー、ジョブのエラーなどにより、デバイスがジョブを物理的に処理できない状態にあるか否かに基づき判断される。例えば、デバイスＡの負荷が特定の値よりも高い状態、デバイスＡ内にジョブ処理に用いられる制御プログラムが搭載されていない状態、デバイスＡ内にエラーが生じている状態、デバイスＡ内の他のジョブのエラーが生じている状態のうち、デバイスＡがこれらの状態の中の少なくともひとつの状態であるとする。この場合、デバイスＡが、受信したジョブの処理を実行することができない状態であるとデバイスＡ内の制御プログラムを用いてライセンス管理部が判定処理する。
【００４７】
デバイスＡの負荷があらかじめ決められた閾値よりも大きくないと判定された場合には、通常通りジョブを処理する（ステップＳ６０９）。一方、ステップＳ６０７にて処理可能でないと判定された場合、またはステップＳ６０８にて負荷が大きいと判定された場合には、ステップＳ６１０に進み、代行処理を行う。ステップＳ６１１では、代行処理が成功したか否かを判定し、代行処理が失敗であれば通常処理を行い（ステップＳ６０９）、成功であればそのまま処理を終了する。
【００４８】
４．２  ライセンスチェック処理の流れ
図７は、ステップＳ６０２のライセンスチェック処理の詳細な流れを示すフローチャートである。この処理はライセンス管理部５１３で行われる。まず、起動しようとしているデバイスアプリケーションに必要なライセンスを既に持っていないかを判断すべく、ライセンスＤＢ５１４から検索し（ステップＳ７０１）、ライセンスの有無を判定する（ステップＳ７０２）。
【００４９】
ライセンスが有ったと判定された場合には、ライセンスが有効か否かを判定する（ステップＳ７０３）。一方、ステップＳ７０２でライセンスがなかったと判定された場合、もしくはステップＳ７０３でライセンスの状態が無効と判定された場合には、ライセンスがない旨の表示画面を表示装置１０４に表示する（ステップＳ７０４）。
【００５０】
図２０の２０００は当該表示画面の一例である。デバイスＡでは、当該表示画面２０００において、「はい」（２００１）を選択することによりライセンスなしでも強制的にデバイスアプリケーションを起動することが可能であり、一般的なシェアウェアのようなライセンス形態も可能である。ただし、本発明はこれに限られず、ユーザが強制起動を選択できないように構成してもよい。
【００５１】
ステップＳ７０５では、ステップＳ７０４にて表示された表示画面２０００に対するユーザの入力を判定する。判定の結果、強制起動しないという入力であった場合（「いいえ」（２００２）が押下された場合）には、ワークエリア３０５に格納された起動フラグをＯＦＦ（ステップＳ７０６）にする。一方、強制起動するという入力であった場合（「はい」（２００１）が押下された場合）には、起動フラグをＯＮにセットして（ステップＳ７０７）、処理を抜ける。
【００５２】
一方、ステップＳ７０３にてライセンスが有効であると判定された場合には、起動フラグをＯＮにして（ステップ７０７）処理を抜ける。
【００５３】
４．３  代行処理の流れ
図８は、ステップＳ６１０の代行処理の詳細な流れを示すフローチャートである。この処理は主にデバイスＡのアプリケーションプラットフォーム（図５において不図示）で行われる。まず、代替デバイスを検索し（ステップＳ８０１）、代替デバイスが見つかったか否かを判定する（ステップ８０２）。
【００５４】
代替デバイスが見つからなかった場合には、処理を抜ける。一方、代替デバイスが見つかった場合には、選択した代替デバイス（デバイスＢ）に代行通知を行い（ステップＳ８０３）、当該通知に対する回答に基づいて、代替デバイス（デバイスＢ）の処理準備が完了したか否かを判定する（ステップＳ８０４）。
【００５５】
代替デバイス（デバイスＢ）の準備が未完了であると判定された場合には、処理を抜ける。一方、代替デバイス（デバイスＢ）の準備が完了したと判定された場合には、代替デバイスにジョブ処理の代行を依頼する（ステップＳ８０５）。代替デバイスの処理を監視し、代替デバイスでのジョブ処理が終わったら、代替デバイスにライセンスをレンタルしていないかを判定し（ステップＳ８０６）、レンタルしていればライセンスを返却するよう要求した後（ステップＳ８０７）、処理を抜ける。
【００５６】
４．３．１  代行検索処理の流れ
図９は、ステップＳ８０１の代行検索処理の詳細な流れを示すフローチャートである。なお、参考として、代行検索処理実行時の、デバイスＢにおける対応する処理（代行検索応答処理。詳細は後述）を合わせて記載したフローチャートを図２２に示す。以下、図２２を参照しながら、図９について説明する（図２２に示す参照番号は、図９に示す参照番号と対応している）。なお、図２２に示す各記号の意味は２２００に示すとおりである。
【００５７】
ステップＳ９０１では、代行検索チケットを作成する。代行検索チケットとは、ネットワーク１０７に接続された情報処理装置の中から、代行処理を実行させる情報処理装置（代替デバイス）を選択すべく、ジョブの処理を代行するための条件を記載したチケットをいう。
【００５８】
図２６の２６００は代行検索チケットの一例を示す図である。代行検索チケット２６００は、使用するデバイスアプリケーション毎にあらかじめ設定されているライセンス形態や必要とする能力などの情報に基づいて作成する。代替デバイスの条件としては、必要なライセンスとコンポーネント（２６０１、２６０２）、必要な能力（２６０３）、およびライセンスのレンタル可否（２６０４）、コンポーネントの送付可否（２６０５）、チケット有効期間（２６０６）などがある。必要な能力（２６０３）とは、ＦＡＸ送信やカラー印刷、ステイプルなど、デバイスの機能をさす。
【００５９】
図９、図２２に戻る。ステップＳ９０２では、作成された代行検索チケット（２６００）を代行検索メッセージとしてネットワーク１０７にブロードキャストする。代行検索メッセージを受信した情報処理装置では、代行検索応答処理を実行する。なお、代行検索応答処理の詳細については後述する。
【００６０】
ステップＳ９０３では、代行検索メッセージを受信した情報処理装置からの返答（代行検索返答メッセージ）を待つ。
【００６１】
ステップＳ９０３にて、代行検索返答メッセージを受信したと判定された場合には、ステップＳ９０４に進む。ステップＳ９０４では、代行検索返答メッセージを送信した複数の情報処理装置の中から、代替デバイス（デバイスＢ）を選択する。
【００６２】
具体的には、あらかじめ設定された時間内に受け取った複数の代行検索返答メッセージに含まれる代行検索返答チケットから、条件がより適切なチケットを選択し、そのチケットを送ったデバイスを代替デバイスとする。例えば、ライセンスのレンタルが必要とする代行検索返答チケットとライセンスのレンタルを不要とする代行検索返答チケットがあれば、ライセンスのレンタルが不要とする代行検索返答チケットを選択する。もし、あらかじめ設定された時間内に代行検索返答メッセージが１つも送られてこなかったり、許容できる条件の代行検索返答チケットがなければ、代行処理不成功として処理を抜ける。本実施形態ではデバイスＢが代替デバイスとして選択されるものとする。
【００６３】
４．３．２  代行通知処理
次に代行通知処理（ステップＳ８０３）について説明する。図１０は、ステップＳ８０３の代行通知処理の詳細の流れを示すフローチャートである。なお、参考として、代行通知処理実行時の、デバイスＢにおける対応する処理（代行通知応答処理。詳細は後述）を合わせて記載したフローチャートを図２３に示す。以下、図２３を参照しながら、図１０について説明する（図２３に示す参照番号は、図１０に示す参照番号と対応している）。なお、図２３に示す各記号の意味は２３００に示すとおりである。
【００６４】
ステップＳ１００１では、代行検索処理（ステップＳ８０１）で選択した代替デバイスであるデバイスＢに、代行検索チケットの検索ＩＤを付けて代行通知メッセージを送信する。代行通知メッセージを受け取ったデバイスＢでは、代行通知応答処理を実行する。なお、代行通知応答処理の詳細については、後述する。
【００６５】
ステップＳ１００２では、デバイスＢより、ライセンスのレンタル要求があったか否かを判定する。ライセンスのレンタル要求があったと判定された場合には、ステップＳ１００３に進む。ステップＳ１００３では、ライセンス管理部５１３が、自分の保持している有効なライセンスの一部もしくは全部をファイルとして出力し、要求してきたデバイスＢのライセンス管理部５０６に送信する。
【００６６】
ステップＳ１００４では、デバイスＢよりコンポーネントの要求があったか否かを判定し、コンポーネントの要求があったと判定された場合には、ステップＳ１００５に進む。ステップＳ１００５では、コンポーネントをファイル出力する。
【００６７】
ステップＳ１００６では、送信された代行通知メッセージに対する返答（代行通知返答メッセージ）を待つ。ステップＳ１００２において、代行通知返答メッセージを受信したと判定された場合には、処理を終了する。
【００６８】
４．３．３  代行依頼処理
次に代行依頼処理（ステップＳ８０５）について説明する。図１１は、ステップＳ８０５の代行依頼処理の詳細な流れを示すフローチャートである。なお、参考として、代行依頼処理実行時の、デバイスＢにおける対応する処理（代行依頼応答処理。詳細は後述）を合わせて記載したフローチャートを図２４に示す。以下、図２４を参照しながら、図１１について説明する（図２４に示す参照番号は、図１１に示す参照番号と対応している）。なお、図２４に示す各記号の意味は２４００に示すとおりである。
【００６９】
ステップＳ１１０１では、代行依頼チケットを作成する。図２８の２８００は代行依頼チケットの一例を示す図である。代行検索チケットは、必要なライセンスとコンポーネント（２８０１、２８０２）、必要な能力（２８０３）に加えて、ジョブの入力情報２８０４（データそのもの、もしくはデータの格納場所）が格納されている。また、ジョブの出力情報２８０５（代行依頼メッセージに対して処理結果メッセージで返すか、決まった場所に格納するかといったデータの返却方法）なども格納されている。
【００７０】
ステップＳ１１０２では、作成された代行依頼チケット（２８００）を代行依頼メッセージに付けて代替デバイスであるデバイスＢに送信する。代行依頼メッセージを受信したデバイスＢでは、代行依頼応答処理を実行する。なお、代行依頼応答処理の詳細については後述する。
【００７１】
ステップＳ１１０３では、代行依頼メッセージに対するデバイスＢからの返答（代行処理結果メッセージ）を待つ。ステップＳ１１０３にて、代行処理結果メッセージを受信したと判定された場合には、ステップＳ１１０４に進む。ステップＳ１１０４では、必要に応じて最終出力デバイス名やエラー情報等、代行処理結果メッセージの内容を表示装置１０４に表示する。
【００７２】
４．３．４  ライセンス返却要求処理
次にライセンス返却要求処理（ステップＳ８０７）について説明する。図１２は、ステップＳ８０７のライセンス返却要求処理の詳細な流れを示すフローチャートである。なお、参考として、ライセンス返却要求処理実行時の、デバイスＢにおける対応する処理（ライセンス返却応答処理。詳細は後述）を合わせて記載したフローチャートを図２５に示す。以下、図２５を参照しながら、図１２について説明する（図２５に示す参照番号は、図１２に示す参照番号と対応している）。なお、図２５に示す各記号の意味は２５００に示すとおりである。
【００７３】
ステップＳ１２０１では、デバイスＢにレンタル中のライセンスを検索する。具体的には、デバイスアプリケーションが必要としているライセンス識別子を持つレンタル中状態のライセンスをライセンスＤＢ５１４から検索する。
【００７４】
ステップＳ１２０２では、ライセンス返却要求メッセージにライセンス識別子を付けて、レンタル中のライセンスのレンタル先デバイスであるデバイスＢに送信する。ライセンス返却要求メッセージを受信したデバイスＢでは、ライセンス返却応答処理を実行する。ライセンス返却応答処理の詳細については、後述する。
【００７５】
ステップＳ１２０３では、ライセンス返却要求メッセージに対するデバイスＢからの返答（ライセンス返却メッセージ）を待つ。ステップＳ１２０３にてライセンス返却メッセージを受信したと判定された場合には、ステップＳ１２０４に進み、受信したライセンス返却メッセージに含まれるライセンスファイルを取り込む。
【００７６】
５．アプリケーション動作デバイスとして機能する情報処理装置における処理の流れ
続いて、アプリケーション動作デバイス５０１として機能する情報処理装置（デバイスＢ）の代行処理の流れを説明する。
【００７７】
５．１  代行処理全体の流れ
図１３は、図４に示すネットワークシステムにおいて、アプリケーション動作デバイス５０１として機能する情報処理装置（デバイスＢ）における全体の流れを表わしている。
【００７８】
図１３に示すように、アプリケーション動作デバイスとして機能する情報処理装置では、それぞれ、代行検索メッセージ、代行通知メッセージ、代行依頼メッセージ、ライセンス返却要求メッセージを受信することにより、処理が開始される。そして、各メッセージを受けとると、デバイスプラットフォーム５０２が代行エージェント５０５およびライセンス管理部５０６に当該メッセージを渡し、代行エージェント５０５およびライセンス管理部５０６がメッセージに応答することにより処理が行われる。
【００７９】
具体的には、まず、受け取ったメッセージの種別を判定し（ステップＳ１３０１）、代行検索メッセージならば代行検索応答処理（ステップＳ１３０２）を実行する。また、代行通知メッセージならば代行通知応答処理（ステップＳ１３０３）を実行する。また、代行依頼メッセージならば代行依頼応答処理（ステップＳ１３０４）を実行する。また、ライセンス返却要求メッセージならばライセンス返却応答処理（ステップＳ１３０５）を実行する。なお、それ以外であれば通常通りの処理を行う（ステップＳ１３０６）。各処理の詳細を以下に説明する。
【００８０】
５．２  代行検索応答処理の流れ
まず、代行検索応答処理（ステップＳ１３０２）について説明する。図１４は、代行検索応答処理（ステップＳ１３０２）の詳細な流れを示すフローチャートである。代行検索応答処理は、代行エージェント５０２およびライセンス管理部５０６で行われる。なお、説明にあたっては、デバイスＡにおける代行検索処理（ステップ８０１）を合わせて記載した図２２に示すフローチャートを参照しながら行う（図２２に示す参照番号は、図９に示す参照番号と対応している）。
【００８１】
代替デバイスの条件を表す代行検索チケット２６００が代行検索メッセージに付されてブロードキャスト送信されると、ステップＳ１４０１では代行エージェント５０２が受け取った代行検索チケット２６００を読み取り、ワークエリア３０５に格納する。代行検索チケット２６００は、そこに格納されているチケット有効期間まで保持し続け、有効期限が過ぎたら任意のタイミングで破棄する。デバイスＢの代行エージェント５０５とデバイスＢのライセンス管理部５０６は、同一のデバイスＢ内に存在しても良いし、物理的に別のデバイス内に分離されていてもよい。
【００８２】
デバイスＢの回答がジョブの処理に必要なプログラムをデバイスＢが有しているがライセンスファイルをデバイスＢが有していない旨示している場合は、前記権限データをデバイスＡは出力してもよい。デバイスＢの回答がジョブの処理に必要な制御プログラムをデバイスＢが有しておらず権限データもデバイスＢが有していない旨示している場合もある。この場合は、ジョブの処理に必要な制御プログラムであるコンポーネントとライセンスファイルとをデバイスＡが出力してもよい。
【００８３】
次に、代行検索チケット２６００に格納されている必要な能力（２６０３）をデバイスＢが備えているか判断する（ステップＳ１４０２）。必要な能力（２６０３）を備えていなければ、そのまま処理を抜ける。一方、必要な能力（２６０３）を備えていれば、代行検索チケット２６００に格納されている必要なライセンス（２６０１）が「なし」となっていないか判定する（ステップＳ１４０３）。「なし」ならば、ワークエリア３０５に格納されたライセンスフラグをＯＦＦ（レンタル不要を意味する）とセットする（ステップＳ１４０４）。
【００８４】
一方、「なし」でなければ、有効なライセンスをデバイスＢが持っているかを判断すべく、ライセンス管理部５０６が検索し（ステップＳ１４０５）、検索結果に基づいてライセンスの有無を判定する（ステップＳ１４０６）。ライセンスの検索結果が「あり」と判定されれば、ステップＳ１４０４へ移る。
【００８５】
一方、ライセンスの検索結果が「なし」と判定されれば、代行検索チケット（２６００）に格納されているライセンスのレンタル可否（２６０４）が可でないかを判定し（ステップＳ１４０７）、不可であれば処理を抜ける。ライセンスのレンタル可否が可であれば、ライセンスフラグをＯＮ（レンタル必要を意味する）とセットする（ステップＳ１４０８）。
【００８６】
ステップＳ１４０４またはステップＳ１４０８が終わると次に、コンポーネントに対してもライセンス（ステップＳ１４０４〜Ｓ１４０８）と同様の処理を行う。まず、代行検索チケット（２６００）に格納されている必要コンポーネント（２６０２）をデバイスＢが持っているかを判断すべく、ライセンス管理部５０６が検索する（ステップＳ１４０９）。そして、検索結果に基づいてライセンスの有無を判定する（ステップＳ１４１０）。
【００８７】
コンポーネントの検索結果が「あり」と判定されれば、ワークエリア３０５に格納されたコンポーネントフラグをＯＦＦ（送付不要を意味する）とセットする（ステップＳ１４１１）。一方、コンポーネントの検索結果が「なし」と判定されれば、代行検索チケット（２６００）に格納されているコンポーネントの送付可否（２６０５）が可でないかを判定し（ステップＳ１４１２）、不可であれば処理を抜ける。
【００８８】
コンポーネントの送付可否が可であれば、コンポーネントフラグをＯＮ（送付必要を意味する）とセットする（ステップＳ１４１３）。ステップＳ１４１１またはＳ１４１３が終わると、ライセンスフラグとコンポーネントフラグから代行返答チケットを作成する（ステップＳ１４１４）。
【００８９】
図２７の２７００は代行検索返答チケットの一例を示す図である。代行処理をする条件としては、ライセンスのレンタル要／不要（２７０１）、コンポーネントの送付要／不要（２７０２）、などがある。
【００９０】
ステップＳ１４１５では、ステップＳ１４１４にて作成した代行返答チケット２７００を代行検索返答メッセージに付けてデバイスＡに送信する。
【００９１】
なお、代行返答チケット２７００のチケット有効期間（２７０３）は対応する代行検索チケット（２６００）と同じで、その期間まで保持し続け、有効期限が過ぎたら任意のタイミングで破棄する。
【００９２】
５．３  代行通知応答処理の流れ
次に代行通知応答処理（ステップＳ１３０３）について説明する。図１５は、デバイスＢにおける代行通知応答処理（ステップＳ１３０３）の詳細な流れを示すフローチャートである。この処理は代行エージェント５０２およびライセンス管理部５０６で行われる。なお、説明にあたっては、デバイスＡにおける代行通知処理（ステップＳ８０３）を合わせて記載した図２３に示すフローチャートを参照しながら行う（図２３に示す参照番号は、図１５〜図１７に示す参照番号と対応している）。
【００９３】
まず、デバイスＢのワークエリア３０５に格納されているこれまで届いた複数の代行検索チケット２６００から、代行通知メッセージと共に送信された検索ＩＤを持つチケットを検索する（ステップＳ１５０１）。ステップＳ１５０２では、検索の結果、当該検索ＩＤを持つチケットが見つかったか否かを判定する。
【００９４】
既にチケット有効期間を過ぎて破棄された場合は、当該検索ＩＤを持つ代行検索チケットは見つからない。このように当該検索ＩＤをもつ代行検索チケットが見つからない場合には、エラー処理を行い（ステップＳ１５０８）、処理を抜ける。一方、代行検索チケットが見つかった場合には、ステップＳ１５０３に進む。ステップＳ１５０３では、代行検索チケットに格納されたライセンスとコンポーネントの情報を元にライセンスを準備し、ステップＳ１５０４に進む。ステップＳ１５０４では、ライセンス準備に成功したか否かを判定する（ステップＳ１５０４）。
【００９５】
ライセンス準備に成功した場合には、ステップＳ１５０５に進み、コンポーネントを準備する。ステップＳ１５０６では、コンポーネントの準備に成功したか否かを判定し、コンポーネントの準備に成功した場合には代行通知返答メッセージをデバイスＡに送信する（ステップＳ１５０７）。一方、ステップＳ１５０４またはＳ１５０６で失敗であると判定された場合には、エラー処理を行い（ステップＳ１５０８）、処理を抜ける。
【００９６】
５．３．１  ライセンス準備処理の流れ
図１６は、ライセンス準備処理（ステップＳ１５０３）の詳細な流れを表わしている。この処理はライセンス管理部５０６で行われる。。
【００９７】
ステップＳ１６０１〜Ｓ１６０３は、代行検索応答処理（ステップＳ１３０２）のステップＳ１４０４〜Ｓ１４０８（図１４）と同様の流れであり、既に有効なライセンスがあるか否か、およびレンタルが可能であるか否かを判定している。
【００９８】
ステップＳ１６０２で既に有効なライセンスがあると判定された場合には、ライセンスの準備はできているのでそのまま処理を抜ける。また、ステップＳ１６０３でライセンスのレンタルが可能であると判定された場合には、デバイスＡのライセンス管理部５１３にライセンスのレンタルを要求する（ステップＳ１６０５）。
【００９９】
デバイスＢのライセンス管理部５０６ではライセンスのレンタル要求の返答があったか判定し（ステップＳ１６０６）、返答があれば、送信されてきたライセンスファイルを取り込んで有効にする（ステップＳ１６０７）。
【０１００】
一方、返答がなければ、あらかじめ設定された時間を越えていないか（タイムアウトしていないか）判定し（ステップＳ１６０８）、タイムアウトするまで返答を待ち、タイムアウトしたらエラー処理を行い（ステップＳ１６０４）、処理を抜ける。
【０１０１】
なお、本実施形態では代行検索応答処理（ステップＳ１３０２）でライセンスのレンタルが必要として代行返答チケットをすでにデバイスＡに送信し、デバイスＢが代替デバイスとして選択されている。このため、通常はステップＳ１６０３でライセンスのレンタルが不可と判定されることはない。しかし、それでもライセンスのレンタルが不可と判定された場合には、エラー処理を行い（ステップＳ１６０４）、処理を抜ける。
【０１０２】
５．３．２  コンポーネント準備処理の流れ
図１７は、コンポーネント準備処理（ステップＳ１５０５）の詳細な流れを表わしている。この処理は図１５のライセンス準備処理（ステップＳ１５０３）とほぼ同じ流れで、処理の対象がライセンスではなくコンポーネントとなっただけなので、ここでの詳細な説明は省略する。
【０１０３】
５．４  代行依頼応答処理
図１８は、デバイスＢにおける代行依頼応答処理（ステップＳ１３０４）の詳細な流れを表わしている。この処理は代行エージェント５０２およびデバイスアプリケーション５０４で行われる。なお、説明にあたっては、デバイスＡにおける代行依頼処理（ステップＳ８０５）を合わせて記載した図２４に示すフローチャートを参照しながら行う（図２４に示す参照番号は、図１８に示す参照番号と対応している）。
【０１０４】
まず、代行依頼チケットを読み取り（ステップＳ１８０１）、チケットに格納されている処理コンポーネントが表すデバイスアプリケーション５０４を起動する（ステップＳ１８０２）。さらに、チケットに格納されている入力情報（２８０４）および出力情報（２８０５）に従ってジョブを処理し（ステップＳ１８０３）、処理結果を代行処理結果メッセージにつけてデバイスＡに送信する（ステップＳ１８０４）。
【０１０５】
５．５  ライセンス返却応答処理の流れ
次にライセンス返却応答処理（ステップＳ１３０５）について説明する。図１９は、デバイスＢにおけるライセンス返却応答処理（ステップＳ１３０５）の詳細な流れを示すフローチャートである。この処理はライセンス管理部５０６で行われる。なお、説明にあたっては、デバイスＡにおけるライセンス返却要求処理（ステップＳ８０７）を合わせて記載した図２５に示すフローチャートを参照しながら行う（図２５に示す参照番号は、図１９に示す参照番号と対応している）。
【０１０６】
まず、ライセンス返却要求メッセージと共に送信されたライセンス識別子のライセンスをライセンスＤＢ５０７から検索し（ステップＳ１９０１）、見つかったか否かを判定する（ステップＳ１９０２）。ライセンスは有効期限が切れたり有効カウントが０となっていてもよい。
【０１０７】
見つからなければそのまま処理を抜ける。一方、見つかった場合には、そのライセンスの状態がレンタル中か否かを判定する（ステップＳ１９０３）。判定の結果、所有状態ならば、そのライセンスをファイルに出力し（ステップＳ１９０４）、ライセンス要求返却メッセージに付けてデバイスＡに送信する（ステップＳ１９０５）。
【０１０８】
なお、本実施形態ではライセンス管理が複雑になることを避けるために、レンタルされたライセンスのレンタル（又貸し）はできないように、ライセンス管理部５０６で制限しているため、ステップＳ１９０３でレンタル中と判定されることは通常ない。しかし、もしレンタル中と判定された場合には、ライセンスＤＢ５０７が異常になっている可能性があるので、エラー処理（ステップＳ１９０６）を行い、処理を抜ける。ライセンスの又貸しを許し、ステップＳ１９０６の代わりにライセンス返却要求処理を再帰的に行うように構成することも可能である。
【０１０９】
以上の説明から明らかなように、本実施形態によれば、デバイスアプリケーション（コンポーネント）が未インストールだったり、デバイスがライセンスを有していなかった場合であっても代行処理を実行させることが可能になる。その結果、あらかじめ代替デバイスの登録が必要なくなる。さらに、デバイスの高負荷や故障などによって能力が一時的に低下したり、システムの構成が変更された場合でも、一切設定を変更することなく最適なデバイスに自動的に代行処理をさせることが可能となる。
【０１１０】
また、代行処理の後、レンタルされたデバイスアプリケーションのライセンスが元のデバイスに返却され、元のデバイスで再度デバイスアプリケーションが利用することが可能になる。なお、代行処理が頻繁に発生する場合には、返却のタイミングを要求後とすることにより、ライセンスのレンタルの頻度を下げ、ネットワークトラフィックおよびファイル入出力が低減され、処理の効率を上げることも可能となる。
【０１１１】
[第２の実施形態]
上記第１の実施形態では、レンタルしたライセンスは代替デバイスでの代行処理が済み次第すぐにライセンスを返却することとしていたが、何度も代行依頼がなされるような場合にあっては効率が悪い。そこで本実施形態では、代替デバイスの条件としてレンタルするライセンスの返却タイミングを指定可能とする。
【０１１２】
図２９の２９００は、ライセンスの返却タイミングを指定可能とした代行検索チケットの一例を示す図である。ライセンスの返却タイミング（２９０１）は、なし／即時／要求後のいずれかの値をとる。「なし」の場合は、処理後に提供されたライセンスを返却する必要がない（ライセンス譲渡）。「即時」の場合は、処理直後にライセンスを返却する必要があり、本実施形態では「要求後」の場合は、処理終了後の任意のタイミングに要求されたときにライセンスを返却する。詳細は後述する。
【０１１３】
このような代行検索チケット２９００に対応するため、本実施形態にかかるライセンスＤＢは図３０のようにある。ライセンスＤＢには「返却」カラム（３００１）が追加され、デバイスＡがライセンスをレンタルする際に、レンタルするライセンスの「返却」に対応する代替デバイスの条件である代行検索チケットの「ライセンス返却」の値を記録する。
【０１１４】
この場合、ライセンスチェック処理（ステップＳ６０２）は図３１のようにステップＳ３１０８〜Ｓ３１１１が追加される。なお、図７と同じ参照番号が付いている処理は、図７と同じ処理であることを表す。以下、追加した処理の詳細を説明する。
【０１１５】
ステップＳ７０３の後、ライセンスがレンタル中で返却タイミングが「要求後」か否かを判定する（ステップＳ３１０８）。
【０１１６】
ライセンスがレンタル中でない場合、もしくは返却タイミングが「要求後」でない場合には、ライセンスが見つからない場合と同様な処理を行う（ステップＳ７０４〜７０７）。一方、ステップＳ３１０８でライセンスがレンタル中で返却タイミングが「要求後」と判定された場合には、ライセンス返却要求処理を行う（ステップＳ３１０９）。
【０１１７】
ステップＳ３１１０では、ステップＳ３１０９でライセンスが返却されたか判定する。判定の結果、返却されていればステップＳ７０７に進み、起動フラグをＯＮにした後、処理を抜ける。一方、まだ返却されていなければ、ステップＳ３１１１に進み、あらかじめ設定された時間を越えていないか（タイムアウトしていないか）を判定する。設定された時間を越えていないと判定された場合には、タイムアウトするまでライセンス返却を待つ（ステップＳ３１１０〜Ｓ３１１１）。一方、タイムアウトしたと判定された場合には、ステップＳ７０２でライセンスが見つからなかった場合と同様の処理を行う（ステップＳ７０４〜７０７）。
【０１１８】
以上の説明から明らかなように、返却タイミングを「要求後」としてライセンスをレンタルすれば、代行処理の直後にライセンスを返却せずに、実際にライセンスが必要になるときに返却することができる。その結果頻繁にライセンスのレンタルを行う必要がなくなり、ネットワークトラフィックおよびファイル入出力が低減され、ライセンスのレンタルが効率よく行えるようになる。
【０１１９】
［他の実施形態］
なお、本発明は、複数の機器（例えばホストコンピュータ、インタフェイス機器、リーダ、プリンタなど）から構成されるシステムに適用しても、一つの機器からなる装置（例えば、複写機、ファクシミリ装置など）に適用してもよい。
【０１２０】
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給するよう構成することによっても達成されることはいうまでもない。この場合、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読出し実行することにより、上記機能が実現されることとなる。なお、この場合、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【０１２１】
プログラムコードを供給するための記憶媒体としては、例えば、フロッピ（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭなどを用いることができる。
【０１２２】
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現される場合に限られない。例えば、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１２３】
さらに、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、前述した実施形態の機能が実現される場合も含まれる。つまり、プログラムコードがメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって実現される場合も含まれる。
【図面の簡単な説明】
【０１２４】
【図１】本発明の一実施形態にかかる情報処理装置１００のハードウェア構成を示すブロック図である。
【図２】情報処理装置１００に挿入されるＦＤに記録されている内容ならびに構成を示す図である。
【図３】制御プログラムがＲＡＭ１０３にロードされ実行可能となった状態のメモリマップを示す図である。
【図４】情報処理装置１００を搭載するＭＦＰがＬＡＮやＷＡＮなどのネットワークを介して複数台接続されたネットワークシステムの構成例を示す図である。
【図５】図４に示すネットワークシステムにおける各情報処理装置のモジュール構成を示す図である。
【図６】図４に示すネットワークシステムにおいて、ライセンス提供デバイスとして機能する情報処理装置（デバイスＡ）における全体の流れを表わす図である。
【図７】ライセンスチェック処理の詳細な流れを示すフローチャートである。
【図８】代行処理の詳細な流れを示すフローチャートである。
【図９】代行検索処理の流れを示すフローチャートである。
【図１０】代行通知処理の流れを示すフローチャートである。
【図１１】代行依頼処理の流れを示すフローチャートである。
【図１２】ライセンス返却要求処理の流れを示すフローチャートである。
【図１３】図４に示すネットワークシステムにおいて、アプリケーション動作デバイスとして機能する情報処理装置（デバイスＢ）における全体の流れを表わす図である。
【図１４】代行検索応答処理の流れを示すフローチャートである。
【図１５】代行通知応答処理の流れを示すフローチャートである。
【図１６】ラインセンス準備処理の流れを示すフローチャートである。
【図１７】コンポーネント準備処理の詳細な流れを示すフローチャートである。
【図１８】代行依頼応答処理の詳細な流れを示すフローチャートである。
【図１９】ライセンス返却応答処理の詳細な流れを示すフローチャートである。
【図２０】ライセンスがない旨を表す表示画面の一例を示す図である。
【図２１】ライセンスＤＢの構造例を示す図である。
【図２２】デバイスＡにおける代行検索処理と、デバイスＢにおける代行検索応答処理の流れを示す図である。
【図２３】デバイスＡにおける代行通知処理と、デバイスＢにおける代行通知応答処理の流れを示す図である。
【図２４】デバイスＡにおける代行依頼処理と、デバイスＢにおける代行依頼応答処理の流れを示す図である。
【図２５】デバイスＡにおけるライセンス返却要求処理と、デバイスＢにおけるライセンス返却応答処理の流れを示す図である。
【図２６】代行検索チケットの一例を示す図である。
【図２７】代行検索返答チケットの一例を示す図である。
【図２８】代行依頼チケットの一例を示す図である。
【図２９】ライセンスの返却タイミングを指定可能とした代行検索チケットの一例を示す図である。
【図３０】ライセンスの返却タイミングを指定可能とした代行検索チケットに対応するライセンスＤＢの一例を示す図である。
【図３１】ライセンスの返却タイミングを指定可能とした代行検索チケットに対応するライセンスチェック処理の流れを示すフローチャートである。
【図１】
2007272458.tif 000003
【図２】
2007272458.tif 000004
【図３】
2007272458.tif 000005
【図４】
2007272458.tif 000006
【図５】
2007272458.tif 000007
【図６】
2007272458.tif 000008
【図７】
2007272458.tif 000009
【図８】
2007272458.tif 000010
【図９】
2007272458.tif 000011
【図１０】
2007272458.tif 000012
【図１１】
2007272458.tif 000013
【図１２】
2007272458.tif 000014
【図１３】
2007272458.tif 000015
【図１４】
2007272458.tif 000016
【図１５】
2007272458.tif 000017
【図１６】
2007272458.tif 000018
【図１７】
2007272458.tif 000019
【図１８】
2007272458.tif 000020
【図１９】
2007272458.tif 000021
【図２０】
2007272458.tif 000022
【図２１】
2007272458.tif 000023
【図２２】
2007272458.tif 000024
【図２３】
2007272458.tif 000025
【図２４】
2007272458.tif 000026
【図２５】
2007272458.tif 000027
【図２６】
2007272458.tif 000028
【図２７】
2007272458.tif 000029
【図２８】
2007272458.tif 000030
【図２９】
2007272458.tif 000031
【図３０】
2007272458.tif 000032
【図３１】
2007272458.tif 000033