(57)【特許請求の範囲】
【請求項１】
プログラムから要求を受け付けるためのインタフェース群を備えた画像形成装置であって、
前記インタフェース群のうちのいずれかのインタフェースの呼び出しに応じ、当該インタフェースの呼び出し元のプログラムを特定する特定部と、
前記特定部によって特定されたプログラムについて、呼び出されたインタフェースの利用の許可を示す情報が記憶部に記憶されている場合に、当該インタフェースに係る処理の実行を許可する許可部と、
プログラムが当該画像形成装置にインストールされる場合に、当該プログラムに所定のデータが関連付けられていると、当該プログラムの識別情報と、当該所定のデータに含まれている、前記インタフェース群のうちのいずれかのインタフェースの識別情報とを対応付けて前記記憶部に記憶する記憶処理部と、
を有し、
前記特定部は、前記呼び出し元の識別情報を取得し、
前記許可部は、前記識別情報に対応付けられて、前記呼び出されたインタフェースの識別情報が前記記憶部に記憶されている場合に、当該インタフェースに係る処理の実行を許可する、
ことを特徴とする画像形成装置。
【請求項２】
前記所定のデータは、当該所定のデータが関連付けられているプログラムの識別情報によって暗号化されている、
ことを特徴とする請求項１記載の画像形成装置。
【請求項３】
前記インタフェース群は、ネットワークを介して呼び出し可能である、
ことを特徴とする請求項１又は２記載の画像形成装置。
【請求項４】
前記記憶部に記憶された情報に基づいて、前記インタフェースの利用に関する対価を算定する算定部を有する、
ことを特徴とする請求項１乃至３いずれか一項記載の画像形成装置。
【請求項５】
プログラムから要求を受け付けるためのインタフェース群を備えた画像形成装置が、
前記インタフェース群のうちのいずれかのインタフェースの呼び出しに応じ、当該インタフェースの呼び出し元のプログラムを特定する特定手順と、
前記特定手順において特定されたプログラムについて、呼び出されたインタフェースの利用の許可を示す情報が記憶部に記憶されている場合に、当該インタフェースに係る処理の実行を許可する許可手順と、
プログラムが当該画像形成装置にインストールされる場合に、当該プログラムに所定のデータが関連付けられていると、当該プログラムの識別情報と、当該所定のデータに含まれている、前記インタフェース群のうちのいずれかのインタフェースの識別情報とを対応付けて前記記憶部に記憶する記憶手順と、
を実行し、
前記特定手順は、前記呼び出し元の識別情報を取得し、
前記許可手順は、前記識別情報に対応付けられて、前記呼び出されたインタフェースの識別情報が前記記憶部に記憶されている場合に、当該インタフェースに係る処理の実行を許可する、
ことを特徴とする情報処理方法。
【請求項６】
前記所定のデータは、当該所定のデータが関連付けられているプログラムの識別情報によって暗号化されている、
ことを特徴とする請求項５記載の情報処理方法。
【請求項７】
前記インタフェース群は、ネットワークを介して呼び出し可能である、
ことを特徴とする請求項５又は６記載の情報処理方法。
【請求項８】
前記画像形成装置が、
前記記憶部に記憶された情報に基づいて、前記インタフェースの利用に関する対価を算定する算定手順を実行する、
ことを特徴とする請求項５乃至７いずれか一項記載の情報処理方法。
【請求項９】
プログラムから要求を受け付けるためのインタフェース群を備えた画像形成装置に、
前記インタフェース群のうちのいずれかのインタフェースの呼び出しに応じ、当該インタフェースの呼び出し元のプログラムを特定する特定手順と、
前記特定手順において特定されたプログラムについて、呼び出されたインタフェースの利用の許可を示す情報が記憶部に記憶されている場合に、当該インタフェースに係る処理の実行を許可する許可手順と、
プログラムが当該画像形成装置にインストールされる場合に、当該プログラムに所定のデータが関連付けられていると、当該プログラムの識別情報と、当該所定のデータに含まれている、前記インタフェース群のうちのいずれかのインタフェースの識別情報とを対応付けて前記記憶部に記憶する記憶手順と、
を実行させ、
前記特定手順は、前記呼び出し元の識別情報を取得し、
前記許可手順は、前記識別情報に対応付けられて、前記呼び出されたインタフェースの識別情報が前記記憶部に記憶されている場合に、当該インタフェースに係る処理の実行を許可する、
ことを特徴とする情報処理プログラム。
【請求項１０】
前記所定のデータは、当該所定のデータが関連付けられているプログラムの識別情報によって暗号化されている、
ことを特徴とする請求項９記載の情報処理プログラム。
【請求項１１】
前記インタフェース群は、ネットワークを介して呼び出し可能である、
ことを特徴とする請求項９又は１０記載の情報処理プログラム。
【請求項１２】
前記画像形成装置に、
前記記憶部に記憶された情報に基づいて、前記インタフェースの利用に関する対価を算定する算定手順を実行させる、
ことを特徴とする請求項９乃至１１いずれか一項記載の情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像形成装置、情報処理方法、及びプログラムに関する。
【背景技術】
【０００２】
従来、アプリケーションプログラムからの要求を受け付けるためのインタフェースとしてのＡＰＩ（Application Program Interface）群を備え、当該ＡＰＩ群を利用したアプリケーションプログラムの追加的な実装が可能とされている画像形成装置が有る（例えば、特許文献１）。このようなＡＰＩ群の中には、画像形成装置のベンダ以外のサードベンダには非公開なＡＰＩ（以下、「非公開ＡＰＩ」という。）が含まれている場合が有る。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
しかしながら、サードベンダによって開発されるアプリケーションによっては、非公開ＡＰＩを利用しなければ、その機能の実現が困難なものが有る。この場合、非公開ＡＰＩについて、無制限な公開を回避しつつ、特定のサードベンダに対して公開することができれば、非公開ＡＰＩの非公開性を確保しつつ、当該アプリケーションの実現を可能とすることができる。
【０００４】
本発明は、上記の点に鑑みてなされたものであって、プログラムからの要求を受け付けるためのインタフェースの呼び出し元を限定可能とすることを目的とする。
【課題を解決するための手段】
【０００５】
そこで上記課題を解決するため、プログラムから要求を受け付けるためのインタフェース群を備えた画像形成装置は、前記インタフェース群のうちのいずれかのインタフェースの呼び出しに応じ、当該インタフェースの呼び出し元のプログラムを特定する特定部と、前記特定部によって特定されたプログラムについて、呼び出されたインタフェースの利用の許可を示す情報が記憶部に記憶されている場合に、当該インタフェースに係る処理の実行を許可する許可部と、プログラムが当該画像形成装置にインストールされる場合に、当該プログラムに所定のデータが関連付けられていると、当該プログラムの識別情報と、当該所定のデータに含まれている、前記インタフェース群のうちのいずれかのインタフェースの識別情報とを対応付けて前記記憶部に記憶する記憶処理部と、を有し、前記特定部は、前記呼び出し元の識別情報を取得し、前記許可部は、前記識別情報に対応付けられて、前記呼び出されたインタフェースの識別情報が前記記憶部に記憶されている場合に、当該インタフェースに係る処理の実行を許可する。
【発明の効果】
【０００６】
プログラムからの要求を受け付けるためのインタフェースの呼び出し元を限定可能とすることができる。
【図面の簡単な説明】
【０００７】
【図１】本発明の実施の形態におけるシステム構成例を示す図である。
【図２】本発明の実施の形態におけるチケット生成装置のハードウェア構成例を示す図である。
【図３】本発明の実施の形態におけるチケット生成装置の機能構成例を示す図である。
【図４】チケット生成装置及びクライアント装置によって実行される処理手順の一例を説明するためのシーケンス図である。
【図５】チケットが含む情報の一例を示す図である。
【図６】本発明の実施の形態における画像形成装置のハードウェア構成例を示す図である。
【図７】本発明の実施の形態における画像形成装置の機能構成例を示す図である。
【図８】アプリケーションのインストール時に画像形成装置が実行する処理手順の一例を説明するためのフローチャートである。
【図９】限定ＡＰＩ情報記憶部の構成例を示す図である。
【図１０】限定ＡＰＩの呼び出し時に画像形成装置が実行する処理手順の一例を説明するためのフローチャートである。
【発明を実施するための形態】
【０００８】
以下、図面に基づいて本発明の実施の形態を説明する。図１は、本発明の実施の形態におけるシステム構成例を示す図である。図１において、チケット生成装置２０とクライアント装置３０とは、例えば、インターネット又はＬＡＮ（Local Area Network）等のネットワークを介して通信可能に接続される。
【０００９】
クライアント装置３０は、チケット生成装置２０に対してチケットの生成を要求する情報処理装置である。例えば、ＰＣ（Personal Computer）、タブレット端末、スマートフォン、又は携帯電話等が、クライアント装置３０として利用されてもよい。本実施の形態において、チケットとは、後述の画像形成装置１０が備えるＡＰＩ（Application Program Interface）の呼び出しに関して、正当な権限を有するアプリケーションプログラム（以下、単に「アプリケーション」という。）であることを証明するデータをいう。クライアント装置３０は、例えば、当該ＡＰＩを利用したアプリケーションの開発ベンダにおいて利用されてもよい。なお、本実施の形態では、画像形成装置１０が備えるＡＰＩ群のうち、一部のＡＰＩ群（関数群又はメソッド群等）の利用に関してチケットが必要とされ、当該一部以外のＡＰＩ群は、チケットが無くとも利用可能であるとする。例えば、当該一部のＡＰＩは、非公開のＡＰＩであり、特定のアプリケーションに対して利用が許可されるＡＰＩであってもよい。以下、本発明の実施の形態の説明において、当該一部のＡＰＩを「限定ＡＰＩ」と称する。
【００１０】
チケット生成装置２０は、クライアント装置３０からの要求に応じ、チケットを生成するコンピュータである。チケット生成装置２０は、複数のコンピュータを含むコンピュータシステムであってもよい。なお、チケット生成装置２０は、例えば、画像形成装置１０のベンダによって管理されてもよい。
【００１１】
なお、複数のクライアント装置３０が、チケット生成装置２０と通信可能に接続されてもよい。
【００１２】
図２は、本発明の実施の形態におけるチケット生成装置のハードウェア構成例を示す図である。図２のチケット生成装置２０は、それぞれバスＢで相互に接続されているドライブ装置２００、補助記憶装置２０２、メモリ装置２０３、ＣＰＵ２０４、及びインタフェース装置２０５等を有する。
【００１３】
チケット生成装置２０での処理を実現するプログラムは、ＣＤ−ＲＯＭ等の記録媒体２０１によって提供される。プログラムを記憶した記録媒体２０１がドライブ装置２００にセットされると、プログラムが記録媒体２０１からドライブ装置２００を介して補助記憶装置２０２にインストールされる。但し、プログラムのインストールは必ずしも記録媒体２０１より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。補助記憶装置２０２は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。
【００１４】
メモリ装置２０３は、プログラムの起動指示があった場合に、補助記憶装置２０２からプログラムを読み出して格納する。ＣＰＵ２０４は、メモリ装置２０３に格納されたプログラムに従ってチケット生成装置２０に係る機能を実行する。インタフェース装置２０５は、ネットワークに接続するためのインタフェースとして用いられる。
【００１５】
図３は、本発明の実施の形態におけるチケット生成装置の機能構成例を示す図である。図３において、チケット生成装置２０は、要求受信部２１、チケット生成部２２、及び応答返信部２３等を有する。これら各部は、チケット生成装置２０にインストールされた１以上のプログラムがＣＰＵ２０４に実行させる処理により実現される。チケット生成装置２０は、また、チケット記憶部２４を有する。チケット記憶部２４は、例えば、補助記憶装置２０２、又はチケット生成装置２０にネットワークを介して接続される記憶装置等を用いて実現可能である。
【００１６】
要求受信部２１は、クライアント装置３０から送信される、チケットの生成要求を受信する。チケット生成部２２は、チケット生成要求に含まれる情報を用いて、チケットを生成する。応答返信部２３は、チケット生成部２２によって生成されたチケットを含む応答を、チケットの生成要求の送信元のクライアント装置３０に返信する。チケット記憶部２４は、チケット生成部２２によって生成されたチケットを記憶する。
【００１７】
以下、チケット生成装置２０及びクライアント装置３０によって実行される処理手順について説明する。図４は、チケット生成装置及びクライアント装置によって実行される処理手順の一例を説明するためのシーケンス図である。
【００１８】
ステップＳ１０１において、クライアント装置３０は、ユーザによる指示に応じ、チケットの生成要求をチケット生成装置２０に送信する。チケットの生成要求には、限定ＡＰＩを利用するアプリケーションの製品又は種別ごとの識別情報（以下、「プロダクトＩＤ」という。）、及び当該アプリケーションが利用する１以上の限定ＡＰＩ（関数又はメソッド等）の識別情報等が含まれる。ＡＰＩの識別情報は、例えば、各ＡＰＩを相互に区別するための情報（以下、「ＡＰＩ番号」という。）と、各ＡＰＩのバージョン情報とを含んでもよい。ＡＰＩに関してバージョン管理が行われていない場合、バージョン情報は、ＡＰＩの識別情報に含まれなくてもよい。なお、チケットの生成要求は、画像形成装置１０のベンダに対する、限定ＡＰＩの利用の許可を求める申請に相当する。なお、チケットの生成要求は、例えば、申請内容が記載された書類の郵送や、申請内容を含む電子メールの送信等によって行われてもよい。
【００１９】
チケットの生成要求が要求受信部２１によって受信されると、チケット生成部２２は、当該生成要求に対応したチケットを生成する（Ｓ１０２）。当該生成要求に対応したチケットとは、当該生成要求に含まれているプロダクトＩＤに係るアプリケーションに対して、当該生成要求に含まれているＡＰＩ番号及びバージョン情報に係る限定ＡＰＩの利用権限を付与するためのチケットをいう。
【００２０】
図５は、チケットが含む情報の一例を示す図である。図５では、チケットがＸＭＬ（eXtensible Markup Language）形式によって定義される例が示されている。但し、チケットは、ＸＭＬ形式以外の形式によって定義されてもよい。
【００２１】
チケットは、ａｐｉｔｉｃｋｅｔタグで囲まれたａｐｉｔｉｃｋｅｔ要素をルート要素として含む。ａｐｉｔｉｃｋｅｔ要素は、１つのｐｒｏｄｕｃｔｉｄ要素と、１以上のａｐｉ要素とを含む。
【００２２】
ｐｒｏｄｕｃｔｉｄ要素は、プロダクトＩＤを含む要素である。図５の例において、ｐｒｏｄｕｃｔｉｄ要素は、ｖａｌｕｅ属性の値としてプロダクトＩＤを含む。
【００２３】
ａｐｉ要素は、ＡＰＩ番号及びバージョン情報を含む要素である。図５の例において、ａｐｉ要素は、ｎｕｍｂｅｒ属性及びｖｅｒｓｉｏｎ属性を含む。ｎｕｍｂｅｒ属性の値は、ＡＰＩ番号である。ｖｅｒｓｉｏｎ属性の値は、バージョン情報である。
【００２４】
図５では、１つのチケットが１つのアプリケーションに対応する例が示されているが、１つのチケットが複数のアプリケーションに対応可能とされてもよい。この場合、アプリケーションごとに利用する限定ＡＰＩが異なるのであれば、アプリケーションごとにａｐｉ要素が区別されてチケットに含まれてもよい。例えば、ｐｒｏｄｕｃｔｉｄ要素の子要素として、当該ｐｒｏｄｕｃｔｉｄ要素に含まれるプロダクトＩＤに係るアプリケーションが利用する限定ＡＰＩに対応するａｐｉ要素が含まれてもよい。
【００２５】
続いて、チケット生成部２２は、生成されたチケットをチケット記憶部２４に記憶する（Ｓ１０３）。生成されたチケットがチケット記憶部２４に記憶されることにより、例えば、画像形成装置１０のベンダは、いずれのアプリケーションに対して、いずれの限定ＡＰＩの利用が許可されたのかを管理することができる。また、チケット記憶部２４に記憶された情報に基づいて、チケット生成部２２は、限定ＡＰＩの利用に関して対価を算定してもよい。対価の算定方法は、所定のものに限定されない。当該算定結果に基づいて課金が行われてもよい。
【００２６】
続いて、チケット生成部２２は、生成されたチケットを暗号化する（Ｓ１０４）。例えば、生成されたチケットに係るプロダクトＩＤが、暗号鍵として用いられてもよい。具体的には、ＸＭＬ形式のチケットをバイナリデータとして扱い、当該バイナリデータとプロダクトＩＤとの排他的論理和を４バイト単位で求めることにより、暗号化が行われてもよい。但し、他の方法によって暗号化が行われてもよい。なお、プロダクトＩＤが、暗号鍵として用いられる場合、チケットの暗号化によって当該プロダクトＩＤと当該チケットとの関連付けが行われる。したがって、この場合、プロダクトＩＤがチケットに含まれなくてもよい。図５の例では、ｐｒｏｄｕｃｔｉｄ要素がチケットに含まれなくてもよい。
【００２７】
なお、チケットが暗号化されることにより、アプリケーションの開発ベンダに対するチケットの提供後において、チケットの改竄、すなわち、チケット生成要求において申請されていない限定ＡＰＩのＡＰＩ番号及びバージョン情報のチケットへの挿入等が行われる可能性を低下させることができる。また、チケットがプロダクトＩＤによって暗号化されることにより、或るアプリケーションに関して発行されたチケットが、他のアプリケーションによって利用可能となる可能性を低下させることができる。但し、チケットの暗号化の方法が、アプリケーションの開発ベンダ等に対して秘密にされる必要が有る。
【００２８】
続いて、応答返信部２３は、暗号化されたチケットを含む応答を、クライアント装置３０に返信する（Ｓ１０５）。クライアント装置３０は、当該チケットを受信する。クライアント装置３０のユーザ（例えば、アプリケーションの開発ベンダ）は、例えば、当該チケットに係るアプリケーションのインストール用の書庫ファイルに当該チケットを含めて、当該アプリケーションを販売する。書庫ファイルは、例えば、ＪＡＲ（Java（登録商標） Archive）ファイルでもよいし、他の形式のファイルでもよい。チケットは、例えば、ファイルに格納されて書庫ファイルに含まれてもよい。
【００２９】
なお、図４のステップＳ１０２の実行前において、画像形成装置１０のベンダに所属する管理者等によって、チケットの生成を許可するか否かに関する判断が行われてもよい。例えば、チケット生成装置２０は、チケットの生成要求の内容を表示装置に表示させる。管理者は、当該内容を確認し、チケットの生成を許可するか否かを示す指示をチケット生成装置２０に入力する。チケット生成装置２０は、チケットの生成の許可を示す指示が入力された場合、ステップＳ１０２以降を実行し、チケットの生成の不許可を示す指示が入力された場合、ステップＳ１０２以降を実行しない。
【００３０】
続いて、アプリケーションのインストール先の画像形成装置１０について説明する。図６は、本発明の実施の形態における画像形成装置のハードウェア構成例を示す図である。図６において、画像形成装置１０は、コントローラ１１、スキャナ１２、プリンタ１３、モデム１４、操作パネル１５、ネットワークインタフェース１６、及びＳＤカードスロット１７等のハードウェアを有する。
【００３１】
コントローラ１１は、ＣＰＵ１１１、ＲＡＭ１１２、ＲＯＭ１１３、ＨＤＤ１１４、及びＮＶＲＡＭ１１５等を有する。ＲＯＭ１１３には、各種のプログラムやプログラムによって利用されるデータ等が記憶されている。ＲＡＭ１１２は、プログラムをロードするための記憶領域や、ロードされたプログラムのワーク領域等として用いられる。ＣＰＵ１１１は、ＲＡＭ１１２にロードされたプログラムを処理することにより、各種の機能を実現する。ＨＤＤ１１４には、プログラムやプログラムが利用する各種のデータ等が記憶される。ＮＶＲＡＭ１１５には、各種の設定情報等が記憶される。
【００３２】
スキャナ１２は、原稿より画像データを読み取るためのハードウェア（画像読取手段）である。プリンタ１３は、印刷データを印刷用紙に印刷するためのハードウェア（印刷手段）である。モデム１４は、電話回線に接続するためのハードウェアであり、ＦＡＸ通信による画像データの送受信を実行するために用いられる。操作パネル１５は、ユーザからの入力の受け付けを行うためのボタン等の入力手段や、液晶パネル等の表示手段等を備えたハードウェアである。液晶パネルは、タッチパネル機能を有していてもよい。この場合、当該液晶パネルは、入力手段の機能をも兼ねる。ネットワークインタフェース１６は、ＬＡＮ等のネットワーク（有線又は無線の別は問わない。）に接続するためのハードウェアである。ＳＤカードスロット１７は、ＳＤカード８０に記憶されたプログラムを読み取るために利用される。すなわち、画像形成装置１０では、ＲＯＭ１１３に記憶されたプログラムだけでなく、ＳＤカード８０に記憶されたプログラムもＲＡＭ１１２にロードされ、実行されうる。なお、他の記録媒体（例えば、ＣＤ−ＲＯＭ又はＵＳＢ（Universal Serial Bus）メモリ等）によってＳＤカード８０が代替されてもよい。すなわち、ＳＤカード８０の位置付けに相当する記録媒体の種類は、所定のものに限定されない。この場合、ＳＤカードスロット１７は、記録媒体の種類に応じたハードウェアによって代替されればよい。
【００３３】
図７は、本発明の実施の形態における画像形成装置の機能構成例を示す図である。図７において、画像形成装置１０は、インストール部１２１、チケット解析部１２２、及びプラットフォーム部１２３等を有する。これら各部は、画像形成装置１０にインストールされた１以上のプログラムがＣＰＵ１１１に実行させる処理により実現される。画像形成装置１０は、また、限定ＡＰＩ情報記憶部１２４を利用する。限定ＡＰＩ情報記憶部１２４は、ＨＤＤ１１４若しくはＮＶＲＡＭ１１５、又は画像形成装置１０にネットワークを介して接続される記憶装置等を用いて実現可能である。
【００３４】
インストール部１２１は、画像形成装置１０に対するアプリケーションのインストール処理を制御する。チケット解析部１２２は、インストール対象のアプリケーションを含む書庫ファイルにチケットが含まれている場合、当該チケットの内容を解析し、解析結果に基づく情報を、限定ＡＰＩ情報記憶部１２４に記憶する。限定ＡＰＩ情報記憶部１２４は、限定ＡＰＩごとに、当該限定ＡＰＩの利用が許可されたアプリケーションのプロダクトＩＤ等を記憶する。
【００３５】
プラットフォーム部１２３は、アプリケーションに対してＡＰＩ群を提供し、アプリケーションの実行環境として機能する。図７では、アプリＡ及びアプリＢ等が、プラットフォーム部１２３上で動作するアプリケーションの一例として示されている。
【００３６】
図７において、プラットフォーム部１２３は、呼び出し元特定部１３１、許可判定部１３２、及びＡＰＩ実行部１３３等を含む。プラットフォーム部１２３によって提供されるＡＰＩ群の一部が、限定ＡＰＩである。但し、プラットフォーム部１２３によって提供されるＡＰＩ群の全部が、限定ＡＰＩとされてもよい。
【００３７】
呼び出し元特定部１３１は、限定ＡＰＩの呼び出し元のアプリケーションを特定する。許可判定部１３２は、呼び出し元特定部１３１によって特定されたアプリケーションについて、呼び出された限定ＡＰＩの利用が許可されるか否かを、限定ＡＰＩ情報記憶部１２４を参照して判定する。
【００３８】
ＡＰＩ実行部１３３は、プラットフォーム部１２３の各ＡＰＩを介したアプリケーションからの要求に応じた処理の実行を制御する。
【００３９】
なお、ＡＰＩ実行部１３３は、各ＡＰＩのそれぞれが有していてもよい。また、呼び出し元特定部１３１及び許可判定部１３２は、各限定ＡＰＩのそれぞれが有していてもよい。
【００４０】
以下、画像形成装置１０が実行する処理について説明する。図８は、アプリケーションのインストール時に画像形成装置が実行する処理手順の一例を説明するためのフローチャートである。
【００４１】
画像形成装置１０に対して或るアプリケーションのインストールが指示されると、インストール部１２１は、当該アプリケーションの書庫ファイルを展開することにより、当該書庫ファイルに含まれているアプリケーションファイル及びデータファイル群等を取り出す（Ｓ２０１）。アプリケーションファイルとは、アプリケーションを格納したファイルをいう。データファイルとは、設定データ等、アプリケーションに関連したデータを格納したファイルをいう。なお、アプリケーションの書庫ファイルは、ネットワークを介して受信されてもよいし、ＳＤカード８０等の記録媒体から読み込まれてもよい。
【００４２】
続いて、インストール部１２１は、当該アプリケーションを画像形成装置１０にインストールする（Ｓ２０２）。例えば、アプリケーションファイルやデータファイル群等が、ＨＤＤ１１４の所定のフォルダに保存される。
【００４３】
続いて、インストール部１２１は、データファイル群に、チケットを格納したファイルが含まれているか否かを判定する（Ｓ２０３）。該当するファイルが含まれていない場合（Ｓ２０３でＮｏ）、図８の処理は終了する。該当するファイルが含まれている場合（Ｓ２０３でＹｅｓ）、チケット解析部１２２は、当該ファイルに格納されているチケットを、インストール対象のアプリケーションのプロダクトＩＤを用いて復号する（Ｓ２０４）。例えば、チケットが、プロダクトＩＤとの４バイト単位の排他的論理和によって暗号化されている場合、プロダクトＩＤとの４バイト単位の排他的論理和を求めることにより、当該チケットを復号することができる。なお、復号に用いられるプロダクトＩＤは、例えば、いずれかのデーファイルに含まれていてもよいし、インストールの指示に伴ってユーザによって入力されてもよい。
【００４４】
続いて、チケット解析部１２２は、当該チケットの復号に用いたプロダクトＩＤ又は当該チケットに含まれているプロダクトＩＤを、復号されたチケットに含まれているＡＰＩ番号及びバージョン情報に対応付けて限定ＡＰＩ情報記憶部１２４に記憶する（Ｓ２０５）。
【００４５】
図９は、限定ＡＰＩ情報記憶部の構成例を示す図である。図９に示されるように、限定ＡＰＩ情報記憶部１２４は、各限定ＡＰＩのＡＰＩ番号及びバージョン情報に、当該限定ＡＰＩの利用が許可されるアプリケーションのプロダクトＩＤを対応付けて記憶する。
【００４６】
なお、限定ＡＰＩのＡＰＩ番号及びバージョン情報は、予め登録されていてもよいし、ステップＳ２０５において登録されてもよい。予め登録される場合、プロダクトＩＤの項目が空であるレコードが存在する。
【００４７】
また、図９に例示されるように、一つの限定ＡＰＩに対して、複数のアプリケーションのプロダクトＩＤが対応付けられてもよい。すなわち、複数のアプリケーションによって、同一の限定ＡＰＩの利用が許可されてもよい。
【００４８】
続いて、画像形成装置１０にインストールされたいずれかのアプリケーションから、いずれかの限定ＡＰＩが呼び出された場合に画像形成装置１０が実行する処理について説明する。
【００４９】
図１０は、限定ＡＰＩの呼び出し時に画像形成装置が実行する処理手順の一例を説明するためのフローチャートである。
【００５０】
いずれかの限定ＡＰＩが呼び出されると、許可判定部１３２は、呼び出された限定ＡＰＩ（以下、「対象ＡＰＩ」という。）のＡＰＩ番号及びバージョン情報に対応付けられて限定ＡＰＩ情報記憶部１２４に記憶されている１以上のプロダクトＩＤを取得する（Ｓ３０１）。なお、図１０の処理は、対象ＡＰＩの呼び出しに応じて実行される。したがって、対象ＡＰＩのＡＰＩ番号及びバージョン情報は、対象ＡＰＩ内によって特定可能である。
【００５１】
該当するプロダクトＩＤが取得されない場合（Ｓ３０２でＮｏ）、ＡＰＩ実行部１３３は、対象ＡＰＩの呼び出し元のアプリケーションにエラーを返却する（Ｓ３０６）。該当するプロダクトＩＤが取得されない場合として、対象ＡＰＩのＡＰＩ番号及びバージョン情報が、限定ＡＰＩ情報記憶部１２４に記憶されていない場合や、対象ＡＰＩのＡＰＩ番号及びバージョン情報に対して、プロダクトＩＤが対応付けられていない場合等が挙げられる。
【００５２】
該当するプロダクトＩＤが取得された場合（Ｓ３０２でＹｅｓ）、呼び出し元特定部１３１は、対象ＡＰＩの呼び出し元のアプリケーションのプロダクトＩＤを取得する（Ｓ３０３）。当該プロダクトＩＤは、例えば、限定ＡＰＩの引数に指定させるようにしてもよい。この場合、呼び出し元特定部１３１は、当該引数からプロダクトＩＤを取得することができる。又は、コールスタックをトレースすることにより、当該アプリケーションのプロダクトＩＤが取得されてもよい。この場合、引数にプロダクトＩＤが指定される場合に比べて、アプリケーションの成りすましを困難なものとすることができる。なお、コールスタックをトレースすることによりプロダクトＩＤを取得する方法を採用する場合、アプリケーション内にプロダクトＩＤが含まれている（記述されている）必要が有る。
【００５３】
続いて、許可判定部１３２は、呼び出し元のプロダクトＩＤが、ステップＳ３０１において取得された１以上のプロダクトＩＤに含まれているか否かを判定する（Ｓ３０４）。呼び出し元のプロダクトＩＤが、ステップＳ３０１において取得された１以上のプロダクトＩＤに含まれていない場合（Ｓ３０４でＮｏ）、ＡＰＩ実行部１３３は、対象ＡＰＩの呼び出し元のアプリケーションにエラーを返却する（Ｓ３０６）。呼び出し元のプロダクトＩＤが、ステップＳ３０１において取得された１以上のプロダクトＩＤに含まれている場合（Ｓ３０４でＹｅｓ）、許可判定部１３２は、対象ＡＰＩに応じた処理の実行を許可する。その結果、ＡＰＩ実行部１３３は、対象ＡＰＩに応じた処理の実行を制御する（Ｓ３０５）。
【００５４】
なお、上記の例では、チケットに含まれる情報が、アプリケーションのインストール時に限定ＡＰＩ情報記憶部１２４に記憶される例を示したが、チケットが、限定ＡＰＩの引数として指定されるようにしてもよい。
【００５５】
また、プラットフォーム部１２３のＡＰＩは、ＨＴＴＰ（HyperText Transfer Protocol）ベースのＷｅｂＡＰＩ等、ネットワークを介して呼び出し可能なＡＰＩであってもよい。この場合、限定ＡＰＩの呼び出し元のアプリケーションは、画像形成装置１０にインストールされるとは限らない。このことは、限定ＡＰＩの呼び出し元のアプリケーションに関するチケットが含む情報が、当該アプリケーションのインストール時に限定ＡＰＩ情報記憶部１２４に記憶できないことを意味する。
【００５６】
そこで、この場合、チケットは、限定ＡＰＩを呼び出すアプリケーションが配置される情報処理装置に保存されるようにしてもよい。当該情報処理装置は、ＬＡＮ（Local Area Network）又はインターネット等を介して画像形成装置１０に接続されてもよいし、ＵＳＢ（Universal Serial Bus）ケーブル等を介して画像形成装置１０に接続されてもよい。この場合、当該情報処理装置は、操作パネル１５の代わりとして機能するスマート端末であってもよい。当該スマート端末は、画像形成装置１０に固定されてもよい。
【００５７】
斯かる情報処理装置に配置されたアプリケーションは、ネットワークを介して限定ＡＰＩを呼び出す前に、当該アプリケーションのプロダクトＩＤと、当該アプリケーションに対するチケットとを、画像形成装置１０に送信する。画像形成装置１０は、受信されたチケット及びプロダクトＩＤに関して、図８のステップＳ２０４及びＳ２０５を実行する。その後、アプリケーションは、プロダクトＩＤを含む、限定ＡＰＩの呼び出し要求を画像形成装置１０に送信すればよい。または、プロダクトＩＤに対応付けられて生成されるクッキー等の識別情報が、画像形成装置１０からアプリケーションに対して発行されてもよい。当該識別情報には、有効期限が設定されてもよい。アプリケーションは、当該識別情報を含む限定ＡＰＩの呼び出し要求を画像形成装置１０に送信する。
【００５８】
ネットワークを介して限定ＡＰＩが呼び出された際に画像形成装置１０が実行する処理は、基本的に図１０に示した通りでもよい。但し、ステップＳ３０３では、限定ＡＰＩの呼び出し要求に含まれているプロダクトＩＤ、又は限定ＡＰＩの呼び出し要求に含まれている識別情報に対応付けられているプロダクトＩＤが取得されればよい。
【００５９】
上述したように、本実施の形態によれば、限定ＡＰＩに関して、呼び出し可能なアプリケーションを限定することができる。その結果、例えば、限定ＡＰＩの利用を一部の開発ベンダに対してのみ許可するといった運用を行うことが可能となる。
【００６０】
また、各限定ＡＰＩを利用可能なアプリケーションを示す情報は、当該限定ＡＰＩを備えた画像形成装置１０において管理される。したがって、当該情報を管理するためのサーバコンピュータ等を別途設置する必要はない。
【００６１】
また、上記では、画像形成装置１０が、プログラムから要求を受け付けるためのインタフェース群を備えた情報処理装置である例を示したが、画像形成装置１０以外の情報処理装置に関して本実施の形態が適用されてもよい。例えば、プロジェクタ、電子黒板、テレビ会議システム、デジタルカメラ、ＰＣ（Personal Computer）等の汎用的なコンピュータに関して、本実施の形態が適用されてもよい。
【００６２】
また、上記では、限定ＡＰＩの利用に関する対価の算定が、チケット生成装置２０によって行われることを記したが、当該対価は、限定ＡＰＩ情報記憶部１２４に記憶された情報に基づいて、画像形成装置１０（例えば、チケット解析部１２２）によって行われてもよい。
【００６３】
なお、本実施の形態において、呼び出し元特定部１３１は、特定部の一例である。許可判定部１３２は、許可部の一例である。チケットは、所定のデータの一例である。チケット解析部１２２は、記憶処理部及び算定部の一例である。
【００６４】
以上、本発明の実施例について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【符号の説明】
【００６５】
１０          画像形成装置
１１          コントローラ
１２          スキャナ
１３          プリンタ
１４          モデム
１５          操作パネル
１６          ネットワークインタフェース
１７          ＳＤカードスロット
２０          チケット生成装置
２１          要求受信部
２２          チケット生成部
２３          応答返信部
２４          チケット記憶部
３０          クライアント装置
８０          ＳＤカード
１１１        ＣＰＵ
１１２        ＲＡＭ
１１３        ＲＯＭ
１１４        ＨＤＤ
１１５        ＮＶＲＡＭ
１２１        インストール部
１２２        チケット解析部
１２３        プラットフォーム部
１２４        限定ＡＰＩ情報記憶部
１３１        呼び出し元特定部
１３２        許可判定部
１３３        ＡＰＩ実行部
２００        ドライブ装置
２０１        記録媒体
２０２        補助記憶装置
２０３        メモリ装置
２０４        ＣＰＵ
２０５        インタフェース装置
Ｂ            バス
【先行技術文献】
【特許文献】
【００６６】
【特許文献１】特開２００５−２６９６１９号公報
【図１】
0006424499.tif 000002
【図２】
0006424499.tif 000003
【図３】
0006424499.tif 000004
【図４】
0006424499.tif 000005
【図５】
0006424499.tif 000006
【図６】
0006424499.tif 000007
【図７】
0006424499.tif 000008
【図８】
0006424499.tif 000009
【図９】
0006424499.tif 000010
【図１０】
0006424499.tif 000011