(57)【特許請求の範囲】
【請求項１】
使用にライセンスが必要なアプリケーションを用いて画像形成を行う画像形成方法であって、
第１の装置において、前記アプリケーションを必要とする印刷ジョブを記憶媒体に格納する際に、前記アプリケーションを利用するために必要な第１ライセンスに含まれる前記アプリケーションの使用制限を規定する使用制限値の範囲において移譲する一部の使用制限値を示す情報を含み、前記印刷ジョブの実行に限り用いられる正式なライセンスの発行に用いる、前記アプリケーションに対する仮ライセンスを生成し発行する仮ライセンス発行工程と、
第１の装置において、前記印刷ジョブに、前記仮ライセンスを付加して前記記憶媒体に格納する格納工程と、
第２の装置において、前記記憶媒体から、前記印刷ジョブ及び前記仮ライセンスを読出し、前記仮ライセンスと引き替えに、サーバから前記印刷ジョブの実行に限り用いられる正式なライセンスである第２ライセンスを取得するライセンス取得工程と、
第２の装置において、取得した前記第２ライセンスに基づいてアプリケーションを使用して、前記印刷ジョブを実行する実行工程と
を有し、
前記サーバにおいて、前記仮ライセンスに含まれる前記一部の使用制限値を示す情報に基づき、前記第１ライセンスに含まれていた使用制限値の一部が前記第２ライセンスに移譲されることを特徴とする画像形成方法。
【請求項２】
第１画像形成装置と第２画像形成装置とを含む画像形成システムであって、
前記第１画像形成装置は、
アプリケーションと、
前記アプリケーションを使用して実現する印刷ジョブを生成する生成手段と、
前記アプリケーションを利用するために必要な第１ライセンスに含まれる前記アプリケーションの使用制限を規定する使用制限値の範囲において移譲する一部の使用制限値を設定する設定手段と、
前記生成手段で生成された印刷ジョブと、前記設定手段により設定された前記一部の使用制限値を示す情報を含み、当該印刷ジョブの実行に限り用いられる正式なライセンスの発行に用いる、前記アプリケーションに関する仮ライセンスとを記憶媒体に格納する格納手段と、を備え、
前記第２画像形成装置は、
前記印刷ジョブが格納された前記記憶媒体から前記仮ライセンスを読出す手段と、
前記仮ライセンスを用いて前記サーバに対して前記アプリケーションの使用に必要な前記印刷ジョブの実行に限り用いられる正式なライセンスである第２ライセンスの発行を要求する手段と、
発行された前記第２ライセンスを取得して、前記アプリケーションを使用し、前記記憶媒体に格納された前記印刷ジョブを読み出し実行する手段と、を備え、
前記サーバにおいて、前記仮ライセンスに含まれる前記一部の使用制限値を示す情報に基づき、前記第１ライセンスに含まれていた使用制限値の一部が前記第２ライセンスに移譲されることを特徴とする画像形成システム。
【請求項３】
前記格納手段は、更に、前記アプリケーションを使用する際の設定情報を前記印刷ジョブと共に記憶媒体に格納することを特徴とする請求項２に記載の画像形成システム。
【請求項４】
前記格納手段は、更に、前記アプリケーションそのものを前記印刷ジョブと共に記憶媒体に格納することを特徴とする請求項２に記載の画像形成システム。
【請求項５】
前記第２ライセンスは、前記第２画像形成装置での前記アプリケーションの使用のみを許可するものであることを特徴とする請求項２に記載の画像形成システム。
【請求項６】
前記第２画像形成装置は、更に、
前記第２ライセンスを用いて、前記アプリケーションのインストールを実行する手段を更に有することを特徴とする請求項２に記載の画像形成システム。
【請求項７】
前記第２画像形成装置から前記記憶媒体が取り外された場合、インストールした前記アプリケーションをアンインストールすることを特徴とする請求項６に記載の画像形成システム。
【請求項８】
前記第１画像形成装置が、前記仮ライセンスを予め決められた鍵で暗号化する手段を更に有することを特徴とする請求項２の画像形成システム。
【請求項９】
前記第２画像形成装置は、
前記仮ライセンスを読出した場合に、前記第２画像形成装置に仮ライセンスに対応するアプリケーションが存在するかを判定する判定手段と、
アプリケーションが存在しない場合、前記サーバにアプリケーション要求コマンドと仮ライセンスを送信し、サーバから前記アプリケーション及び前記第２ライセンスを取得して、アプリケーションをインストールする手段と、
を更に備えることを特徴とする請求項２に記載の画像形成システム。
【請求項１０】
アプリケーションと、
前記アプリケーションを使用して実現する印刷ジョブを生成する生成手段と、
前記アプリケーションを利用するために必要な第１ライセンスに含まれる前記アプリケーションの使用制限を規定する使用制限値の範囲において移譲する一部の使用制限値を設定する設定手段と、
前記生成手段で生成された印刷ジョブと、前記設定手段により設定された前記一部の使用制限値を示す情報を含み、当該印刷ジョブの実行に限り用いられる正式なライセンスの発行に用いる、前記アプリケーションに関する仮ライセンスとを記憶媒体に格納する格納手段と、
前記印刷ジョブが格納された前記記憶媒体から前記仮ライセンスを読出す手段と、
前記仮ライセンスを用いて前記サーバに対して前記アプリケーションの使用に必要な前記印刷ジョブの実行に限り用いられる正式なライセンスである第２ライセンスの発行を要求する手段と、
発行された前記第２ライセンスを取得して、前記アプリケーションを使用し、前記記憶媒体に格納された前記印刷ジョブを読み出し実行する手段と、
を有し、
前記サーバにおいて、前記仮ライセンスに含まれる前記一部の使用制限値を示す情報に基づき、前記第１ライセンスに含まれていた使用制限値の一部が前記第２ライセンスに移譲されることを特徴とする画像形成装置。
【請求項１１】
使用にライセンスが必要なアプリケーションを用いて画像形成装置に画像形成を実行させるためのドライバプログラムであって、
コンピュータに、
前記アプリケーションを必要とする印刷ジョブを、記憶媒体に格納する際に、前記印刷ジョブの実行に限り用いられる正式なライセンスの発行に用いる仮ライセンスの発行を前記画像形成装置に依頼する仮ライセンス依頼工程と、
前記依頼に応じて発行された前記仮ライセンスを、前記画像形成装置から受信する受信工程と、
前記印刷ジョブに、受信した前記仮ライセンスを付加して記憶媒体に格納する格納工程と、
を実行させ、
前記仮ライセンスは、前記画像形成装置における前記アプリケーションの使用制限を規定する使用制限値を含むライセンスから前記使用制限値の一部を移譲するための情報を含むことを特徴とするドライバプログラム。
【請求項１２】
使用にライセンスが必要なアプリケーションを用いて画像形成装置に画像形成を実行させる情報処理装置であって、
前記アプリケーションを必要とする印刷ジョブを、記憶媒体に格納する際に、前記印刷ジョブの実行に限り用いられる正式なライセンスの発行に用いる仮ライセンスの発行を前記画像形成装置に依頼する仮ライセンス依頼手段と、
前記依頼に応じて発行された前記仮ライセンスを、前記画像形成装置から受信する受信手段と、
前記印刷ジョブに、受信した前記仮ライセンスを付加して記憶媒体に格納する格納手段と、
を有し、
前記仮ライセンスは、前記画像形成装置における前記アプリケーションの使用制限を規定する使用制限値を含むライセンスから前記使用制限値の一部を移譲するための情報を含むことを特徴とする情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像形成方法、画像形成システム、画像形成装置、ドライバプログラム、情報処理装置、及びライセンス管理サーバに関するものである。
【背景技術】
【０００２】
従来から、  使用にライセンスが必要なアプリケーションを用いて画像形成を行なう画像形成方法や画像形成装置が知られている。例えば、Ｊａｖａ（登録商標）などを使用し、必要に応じてアプリケーションをインストールし、実行するプリンタや複写機などが存在する。
【０００３】
例として、特定の処理を行なうアプリケーションを、所定のサーバ上でライセンスに基づいて管理し、任意の位置にあるオフィス機器で随時ダウンロードし実行する技術が知られている（特許文献１参照）。
【０００４】
一方、ある装置を使って生成した印刷ジョブを記憶媒体に格納し、他の装置で、生成した装置と同等の出力を行ないたいという要求がある。
【特許文献１】特開２０００−３３０７８４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかし、従来の画像形成方法や画像形成装置では、アプリケーションの使用には、ライセンスが必要であるため、特定のアプリケーションを使用して実行できるジョブを、アプリケーションを使用できない他の装置に持ち込んでも、そのジョブを実行することはできなかった。
【０００６】
つまり、アプリケーションはライセンス管理が行われ、あるアプリケーションを用いて印刷ジョブを作成した場合には、同一のアプリケーションが使用できる装置でのみ印刷ジョブの実行が可能であった。作成した印刷ジョブを他の装置で実行する場合には、アプリケーションを含めて同一の印刷環境を用意する必要があった。
【０００７】
本発明は、上記従来技術の課題を解決するためになされたもので、その目的とするところは、作成した装置とは異なる装置で実行しようとする場合に、作成した装置と同じ環境での実行を実現できる技術を提供することにある。
【課題を解決するための手段】
【０００８】
上記目的を達成するため、本発明に係る方法は、使用にライセンスが必要なアプリケーションを用いて画像形成を行う画像形成方法であって、第１の装置において、前記アプリケーションを必要とする印刷ジョブを記憶媒体に格納する際に、前記アプリケーションを利用するために必要な第１ライセンスに含まれる前記アプリケーションの使用制限を規定する使用制限値の範囲において移譲する一部の使用制限値を示す情報を含み、前記印刷ジョブの実行に限り用いられる正式なライセンスの発行に用いる、前記アプリケーションに対する仮ライセンスを生成し発行する仮ライセンス発行工程と、第１の装置において、前記印刷ジョブに、前記仮ライセンスを付加して前記記憶媒体に格納する格納工程と、第２の装置において、前記記憶媒体から、前記印刷ジョブ及び前記仮ライセンスを読出し、前記仮ライセンスと引き替えに、サーバから前記印刷ジョブの実行に限り用いられる正式なライセンスである第２ライセンスを取得するライセンス取得工程と、第２の装置において、取得した前記第２ライセンスに基づいてアプリケーションを使用して、前記印刷ジョブを実行する実行工程とを有し、前記サーバにおいて、前記仮ライセンスに含まれる前記一部の使用制限値を示す情報に基づき、前記第１ライセンスに含まれていた使用制限値の一部が前記第２ライセンスに移譲されること特徴とする。
【０００９】
第１画像形成装置と第２画像形成装置とを含む画像形成システムであって、前記第１画像形成装置は、アプリケーションと、前記アプリケーションを使用して実現する印刷ジョブを生成する生成手段と、前記アプリケーションを利用するために必要な第１ライセンスに含まれる前記アプリケーションの使用制限を規定する使用制限値の範囲において移譲する一部の使用制限値を設定する設定手段と、前記生成手段で生成された印刷ジョブと、前記設定手段により設定された前記一部の使用制限値を示す情報を含み、当該印刷ジョブの実行に限り用いられる正式なライセンスの発行に用いる、前記アプリケーションに関する仮ライセンスとを記憶媒体に格納する格納手段と、を備え、前記第２画像形成装置は、前記印刷ジョブが格納された前記記憶媒体から前記仮ライセンスを読出す手段と、前記仮ライセンスを用いて前記サーバに対して前記アプリケーションの使用に必要な前記印刷ジョブの実行に限り用いられる正式なライセンスである第２ライセンスの発行を要求する手段と、発行された前記第２ライセンスを取得して、前記アプリケーションを使用し、前記記憶媒体に格納された前記印刷ジョブを読み出し実行する手段と、を備え、前記サーバにおいて、前記仮ライセンスに含まれる前記一部の使用制限値を示す情報に基づき、前記第１ライセンスに含まれていた使用制限値の一部が前記第２ライセンスに移譲されることを特徴とする。
【発明の効果】
【００１６】
印刷ジョブを、作成した装置とは異なる装置で実行しようとする場合に、作成した装置と同じ環境での実行を実現でき、画像形成の利便性が向上する。特にアプリケーションの部分的な使用を他の装置に許可することによって同じ環境を実現するが、ライセンスを管理するので、不正使用を防止できる。
【発明を実施するための最良の形態】
【００１７】
以下に、図面を参照して、この発明の好適な実施の形態を例示的に詳しく説明する。ただし、この実施の形態に記載されている構成要素はあくまで例示であり、この発明の範囲をそれらのみに限定する趣旨のものではない。
【００１８】
（第１実施形態）
図１は、本発明に係る画像形成装置の第１実施形態としての複写機を含むシステム構成図である。
【００１９】
第１、第２画像形成装置としての、複写機１００１、１００２は、原稿の読み取り、印刷、または、さまざまな装置に画像を送信する機能を有する。ファクシミリ１００３は複写機１００１の複写機が読み取ったデータを公衆回線１００７を介して受信し、プリントする装置である。データベース/ライセンスサーバ１００４は、複写機１００１、１００２上で動作するアプリケーションのライセンスを管理するコンピュータである。クライアントコンピュータ１００５は複写機１００１、１００２に印刷を指示するコンピュータである。イーサネット（登録商標）１００６は、複写機１００１、複写機１００２、データベース／ライセンスサーバ１００４、クライアントコンピュータ１００５を相互に接続するネットワークである。
【００２０】
複写機１００１と複写機１００２は、それぞれ異なるオフィス、あるいは遠隔地に存在する。またデータベース／ライセンスサーバ１００４は、複写機１００１と複写機１００２の双方からイーサネット（登録商標）１００６を介してアクセス可能である。このときの接続媒体については双方向通信可能なものであればいずれでも構わず、その接続媒体上において複写機１００１、複写機１００２、データベースサーバ１００４、クライアントコンピュータ１００５の相互間においてデータ送受信に使用されるプロトコルもＨＴＴＰ（Hyper Text Transfer Protocol）、ＳＯＡＰ（Simple Object Access Protocol）、ＦＴＰ（File Transfer Protocol）など既存のプロトコルのいずれでも構わず、まったく独自のアプリケーションプロトコルであっても構わない。また、クライアントコンピュータは、イーサネット（登録商標）１００６上に複数接続されていてもよいことは言うまでもない。
【００２１】
図２は、複写機１００１、１００２の内部構成を示す図である。
【００２２】
コントローラユニット２０００は画像入力デバイスであるスキャナ２０７０や画像出力デバイスであるプリンタ２０９５と接続し、一方ではＬＡＮ２０１１や公衆回線（ＷＡＮ）２０５１接続することで、画像情報やデバイス情報の入出力を行う為のコントローラである。
【００２３】
ＣＰＵ２００１はシステム全体を制御するコントローラである。ＲＡＭ２００２はＣＰＵ２００２が動作するためのシステムワークメモリであり、画像データを一時記憶するための画像メモリ、または各種アプリケーションが実行されるワークメモリでもある。ＲＯＭ２００３はブートＲＯＭであり、システムのブートプログラムが格納されている。ＨＤＤ２００４はハードディスクドライブで、システムソフトウェア、画像データ、各種アプリケーション、複写機内で処理されるさまざまなジョブの履歴などを格納する。操作部インタフェイス２００６は、タッチパネルを有した操作部（ＵＩ）２０１２とのインタフェースで、表示用の画像データを操作部２０１２に対して出力する。また、操作部２０１２から本システム使用者が入力した情報を、ＣＰＵ２００１に伝える役割をする。
【００２４】
ネットワークインタフェイス２０１０はＬＡＮ２０１１に接続し、情報の入出力を行う。モデム２０５０は公衆回線２０５１に接続し、情報の入出力を行う。以上のデバイスがシステムバス２００７上に配置される。
【００２５】
イメージバスインタフェイス２００５はシステムバス２００７と画像データを高速で転送する画像バス２００８を接続し、データ構造を変換するバスブリッジである。画像バス２００８は、ＰＣＩバスまたはＩＥＥＥ１３９４で構成される。画像バス２００８上には以下のデバイスが配置される。ラスターイメージプロセッサ（ＲＩＰ）２０６０はＰＤＬコードをビットマップイメージに展開する。
【００２６】
デバイスインタフェイス２０２０は、画像入出力デバイスであるスキャナ２０７０やプリンタ２０９５とコントローラ２０００を接続し、画像データの同期系／非同期系の変換を行う。スキャナ画像処理部２０８０は、入力画像データに対し補正、加工、編集を行う。プリンタ画像処理部は、プリント出力画像データに対して、プリンタの補正、解像度変換等を行う。画像回転部２０３０は画像データの回転を行う。
【００２７】
画像圧縮部２０４０は、多値画像データはＪＰＥＧ、２値画像データはＪＢＩＧ、ＭＭＲ、ＭＨの圧縮伸張処理を行う。リムーバブルメディアスロット２１００は、メモリカード等の取り外し可能なデータ保存メディア（記憶媒体）が接続可能なスロットであり、画像データの格納や読み取りなどが可能である。本実施の形態では、記憶媒体としてメモリカードを使用するものとする。暗号・復号処理部２１１０は所定の鍵等を用いてデータの暗号化・複合化処理を行うハードウェアアクセラレータボードである。
【００２８】
図３は、複写機１００１内のソフトウェア構成を示すブロック図である。データ受信部３００１は、クライアントコンピュータ１００５から依頼される印刷ジョブ等を受信する受信部である。ジョブ処理部３００２は、受信した印刷ジョブなど、複写機１００１上で実行される様々なジョブを管理実行する部分である。機器構成管理部３００３は、ジョブの実行の際に必要となる機器の構成情報を管理する部分であり、ジョブの内容によってはジョブで使用された機器構成情報をジョブ処理部３００２に通知するものである。
【００２９】
アプリケーション管理部３００４は、複写機１００１上でジョブ処理部３００２でジョブ実行時に使用されるアプリケーションを管理する。アプリケーションおよびライセンスのインストール、アンインストールや、アプリケーションの起動、停止などの操作など、アプリケーションとアプリケーションのライフサイクルなどを管理する。ライセンス管理部３００５は、アプリケーション毎に設定される有効期限や使用回数の上限などを管理する。仮ライセンス発行部３００６は、機器構成管理部３００３の依頼によりライセンス管理部３００５の所定のライセンスから、仮ライセンスを生成・発行する。
【００３０】
図４は、複写機１００１、１００２がクライアントコンピュータ１００５から、印刷ジョブを受信した際に行なう処理を示すフローチャートである。まず、ステップ４００１で、クライアントコンピュータ１００５からの印刷ジョブを、データ受信部３００１を使用して受信する。
【００３１】
次に、ステップ４００２において、受信したジョブがリムーバブルメディアスロット２１００に装着されたメモリカードへの格納を指示しているかを、複写機１００１、１００２が判定する。指示されていればステップ４００３に進み、そうでなければステップ４００４でジョブ処理部３００２において通常の印刷処理を行なう。ステップ４００３では、複写機１００１、１００２が、印刷ジョブの内容に従い、メモリカードに画像データを生成・格納する。そして更にステップ４００５に進み、複写機１００１、１００２が、画像データの生成・格納が正常に行なわれたかを判定する。正常に終了した場合はステップ４００６に進み、そうでなければステップ４００９に進む。ステップ４００６では、複写機１００１、１００２が、機器構成管理部３００３から印刷ジョブ実行時の機器構成情報を取得し、格納する。
【００３２】
ステップ４００７では、ステップ４００６の処理が正常に終了したかを判定し、正常に終了すればステップ４００８に進み政情終了処理を行なう。そうでなければステップ４００９に進みエラー終了処理を行なう。エラー終了処理には、メモリカードに格納した各種データの削除などが含まれるものとする。
【００３３】
図５は、図４のステップ４００６における、機器構成情報の生成・格納処理を示すフローチャートである。
【００３４】
ステップ５００１は、ステップ４００３でジョブが実行され、画像データを生成する際に必要となった機器の構成要素の数を機器構成管理部３００３から取得するステップである。尚、この画像データを生成する際に必要となった機器の構成要素の数とは、ジョブを実行する際に必要となる機器の構成要素の数を示し、ここではアプリケーションやハードウエア等を指す（図７参照）。ステップ５００２は、構成要素数が０以外であることを判定するステップであり、構成要素が無ければステップ５０１３のその他の処理を実行し本フローチャートを終了する。構成要素があれば、ステップ５００３に進み、画像データ生成時にアプリケーションを実行したかを検知する。実行していればステップ５００４に進み、そうでなければステップ５００５に進みその他の処理を実行する。ステップ５００４では、アプリケーションに対応する仮ライセンスを生成する。すなわち、ライセンス管理部３００５からアプリケーションに対応するライセンスを取得し、仮ライセンス発行部３００６に仮ライセンスの発行処理を依頼する。
【００３５】
ステップ５００６は仮ライセンスの生成が正常に終了したかを判定するステップであり、正常に終了していればステップ５００７に進み、そうでなければステップ５００８に進む。ステップ５００７は仮ライセンスをメモリカードに格納するステップである。格納先の情報は機器構成情報に格納される。これにより、データ保存メディアを任意の画像形成装置に接続した際、アプリケーションを確実に使用できるライセンスを常に持ち運ぶこと可能になる。
【００３６】
ステップ５００８はエラー処理を行なうステップであり、ステップ５００４で生成した仮ライセンスの削除等を行なうステップである。ステップ５００９は、ステップ５００３以降の処理が正常に終了したかを判定するステップであり、正常に終了していればステップ５０１０に進み、そうでなければステップ５０１２に進む。
【００３７】
ステップ５０１０では、ステップ５００１で取得した構成要素数であるｎ回の処理を行なったかを判定する。処理が完了していなければステップ５００３に戻り、上記の処理を繰り返す。処理が完了していればステップ５０１１に進む。ステップ５０１１は正常終了処理を行なうステップである。ステップ５０１２はエラー終了処理を行なうステップである。
【００３８】
なお、本実施の形態では、ステップ５００７で仮ライセンスを格納する際、所定の暗号鍵を用い暗号・複合処理２１１０によって暗号化を行なうものとする。これにより、データ保存メディアのライセンス情報のセキュリティを上げることが可能になる。
【００３９】
図６は、本実施形態のライセンス管理部３００５で管理されている、特定のアプリケーションのライセンス情報６０００を示したものである。ライセンス管理部３００５では、アプリケーション１つ１つに対し、ライセンス情報６０００を持っている。６００１は、アプリケーションを一意に識別するアプリケーション識別情報である。本実施の形態では、アプリケーションには予め一意に識別可能な情報としてＵＵＩＤ（Universal Unique ID）が付加されており、それと同じ情報が示されているものとする。
【００４０】
６００２は、ライセンスに対して一意に割り当てられるライセンス識別情報であり、本実施の形態ではＵＵＩＤを使用する。６００３は、本ライセンスによりアプリケーションが利用可能な有効期限情報を示しており、本実施の形態では３５４日有効であることを示している。６００４は、本ライセンスによりアプリケーションが印刷可能な印刷上限情報を示しており、本実施の形態では残り１６４９５枚が印刷可能であることを示している。６００５は、複写機１００１を一意に識別するデバイス識別情報であり、本実施の形態ではＵＵＩＤを使用している。
【００４１】
なお、本実施の形態では装置を一意に識別する情報としてＵＵＩＤを使用するが、一意に識別可能であれば形式については、これに限定されるものではない。また、ライセンス情報はテキスト形式で管理されてもよいし、バイナリデータ、ＸＭＬデータなど保持される形式について特に制限するものではない。このように識別情報によって仮ライセンスを規定することにより、目的外にアプリケーションが使用されることを防止できるようになり、より厳密なライセンス管理が可能となる。
【００４２】
図７は、本実施形態のステップ４００６で生成される機器構成情報７０００の一部を示したものである。７００１は、構成情報を生成した日付を示す。７００２は機器構成情報７０００で作成した画像データの識別情報を示す。本実施の形態ではＵＵＩＤを使用する。７００３は機器構成情報７０００に含まれるアプリケーション情報数を示す。本実施の形態では２つのアプリケーションが関連していることを示す。７００４は１つ目のアプリケーションの仮ライセンスと仮ライセンスが格納されている場所を示す。７００５は２つ目のアプリケーションの仮ライセンスと仮ライセンスが格納される場所を示す。７００６は、機器構成情報７０００に含まれるハードウエア構成情報数を示す。
【００４３】
図８は、ステップ５００４で生成された仮ライセンス８０００の情報を示したものである。８００１は仮ライセンス８０００が対応付けられるアプリケーションの識別情報を示す。８００２はライセンスの内容が移譲された第１ライセンスとしての元ライセンスの識別情報を示す。８００３は仮ライセンス８０００を一意に識別する情報である。８００４は、本ライセンスによりアプリケーションが利用可能な有効期限情報を示しており、本実施の形態では１日有効であることを示している。８００５は、本ライセンスによりアプリケーションが印刷可能な印刷上限情報を示しており、本実施の形態では残り１００枚が印刷可能であることを示している。８００６は、元ライセンスにより処理可能な画像データの識別情報を示す。
【００４４】
仮ライセンス発行部３００６で仮ライセンスを生成する場合、ライセンス情報６０００から仮ライセンス８０００を生成する。その際、ライセンス情報６０００の有効期限情報６００３、および印刷上限情報６００４から、仮ライセンス８０００に記載される有効期限情報８００４、および印刷上限情報８００５が差し引かれる。これにより、画像形成装置のアプリケーションに与えられたライセンスの範囲内で、他の画像形成装置においてもアプリケーションが使用できるようになる。
【００４５】
次に、複写機１００１でメモリカードに格納したデータを複写機１００２にアップロードする際の処理を示す。図９は、複写機１００２のソフトウェア構成を示すブロック図である。
【００４６】
メモリカード管理部９００１は、リムーバブルメディアスロット２１００に挿入されるメモリカードを制御する部分であり、メモリカードの挿入を検知すると、機器構成情報７０００や画像データを検索し所定の処理を行なう。ジョブ処理部９００２は、メモリカードに格納された画像データの印刷など、複写機１００１上で実行される様々なジョブを管理実行する部分である。機器構成管理部９００３は、メモリカード管理部９００１が検出した機器構成情報７０００の情報と機器の現在の構成などを比較し、差分を検出する。アプリケーション管理部９００４は、複写機１００２上でジョブ処理部９００２でジョブ実行時に使用されるアプリケーションを管理する。アプリケーションおよびライセンスのインストール、アンインストールや、アプリケーションの起動、停止などの操作など、アプリケーションとアプリケーションのライフサイクルなどを管理する。ライセンス管理部９００５は、アプリケーション毎に設定される有効期限や使用回数の上限などを管理する。正式ライセンス取得部９００６は、メモリカード管理部９００１から通知された機器構成情報７０００に含まれる仮ライセンスを元にライセンスサーバ１００４に対して正式なライセンスを依頼し取得する。
【００４７】
図１０は、本実施の形態の複写機１００２にメモリカードが挿入された際のメモリカード管理部９００１の処理を示すフローチャートである。
【００４８】
まず、ステップ１０００１において、メモリカードから機器構成情報７０００を検索する。本実施の形態では、所定の形式で格納され、検索可能であれば、機器構成情報７０００のファイル名や拡張子等について特に限定するものではない。次に、ステップ１０００２では、ステップ１０００１の検索の結果、機器構成情報７０００が見つかったを判定する。見つかった場合はステップ１０００３に進み、そうでなければ本フローの処理を終了する。更にステップ１０００３では、機器構成情報７０００のアプリケーション情報数７００３を取得する。
【００４９】
次に、ステップ１０００４では、アプリケーション情報数７００３が０か否かを確認する。０でなければステップ１０００５に進み、０であればステップ１００１５に進む。ステップ１０００５は、仮ライセンス格納情報７００５を解析し、メモリカード上の所定の位置から仮ライセンス８０００を読み込むステップである。本ステップにおいて、所定の複合鍵を使い暗号・復号処理部２１１０において複合化を行なうものとする。また、本ステップにおいて、仮ライセンス８０００からアプリケーションを一意に識別するアプリケーション識別情報８００１を取得する。
【００５０】
次に、ステップ１０００６において、ステップ１０００５で取得したアプリケーション識別情報がアプリケーション管理部３００４内にインストールされているかを判定する。未インストールであればステップ１０００７に、そうでなければステップ１００１３に進む。
【００５１】
ステップ１０００７では、第２ライセンスとしての正式ライセンスを取得する。すなわち、正式ライセンス取得部９００６を介してネットワーク上のライセンスサーバ１００４に仮ライセンスと、複写機１００２の識別情報を送信し、アプリケーションと、正式なライセンスを取得する。なお、本実施の形態では、複写機１００２の識別情報は、abcdabcd−４５６７４５６７−abcdabcd−４５６７４５６７であるものとする。
【００５２】
次にステップ１０００８では、アプリケーションと正式ライセンスの取得に成功したかを判定する。成功していればステップ１０００９に進み、そうでなけばステップ１００１２に進む。ステップ１０００９では、アプリケーションのインストール及び起動を行なう。即ち、ステップ１０００７で取得したアプリケーションと正式ライセンスを使用してインストールし、起動する。なお、本実施の形態の複写機１００２では、インストールするアプリケーションが保持するアプリケーション識別情報と、ライセンス内のアプリケーション識別情報が一致すること、ライセンス識別情報が存在すること、デバイス識別情報が複写機１００２のデバイス識別情報と一致すること、を最低条件としている。
【００５３】
次にステップ１００１０に進み、インストール・起動処理に成功したかを判定する。成功している場合はステップ１００１１に、そうでなければステップ１００１２に進む。ステップ１００１１は、メモリカード上の仮ライセンス８０００を削除するステップであり、本メモリカードを使用して再度同じ処理ができないようにするステップである
一方、ステップ１００１２はで、エラー処理を行なう。具体的には、メモリカードから読み込んだ各種情報のクリアや、複写機１００２の操作部２０１２に表示するなどの処理を行なう。本ステップ終了後は、ステップ１００１４に進む。
【００５４】
ステップ１００１３は、機器構成情報７０００のアプリケーション情報数７００３の数だけ処理を実行したかを判定するステップであり、全て処理していなければステップ１０００５に戻り処理を継続する。そうでなければステップ１００１４に進み、その他の処理を行い、本フローチャートの処理を終了する。
【００５５】
図１１は、ライセンスサーバ１００４で管理されるアプリケーションとライセンスを管理するＤＢの一部を例示したのもである。なお、本実施の形態ではライセンス管理のみ解説するが、他の機能を含んでいてもよい。また、図示した内容がどのようなデータでＤＢ内で保持されるかについて、特に限定するものではない。
【００５６】
１１０００は、本実施形態のアプリケーション管理情報のルートを示すものであり、本ＤＢ内の情報はこの情報から随時検索されるものとする。１１００１は、アプリケーション情報であり、アプリケーションを一意に識別する情報や、アプリケーション名などアプリケーションに関する情報が格納されている。１１００２は、正式ライセンス情報であり、アプリケーションを購入するなど、通常のルートで発行されたライセンスに関する情報が格納されている。１１００３は、仮ライセンスから正式ライセンスへの変換を行い発行した仮−正式ライセンス情報であり、ステップ１０００８で依頼された処理の結果、発行したライセンスに関する情報が格納されている。
【００５７】
本実施の形態のＤＢでは、上記の情報がアプリケーション毎に複数管理されているものとする。
【００５８】
図１２は、ステップ１０００７で、アプリケーションと正式ライセンスの発行を依頼した際の、ライセンスサーバ１００４の処理を示すフローチャートである。ステップ１２００１は、ネットワークを介して送信されたアプリケーションと正式ライセンス発行要求コマンドと、それに付随する情報を受信するステップである。
【００５９】
ステップ１２００２は、ステップ１２００１で受信した仮ライセンス８０００から、元ライセンス情報８００２を取得し、その識別情報が正式ライセンス情報１１００２に存在するかを検索するステップであり、存在する場合はステップ１２００３に進み、そうでなかければステップ１２００７に進む。ステップ１２００３は、ステップ１２００１で受信した仮ライセンス８０００から、仮ライセンス情報８００３を取得し、その識別情報が仮−正式ライセンス情報１１００３に存在するかを検索するステップであり、存在しない場合はステップ１２００４に進み、存在すればステップ１２００７に進む。
【００６０】
ステップ１２００４は、ステップ１２００１で受信した仮ライセンスと、複写機１００２の識別情報（abcdabcd−４５６７４５６７−abcdabcd−４５６７４５６７）から正式ライセンスを生成するステップである。１２００５は、ステップ１２００４で作成した正式ライセンスの情報をＤＢに登録するステップであり、所定のアプリケーション情報、および正式ライセンス情報に関連して仮−正式ライセンス情報として登録される。
【００６１】
ステップ１２００６は、アプリケーションと生成した正式ライセンスとを依頼元に返信するステップであり、ネットワークを介して複写機１００２の正式ライセンス取得部９００６に返信する。ステップ１２００７は、エラーを返信するステップであり、正式ライセンスの発行の拒否を通知する。なお、通知するエラーの詳細について、特に制限するものではない。ステップ１２００８は、上記ステップの履歴を記憶するステップである。
【００６２】
図１３は、ステップ１２００４で生成した正式ライセンスを図示したものである。１３００１は仮ライセンス８００１に対応するアプリケーションの識別情報を示す。１３００２は、本ライセンスを一意に識別する情報であり、仮ライセンス８００３に相当する。１３００３は、本ライセンスによりアプリケーションが利用可能な有効期限情報を示しており、本実施の形態では１日有効であることを示している。また、本情報は仮ライセンス８００４に相当する。１３００４は、本ライセンスによりアプリケーションが印刷可能な印刷上限情報を示しており、本実施の形態では残り１００枚が印刷可能であることを示している。また、本情報は、仮ライセンス８００５に相当している。１３００５は、複写機１００２を一意に識別するデバイス識別情報である。１３００６は、本ライセンスにより処理可能な画像データの識別情報を示す。
【００６３】
図１４は、クライアントコンピュータ１００５から複写機１００１に対しメモリカードへの印刷データの格納を指示する際、ライセンス内容を移譲するためのライセンス分割画面１４０００を示したものである。
【００６４】
１４００１は、現在の有効期限内容を示し、複写機１００１のライセンス管理部３００５で管理される所定のアプリケーションのライセンス情報６０００から有効期限情報６００３を取得し表示しているものである。１４００２は、メモリカードに格納した印刷データを印刷する際に使用するアプリケーションのためのライセンスに使用する有効期限を入力する入力フィールドである。１４００３は、現在の有効期限１４００１から分割する有効期限１４００２の情報を引いた値を表示するフィールドである。１４００４は、現在の印刷上限内容を示し、複写機１００１のライセンス管理部３００５で管理される所定のアプリケーションのライセンス情報６０００から印刷上限情報６００４を取得し表示しているものである。１４００５は、メモリカードに格納した印刷データを印刷する際に使用するアプリケーションのためのライセンスに使用する印刷場減数を入力する入力フィールドである。１４００６は、現在の印刷上限１４００４から分割する印刷上限１４００５の情報を引いた値を表示するフィールドである。１４００７は、本画面の設定で確定したことを示すボタンであり、有効期限１４００２、印刷上限１４００５の内容で仮ライセンスを生成する指示を含んだ印刷処理を複写機１００１に指示することが確定する。１４００８は、本画面の設定内容をキャンセルし、図外の画面に戻ることを指示するボタンである。
【００６５】
上記実施形態によれば、
（第２実施形態）
次に本発明の第２実施形態に係る画像形成装置について説明する。本実施形態では、第１実施形態のように複写機１００１のリムーバブルメディアスロット２１００に格納させるのではなく、クライアントコンピュータ１００５のメモリスロットに装着されたメモリにジョブを格納するものである。
【００６６】
図１５は、本実施形態の複写機１００１がクライアントコンピュータ１００５から、印刷ジョブを受信した際のフローチャートである。まず、ステップ１５００１において、クライアントコンピュータ１００５からの印刷ジョブを、データ受信部３００１を使用して受信する。
【００６７】
次にステップ１５００２に進み、受信したジョブがクライアントコンピュータ１００５のメモリカードへの格納を指示しているかを判定する。指示されていればステップ１５００３に進み、そうでなければステップ１５００４でジョブ処理部３００２において通常の印刷処理を行なう。ステップ１５００３では、印刷ジョブの内容に従い、画像データを生成する。次にステップ１５００５に進み、画像データの生成・格納が正常に行なわれたかを判定する。正常に終了した場合はステップ１５００６に進み、そうでなければステップ１５００９に進む。
【００６８】
ステップ１５００６では、機器構成管理部３００３から、印刷ジョブ実行時の機器構成情報を取得し生成する。ステップ１５００７では、ステップ１５００３、および１５００６で生成した画像データおよび機器構成情報をクライアントコンピュータ１００５に送信する。更にステップ１５００８に進み、ステップ１５００７の処理が正常に終了したかを判定する。正常に終了すればステップ１５００９に進み政情終了処理を行なう。そうでなければステップ１５０１０に進みエラー終了処理を行なう。エラー終了処理には、生成した各種データの削除などが含まれるものとする。
【００６９】
本実施の形態で、クライアントコンピュータ１００５のメモリカードに格納されたデータは、第１実施形態の複写機１００２、ライセンスサーバ１００４で同じように使用できる。
【００７０】
（第３実施形態）
次に、本発明に係る画像形成装置の第３実施形態としてのＭＦＰ（Multiple Function Peripheral）について説明する。図１６は、本実施形態に係るＭＦＰが使用されるシステム環境を示す構成図である。同図において、１００はネットワーク、１０１はパーソナルコンピュータ（ＰＣ）、１０２はＰＣに接続して利用するメモリデバイス、１１０、１２０は画像形成装置としてのＭＦＰである。また、１３０はＭＦＰ１１０、１２０で使用するアプリケーションソフトウェアを管理し、必要な時にソフトウェアのダウンロードを可能とするサーバである。さらに、１４０はＭＦＰ１１０、１２０で使用するアプリケーションソフトウェアのライセンスを管理するライセンスサーバである。
【００７１】
図１７は、ＭＦＰ１１０、１２０の構成およびＰＣ１０１の構成を示した図である。同図において、１０３はＰＣ１０１のシリアルインタフェースであるＵＳＢインタフェースである。２１１はＭＦＰ１１０、１２０全体を制御するためのＣＰＵ、２１２はＣＰＵ２１１の動作プログラムやフォントデータが格納されているＲＯＭ、２１３はＣＰＵ２１１が動作するために使用したり、ＰＣ１０１から送られた印刷データをビットマップに変換して一時的に格納しておく為のＲＡＭである。２１４はネットワーク１００との通信を行うネットワークインタフェース部、２１５はＭＦＰの設定情報等を格納しておく為の不揮発性メモリであるＥＥＰＲＯＭである。また、２１６は実際に紙に印刷を行うエンジン部分との通信を行うエンジンインタフェース部、２１７はＭＦＰのパネル部との通信を行うパネルインタフェース部、２１８は接続されたＵＳＢデバイスと通信を行う為のＵＳＢインタフェース部、２２０は実際に紙に印刷を行う記録部、２２１はパネル部である。
【００７２】
以下、ＰＣ１０１で印刷データを作成し、作成した印刷データをメモリデバイス１０２に格納し、メモリデバイス１０２に格納された印刷データをＭＦＰ１２０で印刷する場合の処理について説明する。図１８は、この場合のＰＣ１０１の動作を示すフローチャートであり、図１９は、この場合のＭＦＰ１１０における印刷データ作成時の動作を示すフローチャートである。
【００７３】
ＰＣ１０１から印刷する為のデータを指定し印刷ファイルの作成を実行すると、ＰＣ１０１上のプリンタドライバはバーコードを含むデータの処理を実施するために、まずデータを調査し（Ｓ３０１）、そのデータがＰＣでのみ印刷データが作成可能かを判断する（Ｓ３０２）。ＰＣで処理が可能な場合にはＰＣ１０１で印刷ファイルを作成する（Ｓ３０３）が、ＰＣで処理が不可能な場合には指定されたＭＦＰ１１０に対してデータを送信すると共に印刷ファイルを作成することを通知する（Ｓ３０４）。そしてＰＣ１０１はＭＦＰ１１０に送信したデータからファイルを作成する（Ｓ３０５）。
【００７４】
次に、図１９において、ＭＦＰ１１０は、ネットワークインタフェイス２１４を通してデータを受信（Ｓ４０１）し、ＣＰＵ２１１にデータ受信を通知する。ＣＰＵ２１１はネットワークインタフェイス２１４で受信されたデータをＲＡＭ２１３に転送する（Ｓ４０２）。ネットワークインタフェイス２１４で受信されたデータをＲＡＭ２１３に全てのデータを転送した（Ｓ４０３）ところでＣＰＵ２１１は受信したデータを調べ（Ｓ４０４）、アプリケーションソフトウェアの処理が必要かどうかを調べる（Ｓ４０５）。バーコードデータがあった場合には、そのバーコードデータ用のアプリケーションソフトウェアのライセンスＩＤを検索する（Ｓ４０６）。バーコードデータ用のアプリケーションソフトウェアのライセンスＩＤ（バーコードの印刷許容）がある場合には（Ｓ４０７）、ＣＰＵ２１１はＥＥＰＲＯＭ２１５からライセンスＩＤを読み出し、サーバ１３０に対してライセンスＩＤを送信しアプリケーションソフトウェアのテンポラリライセンス情報（仮ライセンス）の作成を依頼する（Ｓ４０８）。そしてサーバ１３０はライセンスサーバ１４０ライセンスＩＤを送りテンポラリライセンス情報の作成を依頼する。ライセンスサーバ１４０において許可されると、サーバ１３０はテンポラリライセンスＩＤ情報を作成しＭＦＰ１１０に送信する（Ｓ４１０）。ライセンスサーバ１４０において許可されない場合にはサーバ１３０はＭＦＰ１１０に対してテンポラリライセンスＩＤ情報の作成ができないことを通知する（Ｓ４０９）。
【００７５】
テンポラリのライセンスＩＤ情報を受信したＭＦＰ１１０は、ＰＣ１０１に対して送信されたデータを印刷するのに必要となる装置情報、この場合はバーコードデータ処理のアプリケーションソフトウェアのテンポラリライセンス情報を設定情報として送信する。またこの設定情報に装置側における設定、例えば色処理に関する設定等を入れることも考えられる。
【００７６】
ＰＣ１０１はこの設定情報を受信すると（Ｓ３０７）、ＭＦＰ１１０に出力したデータをファイルにし、ＭＦＰ１１０から受信した設定情報を印刷データのヘッダとして追加したファイルを作成する（Ｓ３０８）。ユーザは作成された印刷データをメモリデバイス１０２へコピーする。ＭＦＰ１１０は、サーバ１３０からテンポラリライセンスＩＤ情報の作成ができないことを通知されると、ユーザにエラーを通知する（Ｓ３０６）。
【００７７】
次にユーザは、このように印刷データが格納されたメモリデバイス１０２を、ＭＦＰ１２０に接続する。図２０は本実施形態におけるＭＦＰ１２０における印刷時の動作を示すフローチャートである。
【００７８】
メモリデバイス１０２がＭＦＰ１２０に接続される−ＵＳＢインタフェイス部２１８に接続されると、ＣＰＵ２１１はデバイスがＵＳＢインタフェイス部２１８に接続されたことを検出し（Ｓ５０１）、メモリデバイス１０２からファイル情報を読み出し、読み出した情報をパネルインタフェイス部２１７を通してパネル部２２１に表示する（Ｓ５０２）。ユーザが印刷するデータを指定し印刷処理を指定すると（Ｓ５０３）、ＣＰＵ２１１はパネル部２２１からの入力をパネルインタフェイス部２１７を通して認知し、ＵＳＢインタフェイス部２１８から指定されたファイルデータを読み出し、ＲＡＭ２１３に転送する（Ｓ５０４）。
【００７９】
ＣＰＵ２１１は印刷データを調べ（Ｓ５０５）、ヘッダ情報から印刷に必要なアプリケーションソフトウェアを知り、装置内にバーコード処理のアプリケーションソフトウェアが格納されているかを調べる（Ｓ５０６）。装置内にない場合にはヘッダ内に格納されたテンポラリライセンスＩＤ情報をサーバ１３０に送信し、アプリケーションソフトウェアのダウンロードを依頼する（Ｓ５０７）。サーバ１３０はテンポラリライセンスＩＤ情報をライセンスサーバ１４０に送りダウンロードの可否を確認する。テンポラリライセンスＩＤ情報が正しいと確認されるとダウンロード可能の返事がサーバ１３０に送られ、サーバ１３０からはＭＦＰ１２０に対してアプリケーションソフトウェアのデータが送られる。ネットワークインタフェイス２１４を通してアプリケーションプログラムを受信するとＣＰＵ２１１はＲＡＭ２１３に対してソフトウェアを転送する（Ｓ５０８）。
【００８０】
次にＣＰＵ２１１はダウンロードしたアプリケーションソフトウェアに格納されている印刷データの処理を依頼する（Ｓ５０９）。ＣＰＵ２１１はバーコード処理のアプリケーションソフトウェアを実行し、印刷データ内で見つけたバーコードデータをグラフィックスデータに変換し書き換える（Ｓ５１０）。全てのデータに対する処理を終えると通常の処理プログラムに処理を戻す。次にＣＰＵ２１１は印刷データのコードデータをビットマップデータに変換し（Ｓ５１１）ＲＡＭ２１３上に格納する。ＣＰＵ２１１は１ページ分の印刷データからビットマップデータの作成を終えると（Ｓ５１２）、エンジンインタフェイス部２１６に設定を行い起動する（Ｓ５１３）。
【００８１】
エンジンインタフェイス部２１６は記録部２２０と同期を取りながら、ＲＡＭ２１３上に格納されているビットマップデータを読み出し記録部２２０へ転送する。記録部２２０では転送されたデータに基づいて印刷を行う。次のページのデータがあれば同様にしてＣＰＵ２１１は印刷データのコードデータをビットマップデータに変換し、エンジンインタフェイス部２１６に設定を行い起動、エンジンインタフェイス部２１６は記録部２２０と同期を取りながら、ＲＡＭ２１３上に格納されているビットマップデータを読み出し記録部２２０へ転送する。記録部２２０では転送されたデータに基づいて紙に印刷を行う。
【００８２】
全ての印刷が終了すると（Ｓ５１４）、ＣＰＵ２１１はＵＳＢインタフェイス部２１８に接続されているメモリデバイス１０２内の印刷データにおけるテンポラリライセンスＩＤ情報を無効なデータに書き変える（Ｓ５１５）。
【００８３】
本実施形態ではアプリケーションソフトウェアの動作例としてバーコードデータの処理を挙げたが、例えばカラー印刷装置であれば装置毎の色処理や暗号化されたデータの復号化などの動作も考えられる。
【００８４】
以上説明したように、本実施形態によれば、第１画像形成装置を用いて作成した印刷ジョブを第２画像形成装置で実行する場合に、第２画像形成装置でも、第１画像形成装置と同じ環境、同じ処理によって、印刷ジョブを実行することが可能となる。
【００８５】
（第４実施形態）
次に、第４実施形態ではアプリケーションソフトウェアをダウンロードできない環境を考慮した動作について説明する。他のシステム構成及び装置構成については、上記第３実施形態と同様であるため、同じ構成については同じ符号を用いてその説明を省略する。
【００８６】
図２１は本実施形態におけるＰＣ１０１の動作のフローチャートである。ＰＣ１０１から印刷する為のデータを指定し印刷ファイルの作成を実行すると、ＰＣ１０１上のプリンタドライバはバーコードを含むデータの処理を実施するために、先ずデータを調査し（Ｓ６０１）、そのデータがＰＣでのみ印刷データが作成可能かを判断する（Ｓ６０２）。ＰＣで処理が可能な場合にはＰＣ１０１で印刷ファイルを作成する（Ｓ６０３）が、ＰＣで処理が不可能な場合には指定されたＭＦＰ１１０に対してデータを送信すると共に印刷ファイルを作成することを通知する（Ｓ６０４）。そしてＰＣ１０１はＭＦＰ１１０に送信したデータからファイルを作成する（Ｓ６０５）。
【００８７】
次に、図１９と同様の処理により、ＭＦＰ１１０は、サーバ１３０に対し、アプリケーションソフトウェアの持ち出し許可を要求する。
【００８８】
アプリケーションソフトウェアの持ち出し許可を受信したＭＦＰ１１０は、ＰＣ１０１に対して送信されたデータに、印刷するのに必要となる装置情報と、使用するアプリケーションソフトウェアを加えて送信する。この場合はバーコードデータ処理のアプリケーションソフトウェアのテンポラリライセンス情報と、アプリケーションソフトウェアとを設定情報として送信する（Ｓ６０７）。ＰＣ１０１はＭＦＰ１１０に出力した印刷データをファイルにし、ＭＦＰ１１０から受信した設定情報とアプリケーションソフトウェアを印刷データのヘッダとして追加したファイルを作成する（Ｓ６０８）。ユーザは作成された印刷データをメモリデバイス１０２へコピーする。
【００８９】
ライセンスサーバ１４０においてアプリケーションンソフトウェアの使用もしくは持ち出しが許可されない場合には、サーバ１３０はＭＦＰ１１０に対してその旨を通知する。この場合、ＰＣ１０１では、ユーザにエラー通知を行なう（Ｓ６０６）。
【００９０】
次にユーザは前述した印刷データの格納されたメモリデバイス１０２をＭＦＰ１２０に接続する。図２２Ａ、Ｂは本実施形態におけるＭＦＰ１２０における印刷時の動作のフローチャートである。
【００９１】
メモリデバイス１０２がＵＳＢインタフェイス部２１８に接続されると、ＣＰＵ２１１はデバイスがＵＳＢインタフェイス部２１８に接続されたことを検出し（Ｓ７０１）、メモリデバイス１０２からファイル情報を読み出し、読み出した情報をパネルインタフェイス部２１７を通してパネル部２２１に表示する（Ｓ７０２）。ユーザが印刷するデータを指定し印刷処理を指定すると（Ｓ７０３）、ＣＰＵ２１１はパネル部２２１からの入力をパネルインタフェイス部２１７を通して認知し、ＵＳＢインタフェイス部２１８から指定されたファイルデータを読み出し、ＲＡＭ２１３に転送する（Ｓ７０４）。
【００９２】
ＣＰＵ２１１は印刷データを調べ（Ｓ７０５）、ヘッダに付けられているアプリケーションソフトウェアで印刷処理が可能かどうかを判断し（Ｓ７０６）、印刷処理が可能であればアプリケーションソフトウェアを登録する（Ｓ７０９）。追加のアプリケーションソフトウェアのダウンロードが必要だと判断した場合には（Ｓ７０６）、ヘッダ内に格納されたテンポラリライセンスＩＤ情報をサーバ１３０に送信し、アプリケーションソフトウェアのダウンロードを依頼する（Ｓ７０７）。
【００９３】
サーバ１３０は、テンポラリライセンスＩＤ情報をライセンスサーバ１４０に送りダウンロードの可否を確認する。テンポラリライセンスＩＤ情報が正しいと確認されるとダウンロード可能の返事がサーバ１３０に送られ、サーバ１３０からはＭＦＰ１２０に対してアプリケーションソフトウェアのデータが送られる。ネットワークインタフェイス２１４を通してアプリケーションプログラムを受信するとＣＰＵ２１１はＲＡＭ２１３に対してソフトウェアを転送する（Ｓ７０８）。そしてアプリケーションソフトウェアを登録する（Ｓ７０９）。
【００９４】
次に図２２Ｂに進み、ＣＰＵ２１１は、登録したバーコード処理のアプリケーションソフトウェアを実行し、印刷データ内で見つけたバーコードデータをグラフィックスデータに変換し書き換える（Ｓ７１０）。全てのデータに対する処理を終えると通常の処理プログラムに処理を戻す。次にＣＰＵ２１１は印刷データのコードデータをビットマップデータに変換し（Ｓ７１１）ＲＡＭ２１３上に格納する。ＣＰＵ２１１は１ページ分の印刷データからビットマップデータの作成を終えると（Ｓ７１２）、エンジンインタフェイス部２１６に設定を行い起動する（Ｓ７１３）。
【００９５】
エンジンインタフェイス部２１６は記録部２２０と同期を取りながら、ＲＡＭ２１３上に格納されているビットマップデータを読み出し記録部２２０へ転送する。記録部２２０では転送されたデータに基づいて紙に印刷を行う。次のページのデータがあれば同様にしてＣＰＵ２１１は印刷データのコードデータをビットマップデータに変換し、エンジンインタフェイス部２１６に設定を行い起動、エンジンインタフェイス部２１６は記録部２２０と同期を取りながら、ＲＡＭ２１３上に格納されているビットマップデータを読み出し記録部２２０へ転送する。記録部２２０では転送されたデータに基づいて紙に印刷を行う。
【００９６】
全ての印刷が終了すると（Ｓ７１４）、ＣＰＵ２１１はＵＳＢインタフェイス部２１８に接続されているメモリデバイス１０２内の印刷データにおけるテンポラリライセンスＩＤ情報を無効なデータに書き変える（Ｓ７１５）。
【００９７】
本実施形態によれば、第１画像形成装置を用いて作成した印刷ジョブを第２画像形成装置で実行する場合に、第２画像形成装置がネットワークやサーバに繋がっていなくても、第１画像形成装置と同じ環境、同じ処理によって、印刷ジョブを実行することが可能となる。
【００９８】
（第５実施形態）
本発明の第５実施形態として、アプリケーションソフトウェアのライセンス管理が異なるサーバで行われている場合について説明する。アプリケーションソフトウェアのライセンス管理が異なるサーバで行われていること以外は、上述の第３実施の形態と同様であるため、同じ構成や処理については同じ符号を付してその説明を省略する。
【００９９】
図２３は、本実施形態に係るシステムの構成図である。同図において、１００はネットワーク、１０１はパーソナルコンピュータ（ＰＣ）、１０２はＰＣ１０１に接続して利用するメモリデバイス、１１０、１２０は印刷装置であるＭＦＰである。１３０はＭＦＰ１１０、１２０で使用するアプリケーションソフトウェアを管理し、必要な時にソフトウェアのダウンロードを可能とするサーバ、１４０はＭＦＰ１１０やＭＦＰ１２０で使用するアプリケーションソフトウェアのライセンスを管理するライセンスサーバである。１５０はＭＦＰ１２０で使用するアプリケーションソフトウェアを管理し、必要な時にソフトウェアのダウンロードを可能とするサーバである。
【０１００】
ＰＣ１０１から印刷する為のデータを指定し印刷ファイルの作成を実行すると、ＰＣ１０１上のプリンタドライバはバーコードを含むデータの処理を実施するために、先ずデータを調査し（Ｓ３０１）、そのデータがＰＣでのみ印刷データが作成可能かを判断する（Ｓ３０２）。ＰＣで処理が可能な場合にはＰＣ１０１で印刷ファイルを作成する（Ｓ３０３）が、ＰＣで処理が不可能な場合には指定されたＭＦＰ１１０に対してデータを送信すると共に印刷ファイルを作成することを通知する（Ｓ３０４）。そしてＰＣ１０１はＭＦＰ１１０に送信したデータをファイルとして作成する（Ｓ３０５）。
【０１０１】
ＭＦＰ１１０では受信したデータをＭＦＰ１１０はネットワークインタフェイス２１４を通してデータを受信（Ｓ４０１）し、ＣＰＵ２１１にデータ受信を通知する。ＣＰＵ２１１はネットワークインタフェイス２１４で受信されたデータをＲＡＭ２１３に転送する（Ｓ４０２）。ネットワークインタフェイス２１４で受信されたデータをＲＡＭ２１３に全てのデータを転送した（Ｓ４０３）ところでＣＰＵ２１１は受信したデータを調べ（Ｓ４０４）、アプリケーションソフトウェアの処理が必要かどうかを調べる（Ｓ４０５）。バーコードデータがあった場合には、アプリケーションソフトウェアの処理が必要と判断し、アプリケーションソフトウェアのライセンスＩＤを検索する（Ｓ４０６）。
【０１０２】
バーコードデータ用のアプリケーションソフトウェアのライセンスＩＤがある場合には（Ｓ４０７）、ＣＰＵ２１１はＥＥＰＲＯＭ２１５からライセンスＩＤを読み出し、サーバ１３０に対してライセンスＩＤを送信しアプリケーションソフトウェアのテンポラリライセンス情報の作成を依頼する（Ｓ４０８）。そしてサーバ１３０はライセンスサーバ１４０ライセンスＩＤを送りテンポラリライセンス情報の作成を依頼する。ライセンスサーバ１４０において許可されると、サーバ１３０はテンポラリライセンスＩＤ情報を作成しＭＦＰ１１０に送信する（Ｓ４１０）。ライセンスサーバ１４０において許可されない場合にはサーバ１３０はＭＦＰ１１０に対してテンポラリライセンスＩＤ情報の作成ができないことを通知する（Ｓ４０９）。
【０１０３】
テンポラリのライセンスＩＤ情報を受信したＭＦＰ１１０は、ＰＣ１０１に対して送信されたデータを印刷装置で印刷するのに必要となる装置情報、この場合はバーコードデータ処理のアプリケーションソフトウェアのテンポラリライセンス情報を設定情報として送信する。ＰＣ１０１は、この設定情報を受信すると（Ｓ３０８）、ＭＦＰ１１０に出力したデータをファイルにし、ＭＦＰ１１０から受信した設定情報を印刷データのヘッダとして追加したファイルを作成する（Ｓ３０８）。ユーザは作成された印刷データをメモリデバイス１０２へコピーする。ＰＣ１０１が設定情報を受信しない場合には、ユーザにエラーを通知する（Ｓ３０６）。
【０１０４】
次にユーザは前述した印刷データの格納されたメモリデバイス１０２をＭＦＰ１２０に接続する。メモリデバイス１０２がＭＦＰ１２０に接続される−ＵＳＢインタフェイス部２１８に接続されると、ＣＰＵ２１１はデバイスがＵＳＢインタフェイス部２１８に接続されたことを検出し（Ｓ５０１）、メモリデバイス１０２からファイル情報を読み出し、読み出した情報をパネルインタフェイス部２１７を通してパネル部２２１に表示する（Ｓ５０２）。ユーザが印刷するデータを指定し印刷処理を指定すると（Ｓ５０３）、ＣＰＵ２１１はパネル部２２１からの入力をパネルインタフェイス部２１７を通して認知し、ＵＳＢインタフェイス部２１８から指定されたファイルデータを読み出し、ＲＡＭ２１３に転送する（Ｓ５０４）。
【０１０５】
ＣＰＵ２１１は印刷データを調べ（Ｓ５０５）、ヘッダ情報から印刷に必要なアプリケーションソフトウェアを知り、装置内にバーコード処理のアプリケーションソフトウェアが格納されているかを調べる（Ｓ５０６）。装置内にない場合にはヘッダ内に格納されたテンポラリライセンスＩＤ情報をサーバ１５０に送信し、アプリケーションソフトウェアのダウンロードを依頼する（Ｓ５０７）。サーバ１５０では送信されたテンポラリライセンスＩＤ情報を確認し、正しいライセンスであることを確認すればＭＦＰ１２０に対してアプリケーションソフトウェアのデータが送るが、正しいと判断できない場合にはエラーを通知する。ネットワークインタフェイス２１４を通してアプリケーションプログラムを受信するとＣＰＵ２１１はＲＡＭ２１３に対してソフトウェアを転送する（Ｓ５０８）。
【０１０６】
次にＣＰＵ２１１はダウンロードしたアプリケーションソフトウェアに格納されている印刷データの処理を依頼する（Ｓ５０９）。ＣＰＵ２１１はバーコード処理のアプリケーションソフトウェアを実行し、印刷データ内で見つけたバーコードデータをグラフィックスデータに変換し書き換える（Ｓ５１０）。全てのデータに対する処理を終えると通常の処理プログラムに処理を戻す。次にＣＰＵ２１１は印刷データのコードデータをビットマップデータに変換し（Ｓ５１１）ＲＡＭ２１３上に格納する。ＣＰＵ２１１は１ページ分の印刷データからビットマップデータの作成を終えると（Ｓ５１２）、エンジンインタフェイス部２１６に設定を行い起動する（Ｓ５１３）。
【０１０７】
エンジンインタフェイス部２１６は記録部２２０と同期を取りながら、ＲＡＭ２１３上に格納されているビットマップデータを読み出し記録部２２０へ転送する。記録部２２０では転送されたデータに基づいて紙に印刷を行う。次のページのデータがあれば同様にしてＣＰＵ２１１は印刷データのコードデータをビットマップデータに変換し、エンジンインタフェイス部２１６に設定を行い起動、エンジンインタフェイス部２１６は記録部２２０と同期を取りながら、ＲＡＭ２１３上に格納されているビットマップデータを読み出し記録部２２０へ転送する。記録部２２０では転送されたデータに基づいて紙に印刷を行う。
【０１０８】
全ての印刷が終了すると（Ｓ５１４）、ＣＰＵ２１１はＵＳＢインタフェイス部２１８に接続されているメモリデバイス１０２内の印刷データにおけるテンポラリライセンスＩＤ情報を無効なデータに書き変える（Ｓ５１５）。
【０１０９】
本実施形態によれば、第１画像形成装置を用いて作成した印刷ジョブを第２画像形成装置で実行する場合に、第２画像形成装置が第１画像形成装置と同じネットワークに属していなくても、第１画像形成装置と同じ環境、同じ処理によって、印刷ジョブを実行することが可能となる。
【０１１０】
（他の実施形態）
以上、本発明の実施形態について詳述したが、本発明は、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【０１１１】
なお、本発明は、前述した実施形態の機能を実現するプログラムを、システム或いは装置に直接或いは遠隔から供給し、そのシステム或いは装置が、供給されたプログラムコードを読み出して実行することによっても達成される。従って、本発明の機能処理をコンピュータで実現するために、コンピュータにインストールされるプログラムコード自体も本発明の技術的範囲に含まれる。
【０１１２】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等、プログラムの形態を問わない。
【０１１３】
プログラムを供給するための記録媒体としては、例えば、フロッピー（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤ（ＤＶＤ−ＲＯＭ，ＤＶＤ−Ｒ）などがある。
【０１１４】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続し、ホームページから本発明のコンピュータプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるＷＷＷサーバも、本発明のクレームに含まれるものである。
【０１１５】
また、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせ、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【０１１６】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される他、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどが、実際の処理の一部または全部を行ない、その処理によっても前述した実施形態の機能が実現され得る。
【０１１７】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行ない、その処理によっても前述した実施形態の機能が実現される。
【図面の簡単な説明】
【０１１８】
【図１】本発明の第１実施形態に係る画像形成装置のシステム構成図である。
【図２】本発明の第１実施形態に係る画像形成装置のシステムブロック図である。
【図３】本発明の第１実施形態に係る画像形成装置のソフトウェアブロック図である。
【図４】本発明の第１実施形態に係る画像形成装置の印刷ジョブ受信時のフローチャートである。
【図５】本発明の第１実施形態に係る画像形成装置の利き構成情報生成フローチャートである。
【図６】本発明の第１実施形態に係る画像形成装置の特定アプリケーションのライセンス情報である。
【図７】本発明の第１実施形態に係る画像形成装置で生成される機器構成情報である。
【図８】本発明の第１実施形態に係る画像形成装置で生成される仮ライセンスである。
【図９】本発明の第１実施形態に係る画像形成装置のソフトウェアブロック図である。
【図１０】本発明の第１実施形態に係る画像形成装置のメモリカード挿入時のフローチャートである。
【図１１】本発明の第１実施形態に係るライセンスサーバのデータベースの一部を図示下のものである。
【図１２】本発明の第１実施形態に係るライセンスサーバのフローチャートである。
【図１３】本発明の第１実施形態に係るライセンスサーバで発行されたライセンスである。
【図１４】本発明の第１実施形態に係るドライバのライセンス移譲処理画面である。
【図１５】本発明の第２実施形態に係る画像形成装置の印刷ジョブ受信時のフローチャートである。
【図１６】本発明の第３実施形態に係るシステムの構成図である。
【図１７】本発明の第３実施形態に係るＭＦＰ１１０、１２０およびＰＣ１０１の構成を示す図である。
【図１８】本発明の第３実施形態に係るＰＣ１０１の動作を示すフローチャートである。
【図１９】本発明の第３実施形態に係るＭＦＰ１１０における印刷データ作成時の動作を示すフローチャートである。
【図２０】本発明の第３実施形態に係るＭＦＰ１２０における印刷時の動作を示すフローチャートである。
【図２１】本発明の第４実施形態に係るＰＣ１０１の動作を示すフローチャートである。
【図２２Ａ】本発明の第４実施形態に係るＭＦＰ１２０における印刷時の動作のフローチャートである。
【図２２Ｂ】本発明の第４実施形態に係るＭＦＰ１２０における印刷時の動作のフローチャートである。
【図２３】本発明の第５実施形態に係るシステムの構成図である。
【図１】
0004557823.tif 000002
【図２】
0004557823.tif 000003
【図３】
0004557823.tif 000004
【図４】
0004557823.tif 000005
【図５】
0004557823.tif 000006
【図６】
0004557823.tif 000007
【図７】
0004557823.tif 000008
【図８】
0004557823.tif 000009
【図９】
0004557823.tif 000010
【図１０】
0004557823.tif 000011
【図１１】
0004557823.tif 000012
【図１２】
0004557823.tif 000013
【図１３】
0004557823.tif 000014
【図１４】
0004557823.tif 000015
【図１５】
0004557823.tif 000016
【図１６】
0004557823.tif 000017
【図１７】
0004557823.tif 000018
【図１８】
0004557823.tif 000019
【図１９】
0004557823.tif 000020
【図２０】
0004557823.tif 000021
【図２１】
0004557823.tif 000022
【図２２Ａ】
0004557823.tif 000023
【図２２Ｂ】
0004557823.tif 000024
【図２３】
0004557823.tif 000025