(57)【特許請求の範囲】
【請求項１】
外部装置と通信手段を介して接続し、情報を処理する情報処理装置であって、
前記情報処理装置にインストールされるべき第１アプリケーション及び前記外部装置にインストールされるべき第２アプリケーションをそれぞれ特定する属性情報と前記情報処理装置に関連付けられた第１アプリケーションと前記外部装置に関連付けられた第２アプリケーションとを含むアプリケーションと、前記第１アプリケーションに係る第１ライセンスと前記第２アプリケーションに係る第２ライセンスとを含むライセンス情報と、を受信する受信手段と、
前記情報処理装置を制御する制御手段と、
を備え、
前記制御手段は、前記第１ライセンスの内容を解析して前記第１アプリケーションを前記情報処理装置にインストールすることが許可されるか否かを判定すると共に、前記第２ライセンスの内容を解析して前記第２アプリケーションを前記外部装置にインストールすることが許可されるか否かを判定し、前記第１アプリケーションをインストールすることが許可され、かつ前記第２アプリケーションをインストールすることが許可されたことを条件に、前記属性情報に基づいて特定された前記第１アプリケーションを前記情報処理装置にインストールして、前記外部装置に対して前記通信手段を介して前記属性情報に基づいて特定された前記第２アプリケーションのインストールを指示するよう前記情報処理装置を制御することを特徴とする情報処理装置。
【請求項２】
前記アプリケーションに含まれる属性情報には、更に、前記第１アプリケーションと、前記第２アプリケーションの起動順序を示す起動順序情報と、が含まれており、前記制御手段は、更に、前記起動順序情報に基づいて、インストールした前記第１アプリケーションを起動する前に、前記特定された外部装置に対して前記第２アプリケーションの起動を指示するか、又は前記指示の前に、前記第１アプリケーションを起動するか、を決定することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記第１アプリケーションと、前記第２アプリケーションとは、各々暗号化されており、
前記第１ライセンスは、暗号化された前記第１アプリケーションを復号化する為の第１復号化情報を含み、
前記第２ライセンスは、暗号化された前記第２アプリケーションを復号化する為の第２復号化情報を含み、
前記制御手段は、前記第１復号化情報を用いて、暗号化された前記第１アプリケーションを復号化し、前記第２復号化情報を含む前記第２ライセンスを前記第２アプリケーションと共に前記特定された外部装置へ送信することを特徴とする請求項１に記載の情報処理装置。
【請求項４】
外部装置と通信手段を介して接続し、情報を処理する情報処理装置が実行するアプリケーションインストール方法であって、
前記情報処理装置にインストールされるべき第１アプリケーション及び前記外部装置にインストールされるべき第２アプリケーションをそれぞれ特定する属性情報と前記情報処理装置に関連付けられた第１アプリケーションと前記外部装置に関連付けられた第２アプリケーションとを含むアプリケーションと、前記第１アプリケーションに係る第１ライセンスと前記第２アプリケーションに係る第２ライセンスとを含むライセンス情報と、を受信する受信ステップと、
前記情報処理装置を制御する制御ステップと、
を含み、
前記制御ステップでは、前記第１ライセンスの内容を解析して前記第１アプリケーションを前記情報処理装置にインストールすることが許可されるか否かを判定すると共に、前記第２ライセンスの内容を解析して前記第２アプリケーションを前記外部装置にインストールすることが許可されるか否かを判定し、前記第１アプリケーションをインストールすることが許可され、かつ前記第２アプリケーションをインストールすることが許可されたことを条件に、前記属性情報に基づいて特定された前記第１アプリケーションを前記情報処理装置にインストールして、前記外部装置に対して前記通信手段を介して前記属性情報に基づいて特定された前記第２アプリケーションのインストールを指示するよう前記情報処理装置を制御することを特徴とするアプリケーションインストール方法。
【請求項５】
外部装置と通信手段を介して接続するコンピュータに、
前記コンピュータにインストールされるべき第１アプリケーション及び前記外部装置にインストールされるべき第２アプリケーションをそれぞれ特定する属性情報と前記コンピュータに関連付けられた第１アプリケーションと前記外部装置に関連付けられた第２アプリケーションとを含むアプリケーションと、前記第１アプリケーションに係る第１ライセンスと前記第２アプリケーションに係る第２ライセンスとを含むライセンス情報とを受信する受信ステップと、
前記コンピュータを制御する制御ステップと、
を実行させ、
前記制御ステップでは、前記第１ライセンスの内容を解析して前記第１アプリケーションを前記コンピュータにインストールすることが許可されるか否かを判定すると共に、前記第２ライセンスの内容を解析して前記第２アプリケーションを前記外部装置にインストールすることが許可されるか否かを判定し、前記第１アプリケーションをインストールすることが許可され、かつ前記第２アプリケーションをインストールすることが許可されたことを条件に、前記属性情報に基づいて特定された前記第１アプリケーションを前記コンピュータにインストールして、前記外部装置に対して前記通信手段を介して前記属性情報に基づいて特定された前記第２アプリケーションのインストールを指示するよう前記コンピュータを制御することを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、アプリケーションインストール方法及びプログラムに関する。
【背景技術】
【０００２】
近年、例えばパーソナルコンピュータ（以下、ＰＣという）の中には、ネットワークを介して接続された、画像形成機能等を有する複合機と、連携して動作するものがある。
【０００３】
また、近年、複合機も、Ｊａｖａ（登録商標）等の搭載により、ＰＣと同様、ネットワーク上の他の装置等からアプリケーションプログラム（以下、「アプリケーション」という）をインストールすることができる。したがって、複合機は、機能拡張の際には、ネットワークを介して接続された他の装置から、新しいアプリケーションをインストールする。
【０００４】
このようにＰＣと複合機とが連携して機能を提供するシステムにおいて、新たに機能を拡張する方法の一つとして、ＰＣ又は複合機のどちらか一方にアプリケーションをインストールすることによってその機能を実現していた。また、ＰＣ及び複合機の両方にアプリケーションインストールすることによって機能を実現していた。
【０００５】
ネットワーク上に接続される複数の端末に必要となるプログラムを順次インストールする方法として、例えば特許文献１に記載の方法等が開示されている。しかし、この方法ではＰＣと複合機の両者にアプリケーションをインストールすることで連携した機能を実現するシステムには適用することは出来ない。
【０００６】
一方、ネットワークに接続されたセンターマシン用プログラムと端末用プログラムのように対になる関係を有するソフトウエアをインストールする場合において特許文献２のようなインストール方法が開示されている。すなわち、ソフトウエア提供装置は、両プログラムを含むファイルをセンターマシンへ送信する。そして、センターマシンはセンターマシン用のプログラムを抽出してインストールする。そして、センターマシンは端末用プログラムを抽出して端末へ送信する。そして、端末はセンターマシンから受信した端末用プログラムをインストールする。
【０００７】
【特許文献１】特開２００２−００７１３５号公報
【特許文献２】特開２００５−０３２１８４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
上述した特許文献２によればインストールに係る作業を軽減することは可能であるが、センターマシンが対となるソフトウエアをインストールする端末を特定する情報をセンターマシン自身が記憶しておく必要がある。つまり、センターマシンと端末との関係は常に固定であり、これをインストールするプログラムによって可変にすることは出来ない。
【０００９】
また、特許文献２では対になる関係を有するソフトウエアを受信した場合と、センターマシンだけがインストールすべきソフトウエアを受信した場合とでインストールの制御を切り替えることが出来ない。
【００１０】
本発明はこのような問題点に鑑みなされたもので、相互に連携する装置に、夫々の装置のためのアプリケーションを、自動的にインストールする技術を提供することを目的とする。
【課題を解決するための手段】
【００１１】
そこで、本発明は、外部装置と通信手段を介して接続し、情報を処理する情報処理装置であって、前記情報処理装置にインストールされるべき第１アプリケーション及び前記外部装置にインストールされるべき第２アプリケーションをそれぞれ特定する属性情報と前記情報処理装置に関連付けられた第１アプリケーションと前記外部装置に関連付けられた第２アプリケーションとを含むアプリケーションと、前記第１アプリケーションに係る第１ライセンスと前記第２アプリケーションに係る第２ライセンスとを含むライセンス情報と、を受信する受信手段と、前記情報処理装置を制御する制御手段と、を備え、前記制御手段は、前記第１ライセンスの内容を解析して前記第１アプリケーションを前記情報処理装置にインストールすることが許可されるか否かを判定すると共に、前記第２ライセンスの内容を解析して前記第２アプリケーションを前記外部装置にインストールすることが許可されるか否かを判定し、前記第１アプリケーションをインストールすることが許可され、かつ前記第２アプリケーションをインストールすることが許可されたことを条件に、前記属性情報に基づいて特定された前記第１アプリケーションを前記情報処理装置にインストールして、前記外部装置に対して前記通信手段を介して前記属性情報に基づいて特定された前記第２アプリケーションのインストールを指示するよう前記情報処理装置を制御することを特徴とする。
【００１３】
また、本発明は、アプリケーションインストール方法やアプリケーションインストール方法を情報処理装置に実行させるためのプログラムとしてもよい。
【発明の効果】
【００１４】
本発明によれば、相互に連携する装置に、夫々の装置のためのアプリケーションを、自動的にインストールする技術を提供することができる。
【発明を実施するための最良の形態】
【００１５】
以下、本発明の実施例について図面に基づいて説明する。
【実施例１】
【００１６】
図１は、画像形成システムの一例のシステム構成図である。情報処理装置１００１は、後述する複合機１００３と連携し、複合機１００３が提供するストレージ機能や、送信機能を拡張した機能を、ネットワーク１００７を介して、クライアントＰＣ１００４、１００５、１００６等に提供する。ローカルネットワーク１００２は、情報処理装置１００１と、複合機１００３と、を接続するネットワークであり、情報処理装置１００１、複合機１００３、双方からアクセス可能である。なお、接続媒体については、双方向通信可能な接続媒体であれば何であってもよい。
【００１７】
複合機１００３、複合機１００８は、原稿の読み取り、読み取った原稿を印刷、又は読み取った原稿等を様々な装置に送信する。クライアントＰＣ１００４〜クライアントＰＣ１００６は、情報処理装置１００１を介して複合機１００３、又は複合機１００８に印刷指示を行なう。或いはクライアントＰＣ１００４〜クライアントＰＣ１００６は、情報処理装置１００１を介して複合機１００３、又は複合機１００８で読み取られた原稿のデータを格納する。
【００１８】
ネットワーク１００７は、情報処理装置１００１、クライアントＰＣ１００４〜クライアントＰＣ１００６、及び複合機１００８を接続するネットワークであり、各装置からアクセス可能である。なお、接続媒体については、双方向通信可能な接続媒体であれば何であってもよい。また、情報処理装置１００１、クライアントＰＣ１００４〜クライアントＰＣ１００６、及び複合機１００８の間において、データ送受信に使用されるプロトコルも、ＨＴＴＰ、ＳＯＡＰ、ＦＴＰ等既存のプロトコルの何れであってもよい。ここで、ＨＴＴＰは、Ｈｙｐｅｒ  Ｔｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌの略である。また、ＳＯＡＰは、Ｓｉｍｐｌｅ  Ｏｂｊｅｃｔ  Ａｃｃｅｓｓ  Ｐｒｏｔｏｃｏｌの略である。また、ＦＴＰは、Ｆｉｌｅ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌの略である。なお、データ送受信に使用されるプロトコルは、まったく独自のアプリケーションプロトコルであってもよい。
【００１９】
複合機１００３と情報処理装置とが連携して提供する機能としては例えば以下のような機能がある。例えば、複合機１００３で読み取った原稿の画像データを情報処理装置１００１に送信して、情報処理装置１００１は送信された画像データに対して文字認識処理を行ってテキストデータを抽出して情報処理装置１００１に保存する、といった機能である。
【００２０】
また、例えば、複合機１００３で読み取った原稿の画像データを情報処理装置に送信して、情報処理装置１００１は送信された画像データを予め定められたプロトコルで予め定められた宛先へ送信する、と言った機能である。このような機能を達成するためには、複合機１００３には原稿画像を読み取って情報処理装置１００１へ画像データを送信するためのアプリケーションが必要である。また情報処理装置１００１にも受信した画像データに対して文字認識を行ったり、送信処理を行ったりするためのアプリケーションが必要になる。
【００２１】
なお、複合機１００３、及び複合機１００８には、Ｊａｖａ（登録商標）の実行環境が組み込まれており、Ｊａｖａ（登録商標）アプリケーションを実行することが可能である。
【００２２】
図２は、複合機（１００３、１００６）のハードウェア構成図である。Ｃｏｎｔｒｏｌｌｅｒ  Ｕｎｉｔ２０００は、画像情報や、デバイス情報の入出力を行うコントローラである。Ｃｏｎｔｒｏｌｌｅｒ  Ｕｎｉｔ２０００は、画像入力デバイスであるスキャナ２０７０や、画像出力デバイスであるプリンタ２０９５と接続される一方、ＬＡＮ２０１１や、ＷＡＮ２０５１に接続されている。ここで、ＬＡＮは、Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋの略である。また、ＷＡＮは、Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋの略である。
【００２３】
ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２００１は、複合機のシステム全体を制御するコントローラである。ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）２００２は、ＣＰＵ２００１が動作するためのシステムワークメモリであり、画像データを一時記憶するための画像メモリ、又は各種アプリケーションが実行されるワークメモリでもある。
【００２４】
ＲＯＭ２００３はブートＲＯＭであり、システムのブートプログラムが格納されている。ＨＤＤ２００４は、ハードディスクドライブで、システムソフトウェア（システムソフトウェアプログラム）、画像データ、各種アプリケーション（各種アプリケーションプログラム）、画像形成装置内で処理される様々なジョブの履歴等を格納する。なお、各プログラムは、必要に応じて、ＲＡＭ２００２に読み込まれ、ＣＰＵ２００１によって実行される。複合機は、後述のＮｅｔｗｏｒｋ  Ｉ／Ｆ２０１０を介し、所定のクライアントＰＣと記憶領域を共有することができる。
【００２５】
操作部Ｉ／Ｆ２００６は、タッチパネルを有した操作部（ＵＩ）２０１２と、Ｃｏｎｔｒｏｌｌｅｒ  Ｕｎｉｔ２０００と、のインターフェース部で、操作部２０１２に表示する画像データを、操作部２０１２に対して出力する。また、操作部Ｉ／Ｆ２００６は、操作部２０１２から複合機の使用者が入力した情報を、ＣＰＵ２００１に伝える役割を果たす。
【００２６】
Ｎｅｔｗｏｒｋ  Ｉ／Ｆ２０１０は、Ｃｏｎｔｒｏｌｌｅｒ  Ｕｎｉｔ２０００をＬＡＮ２０１１に接続し、情報の入出力を行う。Ｍｏｄｅｍ２０５０は、Ｃｏｎｔｒｏｌｌｅｒ  Ｕｎｉｔ２０００をＷＡＮ２０５１に接続し、情報の入出力を行う。Ｒｅｍｏｖａｂｌｅ  Ｍｅｄｉａ  Ｓｌｏｔ２１００は、メモリカード等の取り外し可能なデータ保存メディアが接続可能なスロットであり、画像データの格納や読み取り等が可能である。以上のデバイスがシステムバス２００７上に配置される。
【００２７】
Ｉｍａｇｅ  Ｂｕｓ  Ｉ／Ｆ２００５は、システムバス２００７と、画像データを高速で転送する画像バス２００８と、を接続し、データ構造を変換するバスブリッジである。画像バス２００８は、ＰＣＩバス又はＩＥＥＥ１３９４で構成される。画像バス２００８上には以下のデバイスが配置される。
【００２８】
ラスターイメージプロセッサ（ＲＩＰ）２０６０は、ＰＤＬ（Ｐａｇｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ）コードをビットマップイメージに展開する。デバイスＩ／Ｆ部２０２０は、画像入出力デバイスであるスキャナ２０７０や、プリンタ２０９５と、Ｃｏｎｔｒｏｌｌｅｒ  Ｕｎｉｔ２０００と、を接続し、画像データの同期系／非同期系の変換を行う。
【００２９】
スキャナ画像処理部２０８０は、入力画像データに対し補正、加工、編集を行う。プリンタ画像処理部２０９０は、プリント出力画像データに対して、プリンタの補正、解像度変換等を行う。画像回転部２０３０は、画像データの回転を行う。画像圧縮部２０４０は、多値画像データはＪＰＥＧ、２値画像データはＪＢＩＧ、ＭＭＲ、ＭＨの圧縮伸張処理を行う。暗号・復号処理部２１１０は、所定の鍵等を用いてデータの暗号化・復号化処理を行うハードウェアアクセラレータボードである。
【００３０】
図３は、情報処理装置１００１のハードウェア構成図である。なお、クライアントＰＣ１００４、１００５、１００６のハードウェア構成も情報処理装置１００１と同様である。情報処理装置１００１は、ＣＰＵ３００１と、ＲＡＭ３００２と、ＣＲＴ（Ｃａｔｈｏｄｅ  Ｒａｙ  Ｔｕｂｅ）３００３と、キーボード３００４とが、システムバス３０１０を介して相互に接続されて構成されている。また、情報処理装置１００１は、ＲＯＭ３００６と、ＤＩＳＫ３００７と、ポインティングデバイス３００５と、通信Ｉ／Ｆ（１）３００８と、通信Ｉ／Ｆ（２）３００９とが、システムバス３０１０を介して相互に接続されて構成されている。
【００３１】
情報処理装置１００１を制御するプログラムは、ＲＯＭ３００６若しくはＤＩＳＫ３００７に格納されており、必要に応じてＲＡＭ３００２に読み出され、ＣＰＵ３００１によって実行される。
【００３２】
ＣＰＵ３００１は、ＣＲＴ３００３を通して表示を行ない、キーボード３００４及びポインティングデバイス３００５からユーザの指示を受け取る。また、ＣＰＵ３００１は、通信Ｉ／Ｆ（１）３００８、通信Ｉ／Ｆ（２）３００９を通じて外部機器（クライアントＰＣや、複合機）と通信を行なう。
【００３３】
本実施例では、特に断らない限り、ＣＰＵ３００１が、システムバス３０１０を介してキーボード３００４や、ポインティングデバイス３００５からユーザの入力を受け取る。また、ＣＰＵ３００１が、ＲＡＭ３００２と、ＣＲＴ３００３と、ＲＯＭ３００６と、ＤＩＳＫ３００７と、通信Ｉ／Ｆ（１）３００８と、通信Ｉ／Ｆ（２）３００９と、を制御する。
【００３４】
通信Ｉ／Ｆ（１）３００８は、ネットワーク１００７を介して、クライアントＰＣ１００４〜クライアントＰＣ１００６、複合機１００８と接続されている。通信Ｉ／Ｆ（２）３００９は、ローカルネットワーク１００２を介して複合機１００３と接続されている。また、情報処理装置１００１には、Ｊａｖａ（登録商標）の実行環境が組み込まれており、複合機１００３、複合機１００８と同様にＪａｖａ（登録商標）アプリケーションが実行可能である。
【００３５】
図４は、アプリケーションと、ライセンスと、の構造の一例を示したブロック図である。アプリケーションＡ４００１は、アプリケーションａ４００２、アプリケーションｂ４００４、プロパティ情報Ｘ４００６で構成されている。また、アプリケーションａ４００２は、鍵ａ４００３で暗号化されており、アプリケーションｂ４００４は、鍵ｂ４００５で暗号化されている。また、アプリケーションＡ４００１自身は、鍵Ａ４００７で暗号化されている。情報処理装置１００１がアプリケーションａ４００２をインストールし、複合機１００３がアプリケーションｂ４００４をインストールし、これらアプリケーションを実行することで、情報処理装置１００１と複合機１００３とが連携した機能が実現できる。以下、情報処理装置１００１と連携する複合機を複合機１００３とする前提で説明するが、複合機１００８でも構わない。
【００３６】
ライセンスＡ４００８は、ライセンスａ４００９、ライセンスｂ４０１１、プロパティ情報Ｙ４０１３で構成されている。ライセンスａ４００９には、復号鍵ａ４０１０が格納されており、ライセンスｂ４０１１には復号鍵ｂ４０１２が格納されている。また、ライセンスＡ４００８自身には復号鍵Ａ４０１４が格納されている。
【００３７】
アプリケーションａ４００２及びアプリケーションｂ４００４と、ライセンスａ４００９及びライセンスｂ４０１１と、の関係は後述する図６で説明する。なお、本実施例ではライセンスａ４００９等は暗号化されていないものとして説明を行うが、公開鍵方式等、予め決められた方式によって暗号化されていてもよい。
【００３８】
図５は、プロパティ情報Ｘ４００６の内容の一例を示した図である。プロパティ情報Ｘ４００６には、アプリケーションＡ４００１に関する各種の情報が記述されている。情報５００１は、アプリケーションＡ４００１に複数のアプリケーションが格納されているか否かを識別する情報であり、図５の例ではＴｒｕｅ（真）が設定されている。複数のアプリケーションとは、情報処理装置１００１にインストールするためのアプリケーションと、複合機１００３にインストールするためのアプリケーションに相当する。情報５００２は、アプリケーションＡ４００１に含まれる情報処理装置１００１用のアプリケーションａ４００２を識別する情報である。本実施例では、情報５００２としてアプリケーションａ４００２のファイル名を使用する。
【００３９】
情報５００３は、複合機１００３用のアプリケーションｂ４００４を識別する情報である。本実施例では、情報５００３としてアプリケーションｂ４００４のファイル名を使用する。情報５００４は、アプリケーションの起動順を示す情報であり、本実施例では、Ａｐｐｌｉｃａｔｉｏｎ−ａ．ｊａｒ５００２、Ａｐｐｌｉｃａｔｉｏｎ−ｂ．ｊａｒ５００３の順番で起動されるものとする。情報５００５は、このアプリケーションＡ４００１を一意に識別する情報である。本実施例では情報５００５としてアプリケーションの開発元あるいは販売元が一意に生成したシリアル番号を用いている。
【００４０】
なお、本実施例のプロパティ情報Ｘは、テキスト形式を取っているが、ＸＭＬなどのマークアップ言語形式でもよいし、バイナリ形式でもよい。以下に示すプロパティ情報Ｙ、後述するプロパティ情報ｍ、プロパティ情報ｎ等の形式も同様である。
【００４１】
図６は、プロパティ情報Ｙ４０１３の内容の一例を示した図である。情報６００１は、ライセンスａ４００９に複数のライセンスが格納されているか否かを識別する情報であり、図６の例ではＴｒｕｅ（真）が設定されている。情報６００２は、ライセンスａ４００９に格納されているライセンスファイルと、対になるアプリケーションを関連付ける情報である。本実施例ではライセンスファイル名、Ｌｉｃｅｎｃｅ−ａ．ｌｉｃが、Ａｐｐｌｉｃａｔｉｏｎ−ａ．ｊａｒのライセンスであることを示している。同様に、情報６００３は、ライセンスｂ４０１１に格納されているライセンスファイルと、対になるアプリケーションを関連付ける情報である。本実施例ではライセンスファイル名、Ｌｉｃｅｎｃｅ−ｂ．ｌｉｃが、Ａｐｐｌｉｃａｔｉｏｎ−ｂ．ｊａｒのライセンスであることを示している。
【００４２】
情報６００４は、インストールが許可されている情報処理装置１００１の個体を識別する情報であり、本実施例ではＳＮ−ａｂｃｄ１２３４５という識別情報を持った情報処理装置１００１にのみインストールできることを示している。情報６００５は、インストールが許可されている複合機１００３の個体を識別する情報であり、本実施例ではＳＮ−ｅｆｇｈ６７８９０という識別情報を持った複合機１００３にのみインストールできることを示している。情報６００６は、ライセンスＡ４００８と対になるアプリケーションを特定する情報であり、情報５００５と同じ値であることでアプリケーションＡ４００１と対であることを示す。
【００４３】
図７は、アプリケーションａ４００２の構造の一例を示したブロック図である。アプリケーション７００１は、アプリケーションａ４００２の実体であり、実際に情報処理装置１００１上で動作するプログラムそのものである。プロパティ情報ｍ７００２は、アプリケーションａ４００２のプロパティ情報であり、後述する図９の情報が格納される。なお、本実施例ではアプリケーションｂ４００４も図７と同等の構造を持っているものとする。
【００４４】
図８は、ライセンスａ４００９の構造の一例を示したブロック図である。ライセンス８００１は、ライセンスａ４００９の実体であり、アプリケーションａ４００２を情報処理装置１００１にインストールする際に参照される情報である。プロパティ情報ｎ８００２は、ライセンスａ４００９のプロパティ情報であり、後述する図１０の情報が格納される。なお、本実施例では、ライセンス８００１と、プロパティ情報ｎ８００２と、を異なるブロックで表現しているが、データフォーマットによっては物理的に異なるものである必要はない。また、ライセンスｂ４０１１も図８と同等の構造を持っているものとする。
【００４５】
図９は、プロパティ情報ｍ７００２の内容の一例を示した図である。情報９００１は、アプリケーションａ４００２に複数のアプリケーションが格納されているかを識別する情報であり、図９に示す例ではＦａｌｓｅ（偽）が設定されている。情報９００２は、このアプリケーションを一意に識別する情報である。
【００４６】
図１０は、プロパティ情報ｎ８００２の内容の一例を示した図である。情報１０００１は、ライセンスａ４００９に複数のライセンスが格納されているかを識別する情報であり、図１０に示す例ではＦａｌｓｅ（偽）が設定されている。情報１００２は、インストールが許可されている情報処理装置１００１の個体を識別する情報であり、本実施例ではＳＮ−ａｂｃｄ１２３４５という識別情報を持った情報処理装置１００１にのみインストールできることを示している。情報１０００３は、ライセンスａ４００９と対になるアプリケーションを特定する情報であり、情報９００２と同じ値であることでアプリケーションａ４００２と対であることを示す。
【００４７】
図１１は、情報処理装置１００１のアプリケーションインストール画面の一例を示す図である。情報処理装置１００１にはＨＴＴＰサーバーが搭載されており、アプリケーションインストール画面は、クライアントＰＣ１００４のＷｅｂブラウザからのリクエストにより、情報処理装置１００１から送信される。通信Ｉ／Ｆ（１）３００８、及びネットワーク１００７を介し、アプリケーションインストール画面を受信したクライアントＰＣ１００４（以下、ＰＣ１００４はＰＣ１００５あるいはＰＣ１００６でもよい）は、ＷｅｂブラウザによってＣＲＴに、表示される。あるいは、情報処理装置１００１のＣＲＴ３００３に図１１のインストール画面を表示するようにしてもよい。
【００４８】
１１００１は、アプリケーションの入力フィールドであり、クライアントＰＣ１００４のＤＩＳＫ３００７に格納されているアプリケーションを指定するものである。本実施例では、アプリケーションＡ４００１のファイル名が入力されているものとする。１１００２は、ライセンスの入力フィールドであり、クライアントＰＣ１００４のＤＩＳＫ３００７に格納されているライセンスを指定するものである。本実施例では、ライセンスＡ４００８のファイル名が入力されているものとする。ボタン１１００３は、インストールの開始を指示するためのボタンであり、入力された情報を情報処理装置に送信する機能を有する。ボタン１１００４は、本アプリケーションインストール画面の処理を中断し、不図示の他の操作画面に戻ることを指示するためのボタンである。
【００４９】
図１２は、情報処理装置１００１のアプリケーションインストール部の処理の一部を示したフローチャートである。アプリケーションインストール部（不図示）は、情報処理装置１００１にアプリケーションをインストールするために情報処理装置１００１のＣＰＵ３００１が実行するソフトウエアモジュールである。アプリケーションインストール部は、情報処理装置１００１のＤＩＳＫ３００７に記憶されている。なお、アプリケーションインストール部は図１２の各ステップに応じた複数のプログラムモジュールから構成されていてもよい。
【００５０】
図１２のフローチャートは、より具体的には、図１１のボタン１１００３が押下され、インストール指示と共にアプリケーションＡ４００１と、ライセンスＡ４００８と、が送信されてきた際の処理であり、インストール指示であることを認識した後の処理を示す。本フローチャートは、情報処理装置１００１のＣＰＵ３００１によって実行される。
【００５１】
ステップ１２００１は、アプリケーションＡ４００１を受信するステップであり、アプリケーションインストール部は、通信Ｉ／Ｆ（１）３００８を介して受信したアプリケーションＡ４００１を、ＤＩＳＫ３００７の所定の位置に格納する。
【００５２】
ステップ１２００２は、ライセンスＡ４００８を受信するステップであり、アプリケーションインストール部は、通信Ｉ／Ｆ（１）３００８を介して受信したライセンスＡ４００８を、ＤＩＳＫ３００７の所定の位置に格納する。なお、ステップ１２００１とステップ１２００２の前後関係は逆になっても構わない。
【００５３】
ステップ１２００３は、ステップ１２００２で受信したライセンスＡ４００８を解析するステップである。アプリケーションインストール部は、プロパティ情報Ｙ４０１３の内容を解析する。
【００５４】
ステップ１２００４は、インストールを許可するか否かを判定するステップである。アプリケーションインストール部は、プロパティ情報Ｙ４０１３の情報６００４と、情報処理装置１００１を識別する情報と、を比較し一致する否かを判定する。情報処理装置１００１が自身を識別する情報は、ＤＩＳＫ３００７に、あるいはＲＯＭ３００６に格納されているものとする。また、アプリケーションインストール部は、加えて、通信Ｉ／Ｆ（２）３００９を介して接続される複合機１００３から複合機１００３を識別する情報を取得し、取得した情報と、情報６００５と、が一致するか否かを判定する。なお、ここで、判定に用いられた情報処理装置１００１を識別する情報は、例えば、ＲＯＭ３００６又はＤＩＳＫ３００７等に格納されているものとする。
【００５５】
アプリケーションインストール部は、二つの判定の結果、どちらも一致すれば、ステップ１２００５に進み、片方でも一致しなければ、ステップ１２０２３に進む。
【００５６】
ステップ１２００５は、ステップ１２００１で格納したアプリケーションＡ４００１を復号化するステップである。アプリケーションインストール部は、ライセンスＡ４００８の鍵Ａ４０１４を使用してアプリケーションＡ４００１の復号化を行なう。アプリケーションインストール部は、復号化した結果をＲＡＭ３００２或いはＤＩＳＫ３００７に格納する。
【００５７】
ステップ１２００６は、ライセンスとアプリケーションとの整合性を判定するステップであり、アプリケーションインストール部は、情報５００５と、情報６００６とが一致するか否かを判定する。アプリケーションインストール部は、判定の結果、一致する場合は、ステップ１２００７に進み、一致しない場合は、ステップ１２０２３に進む。
【００５８】
ステップ１２００７は、アプリケーションＡ４００１に複数のアプリケーションが格納されている否かを判定するステップであり、アプリケーションインストール部は、情報５００１がＴｒｕｅか否かを判定する。なお、本実施例では情報５００５と、情報６００６とが一致している場合、情報５００１と、情報６００１とには必ず同じ値が格納されていることが保障されているものとする。アプリケーションインストール部は、判定の結果、Ｔｒｕｅであればステップ１２００８に進み、Ｔｒｕｅでなければステップ１２０２４に進む。あるいは、情報５００３に情報処理装置１００１以外の装置（図５の例では複合機１００３）がインストールするアプリケーションが記述されているか否かをチェックすることによっても判定が可能である。
【００５９】
ステップ１２００８は、自デバイス用ライセンスを解析するステップであり、アプリケーションインストール部は、情報５００２と、情報６００２とからライセンスａ４００９を特定し、プロパティ情報ｎ８００２を取得する。本実施例では、情報５００５と、情報６００６とが一致している場合、情報６００４と、情報１０００２とは一致することが保障されているものとする。
【００６０】
ステップ１２００９は、自デバイス用のアプリケーションを復号化するステップであり、アプリケーションインストール部は、情報５００２からアプリケーションａ４００２を特定し、ライセンスａ４００９の復号鍵ａ４０１０を使用して復号化を行なう。アプリケーションインストール部は、復号した結果を、ＲＡＭ３００２或いはＤＩＳＫ３００７に格納する。
【００６１】
ステップ１２０１０は、アプリケーションをインストールするステップであり、アプリケーションインストール部は、復号化されたアプリケーションａ４００２と、ライセンス８００１とを情報処理装置１００１にインストールし、起動可能な状態にする。具体的には、アプリケーションインストール部は復号化されたアプリケーションａ４００２と、ライセンス８００１とをＤＩＳＫ３００７内の予め定められたディレクトリに格納する。
【００６２】
ステップ１２０１１は、ステップ１２０１０のインストール処理が正常終了したかを判定するステップである。アプリケーションインストール部は、インストール処理が正常に終了した場合は、ステップ１２０１２に進み、インストール処理が正常に終了しなかった場合は、ステップ１２０２３に進む。
【００６３】
ステップ１２０１２は、連携デバイスへのインストール指示を行なうステップである。本実施例の場合、連携デバイスとは、複合機１００３である。アプリケーションインストール部は、情報５００３と、情報６００３とからアプリケーションｂ４００４と、ライセンスｂ４０１１とを取得し、通信Ｉ／Ｆ（２）３００９を介して複合機１００３にアプリケーションのインストールを指示する。
【００６４】
本実施例では複合機１００３も、アプリケーションインストール部を有し、本フローチャートと同等のインストール処理が実行されるものとする。
【００６５】
ステップ１２０１３は、ステップ１２０１２のインストール指示が正常終了したか否かを判定するステップである。アプリケーションインストール部は、インストール指示が正常終了した場合は、ステップ１２０１４に進み、インストール指示が正常終了しなかった場合は、ステップ１２０２３に進む。
【００６６】
ステップ１２０１４は、自デバイスのアプリケーションを先に起動するか否かを判定するステップであり、アプリケーションインストール部は、情報５００４を解析することにより起動するアプリケーションの順番を判定する。アプリケーションインストール部は、自デバイスのアプリケーションを先に起動すると判定すると、ステップ１２０１５に進み、自デバイスのアプリケーションを先に起動しないと判定すると、ステップ１２０１９に進む。
【００６７】
ステップ１２０１５は、情報処理装置１００１にインストールしたアプリケーションを起動するステップである。アプリケーションインストール部は、ステップ１２０１０でインストールしたアプリケーションａ４００２を起動する。
【００６８】
ステップ１２０１６は、ステップ１２０１５のアプリケーションの起動に成功したか否かを判定するステップである。アプリケーションインストール部は、アプリケーションの起動に成功した場合は、ステップ１２０１７に進み、アプリケーションの起動に成功しなかった場合は、ステップ１２０２３に進む。
【００６９】
ステップ１２０１７は、連携デバイスのアプリケーションの起動を指示するステップである。アプリケーションインストール部は、通信Ｉ／Ｆ（２）３００９を介して複合機１００３にアプリケーションの起動を指示する。
【００７０】
ステップ１２０１８は、ステップ１２０１７のアプリケーション起動指示が正常終了したか否かを判定するステップである。アプリケーションインストール部は、アプリケーション起動指示が正常終了した場合は、本フローチャートの処理を終了し、アプリケーション起動指示が正常終了しなかった場合は、ステップ１２０２３に進む。
【００７１】
ステップ１２０１９は、ステップ１２０１７と同じ処理を行なうものである。ステップ１２０２０は、ステップ１２０１９のアプリケーション起動指示が正常終了したか否かを判定するステップである。アプリケーションインストール部は、アプリケーション起動指示が正常終了した場合は、ステップ１２０２１に進み、アプリケーション起動指示が正常終了しなかった場合は、ステップ１２０２３に進む。
【００７２】
ステップ１２０２１は、ステップ１２０１５と同じ処理を行なうものである。ステップ１２０２２は、ステップ１２０２１のアプリケーションの起動に成功したか否かを判定するステップである。アプリケーションインストール部は、アプリケーションの起動に成功した場合は、本フローチャートの処理を終了し、アプリケーションの起動に成功しなかった場合は、ステップ１２０２３に進む。
【００７３】
ステップ１２０２３は、本フローチャートの各種エラー処理を行なうステップである。アプリケーションのインストールが正常に行われなかった旨をユーザに通知したり、インストール後のアプリケーションの起動が正常に行われなかった旨をユーザに通知したりする等の処理を行う。アプリケーションインストール部は、本ステップ終了後、本フローチャートの処理を終了する。
【００７４】
ステップ１２０２４は、アプリケーションをインストールするステップである。ステップ１２０１０と同じ処理を行なう。ステップ１２０２５はステップ１２０２４のインストール処理が正常に終了したかを判定するステップである。アプリケーションインストール部は、インストール処理が正常に終了した場合は、ステップ１２０２６に進み、インストール処理が正常に終了しなかった場合はステップ１２０２７に進む。
【００７５】
ステップ１２０２６は自デバイスのアプリケーションを起動するステップであり、ステップ１２０１５と同じ処理を行なうステップである。アプリケーションインストール部は、本ステップ終了後、本フローチャートの処理を終了する。なお、図１２には図示していないが、ステップ１２０２６の後に、例えばステップ１２０２２等のように、アプリケーションの起動が正常に終了したか否かを判定するステップを本フローチャートに加えてもよい。
【００７６】
ステップ１２０２７はエラー処理を行なうステップである。アプリケーションのインストールが正常に行われなかった旨をユーザに通知するなどの処理を行う。アプリケーションインストール部は、本ステップ終了後、本フローチャートの処理を終了する。
【００７７】
実施例１によれば、連携する装置（例えば、情報処理装置１００１と、複合機１００３との）間で、互いに連携する複数のアプリケーションが１つのアプリケーション（例えば、アプリケーションＡ４００１）として扱える。よって、ユーザはアプリケーション間（例えば、アプリケーションａ４００２と、アプリケーションｂ４００４と、の間）の不整合を意識する必要がなくなる。また、各アプリケーションは、装置側の処理により、所定の装置に自動的にインストールされる。
【００７８】
また、本実施例によれば、例えば、図１２のステップ１２０１５及びステップ１２０１７等に示されるように、インストール後のアプリケーションが、連携動作時に不整合が起きないように自動的に起動される。よって、ユーザの利便性が更に向上する。また、連携する装置間で決められた順番に起動しないと正しく動作しないようなアプリケーションの場合においても、正しい順番でアプリケーションを起動させることができる。そのよう起動順序までも注意してユーザがアプリケーションを起動させる必要も無いのでユーザの利便性は更に向上する。
【００７９】
また、本実施例によれば、例えば、図４及び図６に示されるように、アプリケーションと、ライセンスと、が、関連付けられている。したがって、ユーザはアプリケーションのインストールに係るライセンスを効率的に管理することができる。
【００８０】
また、本実施例によれば、例えば、図４に示されるように、アプリケーションは暗号化され、このアプリケーションと関連付けられたライセンスに復号鍵を持たせている。よって、装置は、例えば、図１２のステップ１２００５及びステップ１２００９に示されるように、アプリケーションに関連するライセンスに含まれる復号鍵を用いて、インストールしたアプリケーションを復号化することができる。つまり、アプリケーション、又はアプリケーションのインストールに関するセキュリティを向上させている。
【００８１】
また、本実施例によれば、例えば、図６及び図１０に示されるように、アプリケーションと、関連付けたライセンスのプロパティ情報にインストールを許可する装置を識別する情報が含まれている。したがって、装置は、例えば、図１２のステップ１２００４に示されるように、インストール可能な情報処理装置を判定（特定）することができ、意図しない装置に、アプリケーションがインストールされることを防止することができる。
【００８２】
また、本実施例によれば、情報処理装置１００１及び複合機１００３が、アプリケーションインストール部を有し、図１２に示されるような処理を行う。よって、連携する複数の装置の何れかにアプリケーション等がインストールされれば、他の装置にもアプリケーション等がインストールされるため、ユーザの利便性が更に向上する。
【実施例２】
【００８３】
実施例１では、情報処理装置１００１は、情報５００３に基づいて、ローカルネットワーク１００２を介して接続された複合機１００３に対して、アプリケーション等のインストール指示や、アプリケーションの起動指示を行った。
【００８４】
しかしながら、例えば、情報５００３に、ネットワーク１００７を介して接続された複合機１００８を識別する情報等が設定されていた場合以下のように処理しても良い。即ち、情報処理装置１００１は、情報５００３に基づいて、ネットワーク１００７を介して接続された複合機１００８を検索する。そして、複合機１００８に対して、アプリケーション等のインストール指示や、アプリケーションの起動指示を行う。
【００８５】
以上、上述した各実施例によれば、相互に連携する装置に、夫々の装置の特性に合致したアプリケーションを、自動的に且つ確実にインストールする技術を提供することができる。
【００８６】
以上、本発明の好ましい実施例について詳述したが、本発明は係る特定の実施例に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【図面の簡単な説明】
【００８７】
【図１】画像形成システムの一例のシステム構成図である。
【図２】複合機のハードウェア構成図である。
【図３】情報処理装置のハードウェア構成図である。
【図４】アプリケーションと、ライセンスと、の構造の一例を示したブロック図である。
【図５】プロパティ情報Ｘ４００６の内容の一例を示した図である。
【図６】プロパティ情報Ｙ４０１３の内容の一例を示した図である。
【図７】アプリケーションａ４００２の構造の一例を示したブロック図である。
【図８】ライセンスａ４００９の構造の一例を示したブロック図である。
【図９】プロパティ情報ｍ７００２の内容の一例を示した図である。
【図１０】プロパティ情報ｎ８００２の内容の一例を示した図である。
【図１１】情報処理装置１００１のアプリケーションインストール画面の一例を示す図である。
【図１２】情報処理装置１００１のアプリケーションインストール部のインストール時の処理の一部を示したフローチャートである。
【符号の説明】
【００８８】
１００１    情報処理装置
１００２    ローカルネットワーク
１００３    複合機
１００４    クライアントＰＣ
１００５    クライアントＰＣ
１００６    クライアントＰＣ
１００７    ネットワーク
１００８    複合機
【図１】
0004669466.tif 000002
【図２】
0004669466.tif 000003
【図３】
0004669466.tif 000004
【図４】
0004669466.tif 000005
【図５】
0004669466.tif 000006
【図６】
0004669466.tif 000007
【図７】
0004669466.tif 000008
【図８】
0004669466.tif 000009
【図９】
0004669466.tif 000010
【図１０】
0004669466.tif 000011
【図１１】
0004669466.tif 000012
【図１２】
0004669466.tif 000013