(57)【特許請求の範囲】
【請求項１】
接続された外部のサーバーに対してサービスを要求できるサービス要求手段と、
前記外部のサーバーによる要求に応じて、サービスを前記外部のサーバーに提供するためのサービス提供手段と、
前記サービス提供手段によるサービスの提供を許可されたサービス要求元の識別情報を保持する、インストールおよびアンインストールが可能に構成された保持手段と
を有し、
前記サービス提供手段は、サービス要求元にサービスの提供が許可されているかを、前記保持手段により保持された識別情報を参照して判定し、許可されていると判定した場合に、要求されたサービスを提供し、
前記サービス要求手段は、さらに、外部のサーバーにアクセスして表示画面情報を取得して表示することを特徴とする情報処理装置。
【請求項２】
前記サービス提供手段は、前記サービス要求手段から、該サービス要求手段がサービスを要求したサービス要求先の識別情報を取得し、取得した前記サービス要求先の識別情報を前記サービス要求元の識別情報として前記保持手段により保持された識別情報とに基づいて、前記サービス要求元にサービスの提供が許可されているかを判定することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記保持手段は、前記サービス要求元ごとに、該サービス要求元の識別情報に加えて、前記サービス要求手段によるサービス要求先の識別情報をさらに保持し、
前記サービス要求手段は、前記サービス要求先の識別情報に対してサービス要求のためにアクセスすることを特徴とする請求項１に記載の情報処理装置。
【請求項４】
前記サービス要求元の識別情報と前記サービス要求先の識別情報とが同じ場合には、前記保持手段は、少なくとも一方を、サービス要求元の識別情報およびサービス要求先の識別情報として保持することを特徴とする請求項３に記載の情報処理装置。
【請求項５】
前記サービス提供手段は、前記サービス要求手段から、該サービス要求手段がサービスを要求した要求先の識別情報を取得し、取得した前記要求先の識別情報を、前記保持手段により保持された識別情報と比較し、少なくともいずれか一方が一致していれば、前記サービス要求元に対するサービスの提供が許可されていると判定することを特徴とする請求項３または４に記載の情報処理装置。
【請求項６】
アプリケーションをインストール可能なフレームワークを更に有し、
前記保持手段は、前記フレームワークにインストールおよびアンインストールが可能な連携許可アプリケーションにより実現されることを特徴とする請求項１乃至５のいずれか一項に記載の情報処理装置。
【請求項７】
前記連携許可アプリケーションは、前記サービス要求元ごとに、該サービス要求元の識別情報を保持するひとつのアプリケーションとして前記フレームワークにインストールされることを特徴とする請求項６に記載の情報処理装置。
【請求項８】
アプリケーションをインストールすると、メインメニューにＧＵＩボタンを登録し、前記連携許可アプリケーションを起動すると、Ｗｅｂブラウザーを開いて、前記連携許可アプリケーションが保持する前記サービス要求先の識別情報に基づいて、該サービス要求先へとアクセスすることを特徴とする請求項２を引用する請求項６に記載の情報処理装置。
【請求項９】
ライセンス検証手段を更に有し、
前記連携許可アプリケーションは、前記ライセンス検証手段によってライセンスがあると判定された場合に有効化されることを特徴とする請求項６乃至８のいずれか一項に記載の情報処理装置。
【請求項１０】
前記サービス要求手段は、前記フレームワークにインストールおよびアンインストールが可能なアプリケーションにより実現され、
前記サービス提供手段は、前記サービス要求手段を実現するアプリケーションの識別情報が、特別な権限を示す値であるか否かを優先的に判定し、特別な権限を示す値である場合には、前記サービス要求元にサービスの提供が許可されていると判定することを特徴とする請求項６乃至９のいずれか一項に記載の情報処理装置。
【請求項１１】
画像をスキャンするスキャン手段と、
画像を印刷するプリンター手段とを更に有し、
前記サービス提供手段により提供されるサービスは、前記スキャン手段または前記プリンター手段またはその両方を用いたサービスを含むことを特徴とする請求項１乃至１０のいずれか一項に記載の情報処理装置。
【請求項１２】
画像処理装置であって、
アプリケーションをインストールし、インストールしたアプリケーションを実行するためのアプリケーションフレームワークと、
スキャナ部と、
プリンター部とを有し、
前記アプリケーションフレームワークにインストールされたアプリケーションとして、前記画像処理装置の機能を外部のサーバーに提供するサービスプロバイダーと、
外部のサーバーにアクセスしてＷｅｂアプリケーションによるサービスを受けるＷｅｂブラウザーと、
前記Ｗｅｂアプリケーションによる前記画像処理装置によるサービスの提供が許可されるか否かを示す許可情報と前記Ｗｅｂアプリケーションのトップページにアクセスするための情報とを保持する連携許可アプリケーションと
を有し、
前記サービスプロバイダーは、前記Ｗｅｂアプリケーションにサービスの提供が許可されているかを、前記連携許可アプリケーションにより保持された許可情報、もしくは前記アクセスするための情報を参照して判定し、許可されていると判定した場合に、要求されたサービスを提供し、
前記Ｗｅｂブラウザーは、外部のサーバーにアクセスして表示画面情報を取得して表示することを特徴とする画像処理装置。
【請求項１３】
接続された外部のサーバーに対してサービスを要求できるサービス要求工程と、
前記外部のサーバーによる要求に応じて、サービスを前記外部のサーバーに提供するためのサービス提供工程と、
前記サービス提供工程によるサービスの提供を許可されたサービス要求元の識別情報を保持する、インストールおよびアンインストールが可能に構成された保持工程と
を有し、
前記サービス提供工程は、サービス要求元にサービスの提供が許可されているかを、前記保持工程により保持された識別情報を参照して判定し、許可されていると判定した場合に、要求されたサービスを提供し、
前記サービス要求工程では、外部のサーバーにアクセスして表示画面情報を取得して表示することを特徴とする情報処理装置における制御方法。
【請求項１４】
前記保持工程では、前記サービス要求元ごとに、該サービス要求元の識別情報に加えて、前記サービス要求工程によるサービス要求先の識別情報をさらに保持し、
前記サービス要求工程では、前記サービス要求先の識別情報に対してサービス要求のためにアクセスすることを特徴とする請求項１３に記載の情報処理装置における制御方法。
【請求項１５】
請求項１乃至１１のいずれか一項に記載の情報処理装置としてコンピューターを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置および、情報処理装置における制御方法およびプログラムと画像処理装置に関するものである。
【背景技術】
【０００２】
近年、画像処理装置にソフトウェアをインストールして機能を拡張させる環境が整備されてきている。このようなソフトウェア（本体アプリ）は外部のサービスと連携し、画像処理装置の機能を拡張することが可能になっている。従来技術として、画像処理装置が、外部サービスにアクセスする際に、外部サービスを認証して、認証された外部サービスのみ、利用することが提案されている（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開2015-230669号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１で開示している方法では、外部サービスにアクセスする際に、外部サービスを認証しているため、例えば、外部サービス（Webアプリ）による情報処理装置の利用はしないが、外部サービス（Webアプリ）にアクセスして画面情報を取得するというようなことができなかった。また、Webブラウザーから外部サービスにアクセスすることを想定した場合、閲覧だけを行うWebページ（例えば、企業のポータルサイト）にアクセスできないという課題があった。
本発明は、上記問題に鑑みてなされたものである。外部サービスへのアクセスは可能にしながら、外部サービスによる情報処理装置の利用を管理することを、本発明の目的とする。
【課題を解決するための手段】
【０００５】
上記目的を達成するために本発明は以下の構成を有する。
すなわち、接続された外部のサーバーに対してサービスを要求できるサービス要求手段と、
前記外部のサーバーによる要求に応じて、サービスを前記外部のサーバーに提供するためのサービス提供手段と、
前記サービス提供手段によるサービスの提供を許可されたサービス要求元の識別情報を保持する、インストールおよびアンインストールが可能に構成された保持手段と
を有し、
前記サービス提供手段は、サービス要求元にサービスの提供が許可されているかを、前記保持手段により保持された識別情報を参照して判定し、許可されていると判定した場合に、要求されたサービスを提供し、
前記サービス要求手段は、さらに、外部のサーバーにアクセスして表示画面情報を取得して表示することを特徴とする情報処理装置が提供される。
【発明の効果】
【０００６】
本発明によれば、外部サービスを変更せずに、外部サービスによる情報処理装置の利用を、情報処理装置に紐づくライセンスに基づき、管理できる。
【図面の簡単な説明】
【０００７】
【図１】本発明の好適な実施の形態に係る画像処理装置の一例であるMFPを備えるネットワークシステムを構成する図である。
【図２】画像処理装置（MFP）の装置構成例を示すブロック図である。
【図３】本発明の好適な実施の形態に係るソフトウェア構成を示すブロック図である。
【図４−１】本発明の好適な実施の形態に係る画像処理装置とＷｅｂサーバーのソフトウェア構成例を示すブロック図である。
【図４−２】本発明の好適な実施の形態に係る画像処理装置とＷｅｂサーバーのソフトウェア構成例を示すブロック図である。
【図５】本発明の好適な実施の形態に係る画像処理システムのシーケンス図である。
【図６】本発明の第一の実施の形態におけるサービスプロバイダーの基本フローである。
【図７】本発明の第二の実施の形態におけるサービスプロバイダーの基本フローである。
【図８】本発明の好適な実施の形態に係るアプリケーションの構造の一例を示す図である。
【図９】本発明の好適な実施の形態に係るライセンスファイルの一例を示す図である。
【図１０】本発明の好適な実施の形態に係るアプリケーションのインストール処理のフローチャートである。
【図１１】本発明の第三の実施の形態に係るアプリケーションの構造の一例を示す図である。
【図１２】本発明の第三の実施の形態に係る画像処理システムのシーケンス図である。
【図１３】本発明の第三の実施の形態に係る画像処理システムのシーケンス図である。
【図１４】本発明の第三の実施の形態に係る画像処理システムのシーケンス図である。
【図１５】本発明の第三の実施の形態におけるサービスプロバイダーの基本フローである。
【図１６】本発明の第三の実施の形態に係るＭＦＰの操作部に表示されるＧＵＩの一例を示す図である。
【図１７】本発明の第三の実施の形態に係るＭＦＰにおける処理の一例を示すフローチャートである。
【図１８】本発明の第三の実施の形態に係るＭＦＰのアプリケーション及びソフトウェアモジュールの構成を示す図である。
【発明を実施するための形態】
【０００８】
以下に、本発明を実施するための形態について図面を用いて説明する。ただし、この実施の形態に記載されている構成要素はあくまで例示であり、この発明の範囲をそれらのみに限定する趣旨のものではない。
【０００９】
［第一の実施形態］
＜システム構成例＞
図１は、本発明の好適な実施の形態に係る情報処理装置（すなわちコンピューター）である画像処理装置を備える画像処理システムを構成する図である。図１中、Ｗｅｂサーバー１００は、外部サービスを提供する情報処理装置である。このＷｅｂサーバー１００には、サービスとしてのＷｅｂアプリケーション１００１を有する。すなわち、Ｗｅｂサーバー１００はアプリケーションサービスを提供するアプリケーションサーバーということもできる。このアプリケーションサービスは、たとえばＭＦＰ１１０の機能を拡張するようなサービスである。Ｗｅｂアプリケーション１００１は、後述のＷｅｂブラウザーの指示により、Ｗｅｂブラウザーにコンテンツ情報を送付する。ライセンスサーバー１０１は、アプリケーションのライセンスを管理する情報処理装置である。ライセンスサーバー１０１はアプリケーションの情報、アプリケーションに割り当てられているプロダクトキー及びアプリケーションを有効化するライセンスファイルを、図示しない記憶部に保持する。さらにライセンスサーバー１０１はネットワーク１２０を介し、図示しない情報処理装置からライセンスファイルの要求を受け付ける手段を有し、要求に応じて要求元にライセンスファイルを送付する機能を有する。管理装置１０２は画像処理システムの管理を司る情報処理装置である。画像処理システムの管理者は、管理装置１０２を用い、ＭＦＰ１１０の設定・管理や、アプリケーションのインストールを行う。
【００１０】
ＭＦＰ（複合周辺装置）１１０は画像形成装置あるいは画像処理装置であり、各種アプリケーションをインストールすることが可能なデバイスである。本実施形態では画像処理装置或いは画像形成装置としているが、各種アプリケーションが動作可能なあらゆる情報処理装置が、本実施形態におけるデバイスになり得る。本実施形態では、説明の簡便のため、プリンター、画像スキャナ等の複数の機能を持つ複合機（ＭＦＰ）をデバイスの例とする。以降の説明において、ＭＦＰとはアプリケーションをインストールする画像処理装置を指す。ネットワーク１２０はインターネットなどのネットワークである。ＭＦＰ１１０は、ネットワーク１２０を介して、Ｗｅｂサーバー１００、管理装置１０２や図示しない情報処理装置と接続される。
【００１１】
図２はＭＦＰ１１０の装置構成例を示すブロック図である。図２において、制御部２０８は、ＣＰＵ２１０、ＲＯＭ２１１、及びＲＡＭ２１２を含み、ＭＦＰ１１０全体の動作を制御する。ＣＰＵ２１０は、ＲＯＭ２１１に記憶された制御プログラムを読み出して読取制御や送信制御などの各種制御処理を実行する。ＲＡＭ２１２は、ＣＰＵ２１０の主メモリ、ワークエリア等の一時記憶領域として用いられる。また、制御部２０８は、機能部２０１と接続され、操作表示部２０２、スキャナ部２０３、及びプリンター部２０４の動作を制御する。また制御部２０８はまた、Ｗｅｂブラウザーなど、インストールされたアプリケーションプログラム（デバイスアプリあるいは単にアプリと呼ぶ。）を実行する。
【００１２】
操作表示部２０２には、タッチパネル機能を有する液晶等の表示部やキーボード等が配置されている。操作表示部２０２には、Ｗｅｂブラウザー等の画面が表示される。プリンター部２０４は、制御部２０８から出力された画像データを印刷する。スキャナ部２０３は、原稿の画像を読み取って画像データを生成し、制御部２０８に出力する。インターフェース部２０６は、制御部２０８をネットワーク１２０に接続して外部の情報処理装置（不図示）から印刷用の画像データを受信したり、操作表示部２０２で表示する画面データを受信したりする。ＨＤＤ２０９は、画像データや各種プログラムを記憶する。なお、外部の情報処理装置から受信した印刷用の画像データは、画像メモリ２０７に一時的に格納され、制御部２０８を介してプリンター部２０４により印刷される。
【００１３】
＜ＭＦＰ１１０のソフトウェア構成＞
図３（ａ）は、本実施形態におけるＭＦＰ１１０のソフトウェア構造の一例を示す図である。図３（ａ）に示される各ソフトウェアは、ＲＯＭ２１１あるいはＨＤＤ２０９に格納され、ＣＰＵ２１０によって実行されるものとする。
ＯＳ（Ｏｐｅｒａｔｉｏｎ Ｓｙｓｔｅｍ）層３０１は、一般的にはリアルタイムＯＳが使用されるが、Ｌｉｎｕｘ（登録商標）等の汎用ＯＳを用いても良い。
ＪａｖａＶＭ３０２は、Ｊａｖａ（登録商標）などの仮想マシンであり、アプリケーションの実行環境を提供する。
アプリケーションフレームワーク３０３は、アプリケーションのライフサイクルを管理する機能を提供する。Ｎａｔｉｖｅ機能部３０４は、ＭＦＰ１１０に組み込まれた機能を提供する。インターフェース部２０６を介して受信した印刷データに基づき、プリンター部２０４で印刷を行う機能がＮａｔｉｖｅ機能の一例である。インストールされたアプリケーションは、ＭＦＰ１１０により提供されるネイティブ機能３０４を利用できる。図３（ａ）の例では、アプリケーションとして、Ｗｅｂブラウザー３０５、インストーラサービス３０６、連携許可アプリケーション３０７、サービスプロバイダー３０８がインストールされている。インストールされたアプリケーションは、必要に応じてアンインストールすることもできる。
Ｗｅｂブラウザー部３０５（Ｗｅｂブラウザー３０５とも呼ぶ。）は、ＭＦＰ１１０に搭載されたウェブブラウザーを機能させるものである。Ｗｅｂブラウザー部３０５は、操作表示部２０２にハイパーテキスト型の情報を表示したり、操作表示部２０２から入力された操作情報等をＷｅｂサーバー１００へ送信する等を行うことができる。また、Ｗｅｂブラウザー部３０５は、Ｗｅｂサーバー１００から受信したスクリプトを実行することもできる。このようにＷｅｂブラウザー部３０５は、Ｗｅｂサーバー１００や図示しない情報処理装置から受信したＨＴＭＬファイルを解析し、解析したＨＴＭＬファイルの記述に基づく操作画面を操作表示部２０２に表示する。また、Ｗｅｂブラウザー部３０５は、そのリクエスト先をＷｅｂアプリケーション１００１とすることで、Ｗｅｂアプリケーション１００１に対してサービス要求するサービス要求元となる。
【００１４】
インストーラサービス３０６は、複数のアプリケーションを、アプリケーションフレームワーク３０３に登録することでインストール処理を行う。インストールされたアプリケーションを有効化するためには、ＭＦＰ１１０へのライセンスファイルのインストールを必要とする。ライセンスファイルをインストールしないとアプリケーションは、図示しないアプリケーション管理機能によって動作を停止させられる。インストーラサービス３０６は、このライセンスのインストールも行う。ライセンスファイルはライセンスサーバー１０１により発行される。ライセンスファイルには、対象アプリケーションの識別情報と、アプリケーションのインストール先のＭＦＰを識別する情報を埋め込む。ＭＦＰを識別する情報とは、例えばＭＦＰのシリアル番号である。他のＭＦＰに対して同じアプリケーションをインストールするには、該当するＭＦＰの識別情報を埋め込んだライセンスファイルのインストールが必要となる。これにより、ソフトウェアの無断複製が防止可能となっている。
【００１５】
連携許可アプリケーション３０７は、インストーラサービス３０６によってインストールされたアプリケーションであり、ＭＦＰ１１０上で様々な機能を提供する。連携許可アプリケーション３０７はＭＦＰ１１０の外部からダウンロードしてインストールすることが可能である。連携許可アプリケーション３０７は、操作表示部２０２を介してユーザーとやり取りを行うことが可能である。また、連携許可アプリケーション３０７は、Ｎａｔｉｖｅ機能部３０４を介して、スキャナ部２０４を使って画像データを生成することも可能である。
サービスプロバイダー３０８は、Ｗｅｂブラウザー３０５を介して指示されたジョブの実行を制御する。例えば、Ｗｅｂブラウザー３０５を介して印刷の指示を受けると、サービスプロバイダー３０８は、Ｎａｔｉｖｅ機能部３０４を介し、プリンター部２０４の制御を行い、印刷ジョブの実行を行うことができる。このようにサービスプロバイダー３０８は、ＭＦＰ１１０の外部たとえばＷｅｂアプリケーション１００１に対してＭＦＰ１１０の機能をサービス提供するサービス提供部である。
【００１６】
なお、本実施形態では、ＪａｖａＶＭ３０２、アプリケーションフレームワーク３０３、インストーラサービス３０６、Ｗｅｂブラウザー３０５、連携許可アプリケーション３０７、サービスプロバイダー３０８はＨＤＤ２０９に格納されているものとする。また、Ｎａｔｉｖｅ機能３０４はＲＯＭ２１０に格納されているものとする。
【００１７】
図４−１（ａ）は、本発明の第一の実施例における画像処理装置（ＭＦＰ）とＷｅｂサーバーのソフトウェア構成例を示すブロック図である。図４−１（ａ）記載の各機能部は、ＭＦＰ１１０が有しているＣＰＵ２１０や、Ｗｅｂサーバー１００が有している図示しないＣＰＵが制御プログラムを実行することにより実現される。なお、以下では、画像処理システム特に画像処理装置のソフトウェア構成について説明するが、これらの機能ブロックはハードウェアや、ハードウェアとソフトウェアの組み合わせによって実現されてもよい。
【００１８】
Ｗｅｂブラウザー３０５及びサービスプロバイダー３０８及び連携許可アプリケーション３０７のそれぞれは、ＭＦＰ１１０が有しているＣＰＵ２０１が制御プログラムを実行することにより実現される。なお、Ｗｅｂブラウザー３０５とＷｅｂサーバー１００とは、プロトコルを共有してコンテンツの要求／提供が可能なものであれば他のプロトコルに従うクライアント／サーバーであってもよい。すなわち、Ｗｅｂサーバー１００のコンテンツを表示するものに限定するものではない。同様に、Ｗｅｂサーバー１００もＨＴＴＰプロトコルに従ってリクエスト／レスポンスを送受信するＷｅｂサーバーに限定するものではない。したがって、Ｗｅｂブラウザー３０５は、サーバーと通信を行うことによってコンテンツを取得し、画面に表示するといった機能を有するクライアントであればよい。ここで、コンテンツとは、ＭＦＰ１１０が操作表示部２０２に表示する表示画面の情報を示す。
【００１９】
Ｗｅｂブラウザー３０５は、通信部４２１、解析部４２２、及び画面表示部４２３を備える。通信部４２１は、ＨＴＴＰプロトコルに従って、Ｗｅｂサーバー１００のＷｅｂアプリケーション１１０におけるプレゼンテーション部４１１と通信を行う。より具体的には、通信部４２１は、Ｗｅｂブラウザー３０５で表示した操作画面を介して入力される情報をＷｅｂアプリケーション１１０に対するリクエストとして送信する。また、通信部４２１は、Ｗｅｂアプリケーション１１０から送信されるレスポンス（処理結果）を受信する。Ｗｅｂブラウザー３０５がリクエスト送信およびレスポンス受信を行っている相手先であるＷｅｂアプリケーション１１０のアドレス（ＵＲＬ）はＷｅｂブラウザー３０５内部で保持している。相手のＵＲＬは、インストール済のアプリケーションや後述のサービスプロバイダー３０８からの求めに応じ、いつでも提供可能とする。
【００２０】
解析部４２２は、Ｗｅｂアプリケーション１００１から受信したレスポンスを解析する。レスポンスの中にはＷｅｂブラウザー３０５に表示すべき操作画面の内容を示す記述であるＨＴＭＬデータが含まれている。画面表示部４２３は、表示制御手段として機能し、解析部４２２によるＨＴＭＬデータ（表示画面情報）の解析結果に基づいて、操作表示部２０２にＨＴＭＬデータやスクリプト等に応じた画面を表示する。
【００２１】
サービスプロバイダー３０８は、通信部４３１、ジョブ生成部４３２、コンテンツ生成部４３３、及び許可ＵＲＬ検証部４３４を備える。通信部４３１は、Ｗｅｂアプリケーション１００１内のロジック部４１２から処理依頼を受け付ける。また、通信部４３１は、ＭＦＰ１１０の通信部４２１からリクエストを受けた場合、後述のコンテンツ生成部４３３によって生成されたコンテンツ情報（ＨＴＭＬデータ）をレスポンスとして返す。ジョブ生成部４３２は、通信部４３１が受け付けた処理依頼を受け取り、依頼された処理を実行するためのジョブを生成して実行する。コンテンツ生成部４３３は、通信部４３１がＭＦＰ１１０の通信部４２１からリクエストを受けた場合に、Ｗｅｂブラウザー３０５が画面表示を行うためのコンテンツ情報（ＨＴＭＬデータ）を生成する。また、コンテンツ生成部４３３は、動的にコンテンツを生成せず、ＨＤＤ２０９等の記憶装置に予め記憶したコンテンツを参照して使用してもよい。許可ＵＲＬ検証部４３４は、通信部４３１が処理依頼を受けたときに、依頼元のＵＲＬが後述の許可ＵＲＬと一致するか判定し、一致する場合はジョブ生成部４３２にジョブの生成を許可する。一致しない場合は、ジョブの生成を許可しない。
【００２２】
連携許可アプリケーション３０７は、ＭＦＰ１１０にインストールされたアプリケーションである。連携許可アプリケーション３０７は、サービスプロバイダー３０８によるジョブ生成を管理するためにＭＦＰ１１０にインストールされた。連携許可アプリケーション３０７が有する許可ＵＲＬ４４１の情報は、他のアプリケーションやサービスプロバイダー３０８から参照可能な情報であり、許可ＵＲＬ検証部４３４によって、ジョブの生成許可の判断基準として使われる。これはＭＦＰ１１０の資源を利用する権限を有するＷｅｂアプリケーションの識別情報といってもよいし、その利用を認める許可情報といってもよい。
【００２３】
＜ファイルの内容＞
次に図８を用いて、アプリケーションファイルについて説明する。アプリケーションファイルとは、アプリケーションプログラムのファイル（圧縮済みでもよい）およびそのメタデータファイルを含むファイルである。図８において、アプリケーションファイル８００は、ＣＡＢファイルや、ＪＡＲ（Ｊａｖａ（登録商標）ＡＲｃｈｉｖｅ）ファイル、ＺＩＰファイルのように複数のファイルを圧縮した１ファイルで構成されている。アプリケーションファイル８００の内部にはマニフェストファイル８０１、およびアプリケーションプログラム８０２が含まれる。マニフェストファイル８０１には、アプリケーション名や、本アプリケーションを一意に識別すためのアプリケーションＩＤ、バージョンなどのアプリケーション付属情報を記載する。マニフェストファイル８０１はインストーラサービス３０６によって、インストール時に読み込まれる。インストールされたアプリケーションのマニフェストファイル８０１に記載された情報は、アプリケーションフレームワーク３０３を介して、他のインストール済アプリケーションや、サービスプロバイダー３０８から参照可能とする。アプリケーションファイル８００内のアプリケーションプログラム８０２は、第三者によるプログラムの改ざんなどを防止するため暗号化されている。アプリケーションファイル８０２は、ＣＤなどの記録媒体や、インターネットなどのメディアを介して使用者に配布され、インストール対象のＭＦＰで解読されて実行される。アプリケーションファイル８０２は復号されたのちにアプリケーションフレームワーク３０３上にインストールされる。
【００２４】
本実施形態では、マニフェストファイル８０１に記述する項目を下記のように定義する。
アプリケーション名８０１１は、アプケーションの名称を表す。
アプリケーションＩＤ８０１２は、アプリケーションを一意に特定するための識別子を表す。
アプリケーションタイプ８０１３は、アプリケーションの種別を表す。例えば、値１００は、外部サービスからＭＦＰの利用（連携）を許可するために用いられるアプリケーション、すなわち本実施形態における連携許可アプリケーション３０７を表す。
バージョン８０１４は、アプリケーションのバージョンを表す。
サービスホスト８０１５は、サービスを提供しているサーバーのアドレスをＵＲＬ形式で表す。連携許可アプリケーション３０７に関しては、本項目に記載されたアドレスが許可ＵＲＬ４４１である。すなわち、本項目で示されるアドレスのサービスは、当該連携許可アプリケーション３０７がインストールされたＭＦＰの利用を許可される。本項目はアプリケーション開発者によって、アプリケーション作成時に設定される。
【００２５】
図９（ａ）はアプリケーションを有効にするためにＭＦＰ１１０にインストールするライセンスファイルの一例を示す図である。本実施形態では、ライセンスファイルに記述する項目を以下のように定義する。
図９（ａ）中、ライセンスＩＤ９０１はライセンスを識別するためにユニークなＩＤを表す。ライセンスの種類には、起動回数や期間に制限のあるお試しライセンスや、同時起動等の機能に制限がある制限ライセンス、一切の制限のないライセンス等がある。
図９（ａ）中、アプリケーションＩＤ９０２には、ライセンスの設定対象であるアプリケーションを一意に識別するアプリケーションＩＤを表す。図９（ａ）中、有効期間９０３には本ライセンスが対象とするアプリケーションを使用可能な期間を表す。図９中、デバイスＩＤ９０４は、本ライセンスが対象とするアプリケーションがインストール可能なＭＦＰを一意に識別するデバイスＩＤを表す。図９（ａ）中、復号化データ９０５は、ライセンス対象のアプリケーションの暗号化されたアプリケーションプログラム８０２を復号するための情報等が格納される。インストーラサービス３０４は、ライセンスファイル記載の情報に基づきアプリケーションが有効であるか無効であるかを判断する。以下の条件がすべて成り立つときは、アプリケーションのライセンスを有効にするものとする
・ライセンスファイル記載のアプリケーションＩＤ９０２と、対象アプリケーションのマニフェストファイル記載のアプリケーションＩＤ８１０２が一致する。
・ライセンスファイル記載の有効期間９０３が過ぎていない。
・ライセンスファイル記載のデバイスＩＤ９０４と、インストール対象のＭＦＰから取得したデバイスＩＤが一致する。
【００２６】
＜アプリケーションのインストール処理＞
次に、図１０を参照して、本実施形態におけるアプリケーションのインストール処理の一例について説明する。インストールするアプリケーションのインストールプログラムと、インストールに必要な各種設定値は管理者によって管理装置１０２に渡されているものとする。この手順でインストールされるアプリケーションには、たとえばサービスプロバイダー３０８や、Ｗｅｂブラウザー３０５、連携許可アプリケーション３０７なども含まれる。
Ｓ１０００で、管理装置１０２はＭＦＰ１１０からデバイス識別情報を取得する。デバイス識別情報とは、画像処理装置を一意に識別する情報である。例えば、シリアル番号である。
次にＳ１００１で、管理装置１０２はライセンスサーバー１０１にアプリケーション識別情報とデバイス識別情報とを送付する。アプリケーション識別情報とは、アプリケーションＩＤ、アプリケーション名、バージョン等である。
次にＳ１００２で、ライセンスサーバー１０１は予め定められた方法に基づきライセンスファイルを管理装置１０２に送付する。ライセンスサーバーはＳ１００１で受け取ったアプリケーション識別情報、デバイス識別情報を図９（ａ）中のアプリケーションＩＤ９０２、デバイスＩＤ９０４に設定し、ライセンスファイルを作成する。作成したライセンスファイルを管理装置１０２に送付する。
次にＳ１００３で、管理装置１０２はアプリケーションのインストールプログラムと、Ｓ１００２で取得したライセンスファイルとを、ＭＦＰ１１０のインストーラサービス３０６に送付する。
次にＳ１００４で、ＭＦＰ１１０はインストールする。すなわち、ＭＦＰ１１０のインストーラサービス３０６はＳ１００３で受け取ったインストールプログラムを起動し、アプリケーションファイルを、アプリケーションフレームワーク３０３に登録する。
次にＳ１００５でＭＦＰ１１０は、インストールしたアプリケーションをアクティベート（有効化）する。すなわち、ＭＦＰ１１０のインストーラサービス３０６は、Ｓ１００３で取得したライセンスファイル記載の情報と、ＭＦＰ１１０のデバイス情報およびＳ１００４でインストールしたアプリケーションの情報との比較を行う。例えば、Ｓ１００３で取得したライセンスファイル記載のデバイスＩＤ９０５の値と、ＭＦＰ１１０から取得したデバイスＩＤとが異なると、不正のインストールと見做し、アクティベートを失敗とする。アクティベート失敗のときは、アプリケーションフレームワーク３０３に登録済のアプリケーションは起動をすることができない。同様にＳ１００３で取得したライセンスファイル記載のアプリケーションＩＤ９０３と、Ｓ１００４でインストールしたアプリケーションのアプリケーションＩＤが異なるときも、アクティベート失敗とする。
Ｓ１００５でアクティベートに成功したときはＳ１００６で、ＭＦＰ１１０は管理装置１０２にアクティベーション成功を返す。例えば、管理装置１０２の図示しないＷｅｂブラウザーにアプリケーションの成功を意味する情報を送付することで、管理装置１０２の図示しないＷｅｂブラウザーはインストール成功を管理装置１０２に通知する。
Ｓ１００５でアクティベートに成功しなかったときはＳ１００７で、ＭＦＰ１１０は管理装置１０２にアクティベーション失敗を返す。例えば、管理装置１０２の図示しないＷｅｂブラウザーにアプリケーションの失敗を意味する情報を送付することで、ユーザーにインストール失敗を通知する。
Ｗｅｂブラウザーは通常、ＨＴＴＰリクエストに対するレスポンスを受信する。このことから、管理装置１０２のＷｅｂブラウザーを用いる場合、たとえばＳ１００３の直後にインストールが成功したか失敗したかを示すＵＲＬに対するリクエストを管理装置１０２がＭＦＰ１１０に送信し、それに対する応答としてインストールの失敗／成功を管理装置１０２に返すよう構成してもよい。また管理装置１０２にスクリプトを送信し、そのスクリプトによりインストールの失敗／成功を受信させてもよい。もちろんＨＴＴＰを用いずにインストール結果を通知してもよい。
【００２７】
そして、Ｗｅｂアプリケーション１０１によるサービスプロバイダー３０８等のデバイスアプリケーションの利用を許可する場合には、Ｗｅｂブラウザー３０５がＷｅｂアプリケーション１０１にアクセスするためのＵＲＬをマニフェストファイル８００に記載した連携許可アプリケーション３０７が登録されている必要がある。連携許可アプリケーション３０７は、デバイスアプリケーションを利用するＷｅｂアプリケーションごとにひとつずつインストールされてもよいし、ひとつの連携許可アプリケーション３０７のマニフェストファイルに、デバイスアプリケーションを利用する１又は複数のＷｅｂアプリケーションのＵＲＬを記載してもよい。
【００２８】
＜画像処理装置における手順＞
次に、図５を参照して、本実施形態における画像処理装置における一連の処理について説明する。本シーケンスは、ＭＦＰ１１０のＷｅｂブラウザー３０５がユーザーによって起動されることにより開始される。なお、Ｗｅｂブラウザー３０５とＨＴＴＰリクエスト／レスポンスを交換するのはＷｅｂサーバー１００であり、Ｗｅｂアプリケーション１００１はＷｅｂサーバー１００を介してリクエスト／レスポンスをＷｅｂブラウザーと交換する。しかし図５ではＷｅｂサーバー１００の介在は省略し、Ｗｅｂブラウザー３０５はＷｅｂアプリケーション１００１と直接通信しているかのように記載し、また説明する。まず、Ｓ５００において、Ｗｅｂブラウザー３０５は、ＨＴＴＰリクエストをＷｅｂサーバー１００のＷｅｂアプリケーション１００１に行う。このときＨＴＴＰリクエストの宛先はＷｅｂアプリケーション１００１ごとに決められたＷｅｂアプリケーション対応ＵＲＬである。リクエストを受けたＷｅｂアプリケーション１００１は、Ｓ５０１において、Ｗｅｂブラウザー３０５で表示する画面のＨＴＭＬコンテンツ（表示画面情報）をＨＴＴＰレスポンスとして返す。例えば、ＨＴＴＰリクエストが印刷設定画面の要求である場合は、Ｗｅｂアプリケーション１００１は、スキャン設定画面表示用のＨＴＭＬをレスポンスする。
ユーザーがＷｅｂブラウザー３０５により操作表示部２０２に表示されたコンテンツを操作すると、Ｓ５０２において、Ｗｅｂブラウザー３０５は、当該操作に従ってＷｅｂアプリケーション１００１に対して、サービスプロバイダー３０８への機能実行を要求するＨＴＴＰリクエストを送信する。ここで、例えば、コンテンツの操作としてユーザーがスキャン実行ボタンを押下したのであれば、スキャンの実行を要求するＨＴＴＰリクエストをＷｅｂブラウザー３０５はＷｅｂアプリケーション対応ＵＲＬを宛先として送信する。そのリクエストに応じてＷｅｂアプリケーション１００１は、Ｗｅｂブラウザー３０５によりスキャンの実行を要求されたと判断する。リクエストには、要求された機能を実行するＭＦＰのサービスプロバイダー３０８の宛先を示す情報が含まれていてもよい。
【００２９】
Ｓ５０３において、Ｗｅｂアプリケーション１００１は、Ｗｅｂブラウザー３０５に対して、画面表示用のＨＴＭＬコンテンツをレスポンスする。ここでレスポンスするコンテンツは、処理実行中をユーザーに知らせるＨＴＭＬコンテンツである。
Ｓ５０４において、Ｗｅｂアプリケーション１００１は、サービスプロバイダー３０８に機能実行指示を行う。例えば、Ｓ５０２でユーザーによってスキャン実行の指示をされた場合は、サービスプロバイダー３０５にスキャンの指示を行う。この機能実行指示の送信は、ロジック部４１２とサービスプロバイダー３０８との間であるので、ＨＴＴＰでなくともよい。あるいはサービスプロバイダー３０８にＷｅｂサーバー機能を持たせ、ＨＴＴＰリクエストとして送信してもよい。また、Ｗｅｂアプリケーション１００１はＭＦＰ１１０による要求に応じてアプリケーションサービスを提供するので、Ｗｅｂアプリケーション１００１がＭＦＰによるサービスを必要とする場合には、アプリケーションサービスの要求元のＭＦＰに対してサービスを要求するものとする。すなわち、Ｗｅｂアプリケーション１００１に対するサービス要求元のＭＦＰが、Ｗｅｂアプリケーション１００１によるサービス要求先のＭＦＰとなる。
Ｓ５０５において、サービスプロバイダー３０８は、Ｗｅｂブラウザー３０５から接続ＵＲＬを取得する。すなわち、直前のＳ５０３でレスポンスを送信したＷｅｂアプリケーション１００１のＵＲＬを取得する。
次にＳ５０６において、サービスプロバイダー３０８は、連携許可アプリケーション３０７が保持する許可ＵＲＬを取得する。
次にＳ５０７において、サービスプロバイダー３０８は、Ｓ５０５およびＳ５０６で取得したＵＲＬが一致するか判定する。
Ｓ５０７で一致すると判定したときはＳ５０８において、サービスプロバイダー３０８はジョブを実行する。例えば、Ｓ５０２でユーザーによってスキャン実行の指示をされた場合は、スキャンのジョブを生成し、スキャンを実行する。スキャンにより生成された画像データは、ジョブ実行要求に応じて、たとえばＷｅｂアプリケーション１０１に送信されたり、あるいはＭＦＰ１１０の格納部に格納されたりする。
Ｓ５０７で一致すると判定しなかったときはＳ５０９において、サービスプロバイダー３０８は、Ｗｅｂアプリケーション１００１にエラーを通知する。例えば、ライセンス違反を意味するエラーコード情報を、予め定められた方法で通知する。
【００３０】
上記例では機能としてスキャンを用いたが、サービスプロバイダー３０８を介してＷｅｂアプリケーション１０１に対して提供される機能であればどのような機能にも上記手順は適用可能である。
【００３１】
＜サービスプロバイダーによる処理手順＞
次に、図６を用いてサービスプロバイダー３０８の基本フローを説明する。なお、以下で説明する処理は、ＣＰＵ２１０でＨＤＤ２０９等の記憶装置から読みだしたプログラムを実行することで実現される。
Ｓ６０１で、サービスプロバイダー３０８は、Ｗｅｂアプリケーション１００１からジョブ実行の指示を受け付ける（図５のＳ５０４に相当）。ジョブに関する詳細情報は、Ｗｅｂアプリケーションからサービスプロバイダー３０８に適宜伝わっているものとする。
次にＳ６０２で、サービスプロバイダー３０８は、Ｗｅｂブラウザー３０５から接続先ＵＲＬを取得する。本ステップは図５におけるＳ５０５に相当する。
次にＳ６０３で、サービスプロバイダー３０８は、連携許可アプリケーション３０７から許可ＵＲＬを取得する。本ステップは図５におけるＳ５０６に相当する。
Ｓ６０４で、サービスプロバイダー３０８は、ＵＲＬが一致するか判断する。すなわち、Ｓ６０２およびＳ６０３で取得した２つのＵＲＬが同じ場合は、ＵＲＬが一致すると判断する。本ステップは図５におけるＳ５０７に相当する。
Ｓ６０４でＵＲＬが一致すると判断したときは、Ｓ６０５でサービスプロバイダー３０８は、ジョブを実行する。すなわちＳ６０１でＷｅｂアプリケーション１００１から指示されたジョブを実行する。本ステップは図５におけるＳ５０８に相当する。
Ｓ６０４でＵＲＬが一致しないと判断したときは、Ｓ６０６でサービスプロバイダー３０８は、Ｗｅｂアプリケーション１０１に対してエラー通知する。すなわち、Ｓ６０１で受け付けたジョブ実行指示の送付元であるＷｅｂアプリケーション１００１に、予め定められた方法を用いてエラー情報を通知する。本ステップは図５におけるＳ５０９に相当する。
【００３２】
以上説明したように、第一の実施の形態における画像処理システムでは、Ｗｅｂアプリケーションからの画像処理装置の利用を簡単に管理できる。すなわち、Ｗｅｂアプリケーションから画像処理装置へのジョブ実行指示があった場合、該当ＷｅｂアプリケーションのＵＲＬを持つ連携許可アプリケーションがインストール済の場合に限り、ジョブを実行することができる。特定のＷｅｂアプリケーションに画像処理装置の利用を許可したいときは、該当ＷｅｂアプリケーションのＵＲＬを持つ連携許可アプリケーションをインストールすることで利用許可することが可能となる。また、利用を許可から不許可にしたいときは、インストール済の該当アプリケーションをアンインストールすれば、不許可にするこができる。ＷｅｂブラウザーやＷｅｂアプリケーションおよびＷｅｂサーバーに特別な変更を施すことないため、画像処理装置からＷｅｂアプリケーションへの通信や、画像処理装置の利用を伴わないＷｅｂアプリケーションからの通信は制限されない。
【００３３】
以上はジョブの実行に限らない。Ｗｅｂアプリケーションから画像処理装置の資源を利用する場合には、利用が許可されたＷｅｂアプリケーションの識別情報（例えばＵＲＬ）を有する連携許可アプリケーションを画像処理装置にインストールしておく。サービスプロバイダーは、その連携許可アプリケーションの持つ識別情報を参照することで、Ｗｅｂアプリケーションが画像処理装置の資源にアクセスする権限を持つか否かを判断できる。またサービスとしてスキャンを例に挙げたが、ＭＦＰ１１０により提供できるプリンターの機能や、スキャンおよびプリンターの両方の機能、ファクシミリやデータ保管ボックスなどの機能を提供することもできる。
【００３４】
［第二の実施形態］
画像処理装置を利用するＷｅｂアプリケーションが増えると、その都度、連携許可アプリケーションのインストールが必要になり、管理者による管理工数を増大させることとなる。画像処理システムに特別な権限を用意し、この特別な権限を持つシステムでは、連携許可アプリケーションがなくともＷｅｂアプリケーションから画像処理装置の利用を許可する改良が考えられる。説明の簡便のため、第一の実施の形態と異なる点のみ説明する。図４−１（ｂ）、図７、図９（ｂ）を用いて説明する。
【００３５】
Ｗｅｂブラウザー３０５のライセンスファイルによって特別な権限を付与する例を説明する。Ｗｅｂブラウザー３０５と共にインストールされたライセンスファイルのライセンスＩＤによって、画像処理システムに付与する権限を指定することができる。図９（ｂ）は特別な権限を持つＷｅｂブラウザー３０５のライセンスファイルの一例である。ライセンスＩＤ９１１は、特別な権限を意味する値が設定されている。この特別な権限を示すライセンスファイルと共にＷｅｂブラウザー３０５をインストールされた画像処理装置１１０は特別な権限を持つものとする。特別な権限（以下、特別権限と呼ぶ。）とは、画像処理装置１１０を利用するＷｅｂアプリケーション１００１に制限を設けないというものである。つまり、この特別な権限を有するアプリケーション、特にＷｅｂブラウザー３０５からリクエストによりサービスを提供するＷｅｂアプリケーション１００１は、どんなＷｅｂアプリケーションでも画像処理装置１１０を利用することができ、利用にあたり連携許可アプリケーション３０５のインストールを必要としない。
【００３６】
＜ソフトウェア構成例＞
図４−１（ｂ）は、本発明の第二の実施例における画像処理装置（ＭＦＰ）とＷｅｂサーバーのソフトウェア構成例を示すブロック図である。
ライセンス検証部４３５は、通信部４３１がＷｅｂアプリケーション１００１から処理依頼を受けたときに、Ｗｅｂブラウザー３０５のライセンスが、Ｗｅｂアプリケーション１００１から画像処理装置１１０を使わせるための特別権限であるか判定する。特別権限がある場合はジョブ生成部４３２にジョブの生成を許可する。特別権限がない場合は、許可ＵＲＬ検証部４３４にジョブの生成を許可判定させる。これは第１実施形態で説明した通りである。Ｗｅｂブラウザー３０５のライセンスは、アプリケーションフレームワークを介して、他のインストール済アプリケーションや、サービスプロバイダー３０８から参照可能とする。
【００３７】
＜サービスプロバイダーの基本フロー＞
図７は、第二の実施例におけるサービスプロバイダー３０８の基本フローである。Ｓ６０１〜６０６は、図６のフローにおけるＳ６０１〜６０６と同じである。
Ｓ６０１でサービスプロバイダー３０８は、Ｗｅｂアプリケーション１００１からジョブ実行指示を受け付ける。なお図７の手順はジョブ実行指示の受信をきっかけに開始されてもよい。それは図６も同様である。
Ｓ７０１でサービスプロバイダー３０８は、特別権限があるか判定する。すなわち、サービスプロバイダー３０８は、Ｗｅｂブラウザー３０５のライセンスファイルのライセンスＩＤ９１１を調べ、特別権限を意味する値が設定されている場合は、特別権限があると判断する。
Ｓ７０１でＷｅｂブラウザー３０５に特別権限があると判断したときは、Ｓ６０５でサービスプロバイダー３０８はＷｅｂアプリケーション１００１から指示されたジョブを実行する。
Ｓ７０１で特別権限があると判断しなかったときは、図６のＳ６０２〜Ｓ６０６の処理を実行する。このように、Ｓ７０１において、実施形態１で説明した連携許可の判定以前に、本実施形態では特別権限を優先的に判定し、特別権限があればサービスの提供を許可する。
説明の簡便のため、画像処理システムの特別権限の判断手段としてライセンスファイルによるものを例にとり説明したが、これに限られるものではない。Ｗｅｂブラウザーの製品名やバージョンによって判断してもよい。また、Ｗｅｂブラウザーではなく、他の機能を有するアプリケーションのライセンスを特別権限の判断基準にしてもよい。
【００３８】
以上説明した通り、第二の実施の形態における画像処理システムでは、連携許可アプリケーションをインストールすることなく、Ｗｅｂアプリケーションから画像処理装置利用の許可することができる。よって、特別権限を持つ画像処理システムでは、Ｗｅｂアプリケーション毎に連携許可アプリケーションのインストールの必要がなくなり、管理者のアプリケーション管理負荷が軽減する。
【００３９】
［第三の実施形態］
第一の実施形態ではＷｅｂアプリケーションに接続するためにステップＳ５００でＷｅｂアプリケーション１０１ごとに決められたＷｅｂアプリケーション対応ＵＲＬに対してＨＴＴＰリクエストを行う必要があった。しかし、接続しようとするＷｅｂアプリケーション対応ＵＲＬが連携許可されているか否か（Ｗｅｂアプリケーション対応ＵＲＬに対応する連携許可アプリケーションがインストールされているか否か）は、図５のシーケンスにおけるステップＳ５０７まで実施しないと分からない。また、ユーザーは、Ｗｅｂアプリケーション１０１ごとに決められたＷｅｂアプリケーションＵＲＬをあらかじめ知っておく必要がある。そこで、本実施形態では、連携許可アプリケーションにＷｅｂアプリケーションへの接続機能を持たせる改良を、実施形態１あるいは実施形態２で説明した構成に施す。本実施形態でも、システム構成およびＭＦＰのハードウェア構成は図１、図２にそれぞれ示したとおりであり、それに関しては、実施形態１と同様であるため説明を省略する。
【００４０】
図３（ｂ）は、図３（ａ）と同様に、本実施形態におけるＭＦＰ１１０のソフトウェア構造の一例を示す図である。図３（ａ）との差異点は、複数の連携許可アプリケーション４５０，４６０が存在する点と、メニューアプリ３１０が存在する点である。なお以下の説明では連携許可アプリケーション４５０について説明するが、連携許可アプリケーション４６０あるいは他の連携許可アプリケーションについても同様である。
【００４１】
＜ＭＦＰとＷｅｂサーバーのソフトウェア構成例＞
図４−２は、本発明の第三の実施例における画像処理装置（ＭＦＰ）とＷｅｂサーバーのソフトウェア構成例を示すブロック図である。なお、特に記載がない場合は、前述の図４−１（ａ），図４−１（ｂ）と構成やブロックは、同じ役割を持つ。前述した図４−１と図４−２の違いは、連携許可アプリケーションの中に、ＷｅｂアプリケーションのＵＲＬを複数保持することが可能である点である。図４−２の連携許可アプリケーション４５０は、許可ＵＲＬ４４１とＷｅｂアプリケーション対応ＵＲＬ４５１というふたつのＵＲＬを保持する。許可ＵＲＬ４４１は、第一の実施形態で説明したように連携許可された、すなわちＭＦＰ１１０の資源へのアクセスが許可されたＷｅｂアプリケーションか否かを確認するために使用するＵＲＬである。Ｗｅｂアプリケーション対応ＵＲＬ４５１は、Ｗｅｂアプリケーションの入り口となるトップページのＵＲＬ（以降、トップページＵＲＬとも呼ぶ）である。また、トップページＵＲＬは、許可ＵＲＬ４４１と同様、連携許可されたＷｅｂアプリケーションか否かを確認するためにも使用する場合がある。ふたつのＵＲＬのうち、Ｗｅｂアプリケーション対応ＵＲＬ４５１は必須である。Ｗｅｂアプリケーション対応ＵＲＬと許可ＵＲＬのドメインとパスが同じ場合、許可ＵＲＬ４４１は省略することが可能である。すなわち、Ｗｅｂアプリケーション対応ＵＲＬ４５１のみが含まれている場合には、Ｗｅｂアプリケーション対応ＵＲＬ４５１は許可ＵＲＬでもあると判断できる。一方、Ｗｅｂアプリケーション対応ＵＲＬと許可ＵＲＬのドメインやパスが異なる場合、許可ＵＲＬは省略できない。例えば、トップページを認証のためのサブドメイン（例：ａｕｔｈ．ｍｙｓｉｔｅ．ｏｒｇ）、Ｗｅｂアプリケーションを専用のサブドメイン（例：ａｐｐ１．ｍｙｓｉｔｅ．ｏｒｇ）で提供する場合、Ｗｅｂアプリケーション対応ＵＲＬ（すなわちトップページＵＲＬ）と許可ＵＲＬを両方指定しておく必要がある。
【００４２】
＜連携許可アプリケーション４５０のソフトウェア＞
図１８は実施形態に係る連携許可アプリケーション４５０のソフトウェアモジュールの構成を示す図である。ここでも説明は連携許可アプリケーション４５０を対象とするが、他の連携許可アプリケーションも同様である。連携許可アプリケーション４５０は、Ｗｅｂアプリごとに必要となる設定情報をマニフェストファイル１８０１に保持する。つまり、ひとつのＷｅｂアプリに対して、ひとつの連携許可アプリケーションが必要となる。ＭＦＰ１１０には、使用するＷｅｂアプリに応じた連携許可アプリケーションをインストールする。複数のＷｅｂアプリを使用する場合、複数の連携許可アプリケーションをＭＦＰ１１０にインストールする。その場合、複数の連携許可アプリケーションは、ひとつのＷｅｂブラウザー３０５を共有して使用することになる。図１８に提示したこれらソフトウェアモジュールは、ＭＦＰ１１０のＨＤＤ２０９に格納され、実行時にはＲＡＭ２１２に展開されてＣＰＵ２１０により実行される。
【００４３】
マニフェストファイル１８０１は、連携許可アプリケーション４５０の基本情報とＷｅｂアプリへ接続するための情報を記述したファイルである。このマニフェストファイル１８０１に許可ＵＲＬ４４１およびＷｅｂアプリケーション対応ＵＲＬ４５１が登録されている。メニューアプリ連携部１８１１からＷｅｂブラウザー連携部１８１２に、マニフェストファイル１８０１に登録されたＷｅｂアプリのトップページＵＲＬ８０１６（図１１（ａ）参照）を伝えて、Ｗｅｂブラウザー３０５内で動作するアプリが動作を開始できるようにする。なおトップページＵＲＬ８０１６が、Ｗｅｂアプリケーション対応ＵＲＬ４５１に相当する。またサービスホスト８０１５は、許可ＵＲＬ４４１に相当する。
【００４４】
図１１で、連携許可アプリケーションのアプリケーションファイル８００について説明する。図１１（ａ）、図１１（ｂ）は、図８の一部を変更した図である。アプリケーションファイル８００に含まれたマニフェストファイル８０１，８０２は、図１８に示したマニフェストファイル１８０１に相当する。なお、本説明では図８との差異についてのみ説明する。図１１（ａ）は、サービスホスト（すなわち許可ＵＲＬ）８０１５とトップページＵＲＬ（すなわちＷｅｂアプリケーション対応ＵＲＬ）８０１６が同一のサイトに配置されている例である。例えば、スキャンした文書を格納するサイト（のトップページＵＲＬ）とその文書に対する処理（例として、ファイル形式の変換処理や、画像解像度の変換処理等）をおこなうサイト（サービスホスト）が同一なケースを想定している。なお、本例の場合、サービスホスト８０１５とトップページＵＲＬ８０１６が同一のサイトなのでサービスホスト８０１５を省略可能である。図１１（ａ）において、トップページＵＲＬ８０１６は、サービスを提供しているサーバーのＷｅｂアプリケーションのトップページのアドレスをＵＲＬ形式で表す。図４−２の連携許可アプリケーション４５０に関しては、本項目に記載されたアドレスがＷｅｂアプリケーション対応ＵＲＬ４５１である。一方で、図１１（ｂ）が、サービスホスト８０２５とトップページＵＲＬ８０２６が別のサイトに配置されている例である。例えば、トップページＵＲＬ８０２６のサイトで認証を行った後に、サービスホスト８０２５が別のサイトで処理を継続するような場合を想定している。なお、本例の場合、サービスホスト８０１５とトップページＵＲＬ８０１６が異なるサイトに配置されているのでサービスホスト８０１５を省略することは不可である。
【００４５】
＜連携許可アプリケーションのインストール処理＞
図１０のステップＳ１００４およびＳ１００５における、連携許可アプリケーションのインストール時、および、アクティベートとして、メインメニューにボタンを登録するフローを、図１５を使って補足説明する。
【００４６】
図１５は、ＭＦＰ１１０が行う連携許可アプリケーションのインストール処理を説明するためのフローチャートである。ＭＦＰ１１０のＨＤＤ２０９に記憶されているプログラムを、ＣＰＵ２１０がＲＡＭ２１２に読み出し、解析、実行することで、図１５のフローチャートの各ステップが実行される。
【００４７】
事前準備として、連携許可アプリケーション購入者は、前述したように、暗号化された連携許可アプリケーションとライセンスアクセス番号を連携許可アプリケーションの販売者から受け取り、ライセンスサーバー１０１からライセンスファイルを受け取っているものとする。
【００４８】
先ずインストーラサービス３０６は、連携許可アプリケーション購入者が操作するＰＣ１４０からインストールの指示として暗号化された連携許可アプリケーションと、暗号化されたライセンスファイルを受け取る（ステップＳ１５０１）。インストーラサービス３０６は、受け取った連携許可アプリケーションとライセンスファイルを復号する。（ステップＳ１５０２）。
【００４９】
インストーラサービス３０６は、ライセンスファイルと連携許可アプリケーションが両方とも復号できたかどうかをチェックする（ステップＳ１５０３）。インストーラサービス３０６は、両方とも復号できた場合はステップＳ１５０４へ処理を進める。インストーラサービス３０６は、どちらか一方または両方とも復号できなかった場合はエラーを通知（ステップＳ１５１０）して処理を終了する。
【００５０】
ステップＳ１５０４で、インストーラサービス３０６は、復号したライセンスファイルに記載されているデバイスＩＤと、ＭＦＰ１１０に予め設定されているデバイスＩＤとを比較し、そのＭＦＰ１１０に適合した正しいライセンスファイルかどうかを判定する。インストーラサービス３０６は、ライセンスファイルが正しいと判定すると、ステップＳ１５０５に処理を進める。インストーラサービス３０６は、正しいライセンスファイルでないと判定すると、エラーを通知（ステップＳ１５１０）して処理を終了する。
【００５１】
次にインストーラサービス３０６は、復号した連携許可アプリケーションとライセンスファイルをＨＤＤ２０９に保存する。続けてインストーラサービス３０６は、ＨＤＤ２０９に保存した連携許可アプリケーションをＲＡＭ２１２に読み出し、起動する（ステップＳ１５０７）。起動した連携許可アプリケーションは、メニューアプリ３１０に連携許可アプリケーションを呼び出すためのＧＵＩボタン（あるいはアイコン）を登録する（ステップＳ１５０８）。
【００５２】
図１６は、実施形態に係るＭＦＰ１１０に二つの連携許可アプリケーションをインストールした状態で、ＭＦＰ１１０のメニューアプリ３１０を呼び出したときに操作表示部２０２に表示されるＧＵＩの一例を示す図である。ＧＵＩボタン１６０１、１６０２、１６０３は、ＭＦＰ１１０に最初から備わっているアプリケーションを呼び出すためのＧＵＩボタンである。ＧＵＩボタン１６０４とＧＵＩボタン１６０５は、ともに連携許可アプリケーションを呼び出すためのＧＵＩボタンである。図１６に示したように、連携許可アプリケーションごとにＧＵＩボタンが表示される。ＧＵＩボタン１６０６は、連携許可アプリケーションとは別のＭＦＰ上で動作するアプリケーションを呼び出すためのＧＵＩボタンである。図１６に示したようにメニューアプリ３１０はアプリケーションの種類を区別せずにＧＵＩボタンを表示する。
【００５３】
＜ＭＦＰによるＷｅｂアプリの利用シーケンス＞
図１３は、ＭＦＰ１１０からＷｅｂアプリを利用する際の一連の処理の流れを示したシーケンス図である。ここでは例としてメニューアプリ３１０が表示したＧＵＩボタン１６０５がユーザーによって選択された場合の処理を説明する。
【００５４】
最初にＭＦＰ１１０のメニューアプリ３１０はユーザーによるＧＵＩボタン１６０５の押下を受け付けると、ＧＵＩボタン１６０５に対応した連携許可アプリケーション４５０を呼び出す（ステップＳ１３０１）。呼び出された連携許可アプリケーション４５０は連携許可アプリケーション４５０のマニフェストファイル１８０１に定義された情報（例えばトップページＵＲＬ８０１６）に基づいてＷｅｂアプリのトップページを呼び出すために必要な情報を作成する（ステップＳ１３０２）。続いて連携許可アプリケーション４５０は、Ｗｅｂブラウザー３０５を用いて、ステップＳ１３０２で作成した情報に基づきＷｅｂアプリのトップページを呼び出す（ステップＳ１３０３）。
【００５５】
呼び出しを受けて、Ｗｅｂサーバー１００は、呼び出しに対する検証を行う（ステップＳ１３０４）。呼び出しに対する検証として、例えば、存在するＵＲＬの呼び出しか否か、や、ブラウザーのバージョンチェックなどを行う。検証の結果を踏まえて、Ｗｅｂサーバー１００は、呼び出しに対する応答をＭＦＰ１１０（Ｗｅｂブラウザ３０５）に対して返す（ステップＳ１３０５）。検証の結果がＯＫ（すなわち成功）であれば、Ｗｅｂサーバー１００は次の操作に必要な画面を構成するためのＨＴＭＬコンテンツを応答する。一方検証が不首尾に終わった場合には、その旨のメッセージを応答する。
【００５６】
Ｗｅｂブラウザー３０５は受け取ったＨＴＭＬ（あるいは不首尾メッセージ）をレンダリングし、操作部１１１に画面を表示する（ステップＳ１３０６）。検証が成功した場合、次にＷｅｂブラウザー３０５は、ユーザーの画面操作指示を受け取る（ステップＳ１３０７）と、それに対応するリクエストをＨＴＴＰプロトコルでＷｅｂサーバー１００へ送信する（ステップＳ１３０８）。
【００５７】
リクエストを受け取ったＷｅｂサーバー１００は、リクエストに対する処理を行い（ステップＳ１３０９）、処理結果にもとに次の画面を構成するためのＨＴＭＬコンテンツをＭＦＰ１１０（Ｗｅｂブラウザ３０５）へ応答する（ステップＳ１３１０）。以降、ステップＳ１３０６からステップＳ１３１０を繰り返すことで、Ｗｅｂアプリの処理および画面遷移を実現する。
【００５８】
図１２で、本実施形態における画像処理装置における一連の処理について説明する。図５のシーケンスを本実施形態に合わせて一部変更したものである。そのため、本説明では、差異についてのみ説明を行う。なお図１２は、図１３のシーケンスをソフトウェアモジュールごとの動作として示し、かつ、Ｗｅｂアプリケーション１０１からＭＦＰ１１０の資源を利用する場合について詳述した図である。Ｓ１２０１では、連携許可アプリケーション４５０からＷｅｂブラウザー３０５にトップページＵＲＬを伝える。トップページＵＲＬに関する説明は、図４−２の説明で前述したため、本説明では説明を割愛する。Ｓ５０４でジョブ実行要求を受信したサービスプロバイダー３０８は、Ｓ１２０２において、連携許可アプリケーション４５０が保持する許可ＵＲＬ４４１とトップページＵＲＬとしてのＷｅｂアプリケーション対応ＵＲＬ４５１を取得する。サービスプロバイダー３０８は、許可ＵＲＬを取得できた場合には、Ｓ５０５で取得した接続先ＵＲＬと比較し、一致していれば、要求されたジョブを実行する。一方、取得したＵＲＬに許可ＵＲＬ４４１が含まれていない場合には、Ｗｅｂアプリケーション対応ＵＲＬ４５１とＳ５０５で取得した接続先ＵＲＬと比較し、一致していれば、要求されたジョブを実行する。一致していなければＷｅｂアプリケーション１０１にエラーを通知する。
【００５９】
＜連携許可アプリケーションによるトップページの呼び出し処理＞
図１７は、連携許可アプリケーションがＷｅｂアプリのトップページを呼び出す際の処理を説明するためのフローチャートである。ＭＦＰ１１０のＨＤＤ２０４に記憶されているプログラムを、ＣＰＵ２０１がＲＡＭ２０３に読み出し、解析、実行することで、図１７のフローチャートの各ステップが実行される。
【００６０】
図１７のフローチャートは、図１３のステップＳ１３０１からステップＳ１３０３の処理を詳細に説明したものである。図１３のステップＳ１３０１は、図１７ではステップＳ１７０１に相当する。図１３のステップＳ１３０２は、図１７ではステップＳ１７０２からステップＳ１７０５に相当する。図１３のステップＳ１３０３は、図１７ではステップＳ１７０６に相当する。扱いを検討する
図１７において、連携許可アプリケーション４５０のメニューアプリ連携部１８１１は、ユーザーによるＧＵＩボタン押下を受け取ったメニューアプリ３１０からの呼び出し指示を受け取る（ステップＳ１７０１）。次にＷｅｂブラウザー連携部８１２は、マニフェストファイル１８０１からＷｅｂアプリの情報であるトップページＵＲＬ８０１６（図１１（ａ）参照）を取得する（ステップＳ１７０２）。
【００６１】
次にＷｅｂブラウザー連携部１８１２は、取得したトップページＵＲＬを接続先としてＷｅｂブラウザー３０５に設定する（ステップＳ１７０４）。Ｗｅｂブラウザー連携部１８１２は、操作部２０２の表示をメニューアプリ３１０からＷｅｂブラウザー３０５のＧＵＩウィンドウに切り変える（ステップＳ１７０５）。Ｗｅｂブラウザー３０５は、ＧＵＩボタンに対応するＷｅｂアプリのトップページを呼び出すため、ステップＳ１７０４で設定されたＵＲＬへアクセスする（ステップＳ１７０６）。
【００６２】
以上の処理を実行することによって、メニューアプリ３１０で指示されたＧＵＩボタンに対応する連携許可アプリケーションが、Ｗｅｂアプリのトップページを呼び出すことができる。
【００６３】
＜サービスプロバイダーの基本フロー＞
次に、図１４を用いてサービスプロバイダー３０８の基本フローを説明する。なお、図１４は、図６を元にフローを追加したものである。特に説明がないフローについては、図６と同等である。なお本説明では、追加した差異について説明する。図１４の手順は、図１２のステップＳ５０７〜Ｓ５０９に相当する。
【００６４】
Ｓ１４０７で、サービスプロバイダー３０８は、連携許可アプリケーション４５０から許可ＵＲＬ４４１とトップページＵＲＬ（すなわちＷｅｂアプリケーション対応ＵＲＬ４５１）とを取得する。本ステップは図１２におけるＳ１２０２に相当する。トップページＵＲＬについては、図４−２で記載したので省略する。Ｓ１４０８では、サービスプロバイダー３０８は、ＵＲＬが２つ存在しないかを判断する。すなわち、Ｓ１４０７で取得したＵＲＬが１つ以下かどうかを判断する。もし、１つしかＵＲＬが存在しない場合は、Ｓ６０４に進む。もし、２つ以上ＵＲＬが存在する場合は、Ｓ１４０９に進む。なお、Ｓ６０４、Ｓ６０５、Ｓ６０６に関しては図６と差異がないので説明を省略する。一つもＵＲＬが含まれていなければ、Ｓ６０６に分岐する。
【００６５】
Ｓ１４０９では、サービスプロバイダー３０８は、Ｗｅｂアプリケーション対応ＵＲ４５１Ｌもしくは許可ＵＲＬ４４１のいずれかが一致するかを判断する。もし少なくともいずれか一方が一致している場合は、Ｓ６０５に進む。もしいずれも一致していない場合は、Ｓ６０６に進む。本ステップは図５におけるＳ１３０９に相当する。なお、Ｓ６０４およびＳ１４０９において、ＵＲＬを比較する場合は、ＵＲＬの完全一致ではなく、部分一致の比較とする。具体的には、そのサービスのサイトを識別可能にする文字列が一致するかを比較する。理由としては、本来サイト単位で比較することを期待しているが、ＵＲＬの完全一致で比較すると、サイトのページ単位で比較されてしまう。そのため、該当のページのみの許可になってしまう。一方で、サービスのサイト単位を識別可能にする文字列を部分一致で比較すれば、該当するサイトかをサイト単位で正しく比較できる。例えば、最上位フォルダまでの比較とする。なお、トップページＵＲＬと許可ＵＲＬのいずれかと接続先ＵＲＬがマッチすればＯＫとする。
【００６６】
以上説明した通り、第三の実施の形態における画像処理システムでは、連携許可アプリケーションにＷｅｂアプリケーションへの接続機能を持たせる。そのため、特定の連携許可アプリケーションと特定のＷｅｂアプリケーションとが紐づけられ、特定の連携許可アプリケーションを起動することで、対応するＷｅｂアプリケーションを利用できる。さらに、連携許可アプリケーションは、それが紐づけられているＷｅｂアプリケーションに与えられた、ＭＦＰの資源へのアクセス権限を管理している。よって、接続しようとするＷｅｂアプリケーション対応ＵＲＬが連携許可されているか否か（Ｗｅｂアプリケーション対応ＵＲＬに対応する連携許可アプリケーションがインストールされているか否か）を、サービスプロバイダーによる判定処理（図５のＳ５０７）を実施しないでも把握することが可能になる。連携許可アプリケーションにはトップページＵＲＬが必ず登録されており、そこに対しては本実施形態では、ＭＦＰの資源へのアクセスを許可する。そこで連携許可アプリケーションがインストールされていれば、それに紐づけられたＷｅｂサービスは連携許可されていると判断できるためである。
【００６７】
また、ユーザーは、Ｗｅｂアプリケーション１０１ごとに決められたＷｅｂアプリケーションＵＲＬをあらかじめ知っておく必要もなくなる。そのため、Ｗｅｂアプリケーションに接続するためにステップを簡便にし、操作性の煩雑さを軽減出来る。
【００６８】
［その他の実施例］
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピューターにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００６９】
１００  Ｗｅｂサーバー、１０２  管理装置、１１０  ＭＦＰ、２０２  表示操作部、３０３  アプリケーションフレームワーク、３０５  Ｗｅｂブラウザー、３０８  サービスプロバイダー
【図１】
0006772009.tif 000002
【図２】
0006772009.tif 000003
【図３】
0006772009.tif 000004
【図４−１】
0006772009.tif 000005
【図４−２】
0006772009.tif 000006
【図５】
0006772009.tif 000007
【図６】
0006772009.tif 000008
【図７】
0006772009.tif 000009
【図８】
0006772009.tif 000010
【図９】
0006772009.tif 000011
【図１０】
0006772009.tif 000012
【図１１】
0006772009.tif 000013
【図１２】
0006772009.tif 000014
【図１３】
0006772009.tif 000015
【図１４】
0006772009.tif 000016
【図１５】
0006772009.tif 000017
【図１６】
0006772009.tif 000018
【図１７】
0006772009.tif 000019
【図１８】
0006772009.tif 000020