(57)【要約】      （修正有）【課題】ライセンス管理サーバに常に問い合わせを行わなくても、Ｗｅｂアプリケーションのライセンスを検証できる情報処理装置、その制御方法及びプログラムを提供する。【解決手段】情報処理装置１１０は、Ｗｅｂサーバ１３０にアプリケーションの利用を要求する。Ｗｅｂサーバ１３０からライセンスの確認処理が要求されると、情報処理装置１１０の署名情報を作成し、送信してＷｅｂサーバ１３０から認可情報を取得する。Ｗｅｂサーバ１３０は、情報処理装置１１０のライセンスを確認し、情報処理装置１１０に対してＷｅｂアプリケーションのコンテンツを応答する。ライセンスが確認できない場合は、情報処理装置１１０に対してライセンスの確認処理を要求し、情報処理装置１１０の署名情報を検証してライセンスを確認し、ライセンスが確認できると認可情報を作成して情報処理装置１１０に送信する。【選択図】図１０
2019079549.tif 000002
【特許請求の範囲】
【請求項１】
Ｗｅｂブラウザを有し、ＷｅｂサーバからＷｅｂアプリケーションを呼び出して実行する情報処理装置であって、
Ｗｅｂアプリケーションを登録するための設定ファイル群と前記ＷｅｂアプリケーションのＵＲＬを含む、前記Ｗｅｂアプリケーションを呼び出すための第１のアプリケーションと、前記第１のアプリケーションのライセンスファイルと、前記情報処理装置で実行可能なプログラムの実行ファイル群を含む第２のアプリケーションと、前記第２のアプリケーションのライセンスファイルとを、ライセンス管理サーバから受信する第１の受信手段と、
前記第１のアプリケーションのライセンスファイルを用いて前記第１のアプリケーションの使用可否を管理し、前記第２のアプリケーションのライセンスファイルを用いて前記第２のアプリケーションの使用可否を管理する管理手段と、
前記第１のアプリケーションを介して、前記Ｗｅｂアプリケーションの呼び出しの指示、或いは、前記第２のアプリケーションの呼び出しの指示を受け取る指示受け手段と、
前記指示受け手段で、前記第１のアプリケーションを介して、前記Ｗｅｂアプリケーションの呼び出しの指示を受けた場合、前記第１のアプリケーションに含まれる前記ＷｅｂアプリケーションのＵＲＬに基づいて、前記Ｗｅｂサーバに前記第１のアプリケーションに含まれるＵＲＬへのアクセスのリクエストを送信する送信手段と、
を有することを特徴とする情報処理装置。
【請求項２】
前記第１のアプリケーション、前記第２のアプリケーションをインストールするインストール手段を、更に有することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記第１のアプリケーションのライセンスファイルは、前記第１のアプリケーションの有効期限に関する情報、前記情報処理装置を識別するための識別情報を含み、前記第２のアプリケーションのライセンスファイルは、前記第２のアプリケーションの有効期限に関する情報、前記情報処理装置を識別するための識別情報を含むことを特徴とする請求項１又は請求項２に記載の情報処理装置。
【請求項４】
前記第１のアプリケーションは、前記Ｗｅｂアプリケーションが署名を検証する際に用いる公開鍵に対応する秘密鍵を含むことを特徴とする請求項１乃至３の何れか１項に記載の情報処理装置。
【請求項５】
前記指示受け手段で、前記第２のアプリケーションの呼び出しの指示を受け付けた場合に前記第２のアプリケーションを呼び出す呼び出し手段を、更に有することを特徴とする請求項１乃至４の何れか１項に記載の情報処理装置。
【請求項６】
前記指示受け手段で、前記第１のアプリケーションを介して、前記Ｗｅｂアプリケーションの呼び出しの指示を受け付けた場合、前記Ｗｅｂブラウザに、前記第１のアプリケーションに含まれるＵＲＬを設定して、前記Ｗｅｂブラウザにウィンドウを切り替え、前記指示受け手段で、前記第２のアプリケーションの呼び出しの指示を受け付けた場合、前記第２のアプリケーションにウィンドウを切り替える切り替え手段を、更に有することを特徴とする請求項１乃至５の何れか１項に記載の情報処理装置。
【請求項７】
前記情報処理装置は、画像形成装置であることを特徴とする請求項１乃至６の何れか１項に記載の情報処理装置。
【請求項８】
Ｗｅｂブラウザを有し、ＷｅｂサーバからＷｅｂアプリケーションを呼び出して実行する情報処理装置を制御する制御方法であって、
Ｗｅｂアプリケーションを登録するための設定ファイル群と前記ＷｅｂアプリケーションのＵＲＬを含む、前記Ｗｅｂアプリケーションを呼び出すための第１のアプリケーションと、前記第１のアプリケーションのライセンスファイルと、前記情報処理装置で実行可能なプログラムの実行ファイル群を含む第２のアプリケーションと、前記第２のアプリケーションのライセンスファイルとを、ライセンス管理サーバから受信する第１の受信工程と、
前記第１のアプリケーションのライセンスファイルを用いて前記第１のアプリケーションの使用可否を管理し、前記第２のアプリケーションのライセンスファイルを用いて前記第２のアプリケーションの使用可否を管理する管理工程と、
前記第１のアプリケーションを介して、前記Ｗｅｂアプリケーションの呼び出しの指示、或いは、前記第２のアプリケーションの呼び出しの指示を受け取る指示受け工程と、
前記指示受け工程で、前記第１のアプリケーションを介して、前記Ｗｅｂアプリケーションの呼び出しの指示を受けた場合、前記第１のアプリケーションに含まれる前記ＷｅｂアプリケーションのＵＲＬに基づいて、前記Ｗｅｂサーバに前記第１のアプリケーションに含まれるＵＲＬへのアクセスのリクエストを送信する送信工程と、
を有することを特徴とする制御方法。
【請求項９】
前記第１のアプリケーション、前記第２のアプリケーションをインストールするインストール工程を、更に有することを特徴とする請求項８に記載の制御方法。
【請求項１０】
前記第１のアプリケーションのライセンスファイルは、前記第１のアプリケーションの有効期限に関する情報、前記情報処理装置を識別するための識別情報を含み、前記第２のアプリケーションのライセンスファイルは、前記第２のアプリケーションの有効期限に関する情報、前記情報処理装置を識別するための識別情報を含むことを特徴とする請求項８又は請求項９に記載の制御方法。
【請求項１１】
前記第１のアプリケーションは、前記Ｗｅｂアプリケーションが署名を検証する際に用いる公開鍵に対応する秘密鍵を含むことを特徴とする請求項８乃至１０の何れか１項に記載の制御方法。
【請求項１２】
前記指示受け工程で、前記第２のアプリケーションの呼び出しの指示を受け付けた場合に前記第２のアプリケーションを呼び出す呼び出し工程を、更に有することを特徴とする請求項８乃至１１の何れか１項に記載の制御方法。
【請求項１３】
前記指示受け工程で、前記第１のアプリケーションを介して、前記Ｗｅｂアプリケーションの呼び出しの指示を受け付けた場合、前記Ｗｅｂブラウザに、前記第１のアプリケーションに含まれるＵＲＬを設定して、前記Ｗｅｂブラウザにウィンドウを切り替え、前記指示受け工程で、前記第２のアプリケーションの呼び出しの指示を受け付けた場合、前記第２のアプリケーションにウィンドウを切り替える切り替え工程を、更に有することを特徴とする請求項８乃至１２の何れか１項に記載の制御方法。
【請求項１４】
前記情報処理装置は、画像形成装置であることを特徴とする請求項８乃至１３の何れか１項に記載の制御方法。
【請求項１５】
コンピュータを、請求項１乃至７のいずれか１項に記載の情報処理装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置とその制御方法、及びプログラムに関する。
【背景技術】
【０００２】
ＰＣなどの情報処理装置が、ネットワークを介して接続されたＷｅｂサーバから提供されるＷｅｂアプリケーションの操作画面を、その情報処理装置が備えるＷｅｂブラウザにより表示して、ユーザがその操作画面を操作することが知られている。例えば特許文献１を参照されたい。このＷｅｂアプリケーションを使用するためにユーザは、Ｗｅｂアプリケーションの提供者から、そのＷｅｂアプリケーションを使用するライセンスを取得する。そしてユーザの情報処理装置のＷｅｂブラウザにより、そのＷｅｂアプリケーションの操作画面を表示する。そのために、Ｗｅｂアプリケーションの提供者は、正しくライセンスを購入したユーザからの接続かどうかを検証する仕組みが必要となる。このために例えばＷｅｂアプリケーションの操作画面でユーザ名とパスワードの入力を求め、その画面を介して入力されたユーザ名とパスワードが、登録している情報と一致するとライセンスを購入したユーザであると判定するといった運用が行われている。
【０００３】
一方、スキャン機能やプリント機能を備えた複合機（ＭＦＰ：Ｍｕｌｔｉ  Ｆｕｎｃｔｉｏｎ  Ｐｅｒｉｐｈｅｒａｌ）のような多数の人間が共有して使用する情報処理装置を対象とするＷｅｂアプリケーションもある。多数の人間が一つの情報処理装置を共有して使用する場合、Ｗｅｂアプリケーションのライセンスは、ユーザ単位ではなくクライアントの端末単位で契約する場合もある。
【０００４】
このようなライセンスの管理は、個々のＷｅｂアプリケーションがそれぞれ行う場合だけでなく、異なるＷｅｂアプリケーションの開発ベンダーが開発したＷｅｂアプリケーションについて、ライセンスの販売と管理を纏めて代行する仕組みもある。この場合、Ｗｅｂアプリケーションを有するサーバは、Ｗｅｂブラウザからの情報を基に、ライセンスを管理するライセンス管理サーバに対して問い合わせを行って、ライセンスが正しく購入されているか否かを検証する。この他にも、Ｗｅｂブラウザ上でＪａｖａＳｃｒｉｐｔ等のプログラムを実行させ、そのＪａｖａＳｃｒｉｐｔがライセンス管理サーバと通信を行ってライセンスを検証するという方法もある。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１１−１２３６７７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながらライセンスを管理するライセンス管理サーバは、ライセンスの確認が必要なとき、つまりユーザがＷｅｂアプリケーションを操作しようとしたときに常に動作していないといけない。つまり、複数のＷｅｂアプリケーションのライセンスをまとめて管理するライセンス管理サーバの場合、各ユーザのライセンスを確認するためのサービスを停止せずに運用する必要があり、そのためサーバの運用コストが高くなるという課題があった。
【０００７】
本発明の目的は、上記従来技術の問題点を解決することにある。
【０００８】
本発明の特徴は、ライセンス管理サーバに常に問い合わせを行わなくても、Ｗｅｂアプリケーションのライセンスを検証できる技術を提供することにある。
【課題を解決するための手段】
【０００９】
上記目的を達成するために本発明の一態様に係る情報処理装置は以下のような構成を備える。即ち、
Ｗｅｂブラウザを有し、ＷｅｂサーバからＷｅｂアプリケーションを呼び出して実行する情報処理装置であって、
Ｗｅｂアプリケーションを登録するための設定ファイル群と前記ＷｅｂアプリケーションのＵＲＬを含む、前記Ｗｅｂアプリケーションを呼び出すための第１のアプリケーションと、前記第１のアプリケーションのライセンスファイルと、前記情報処理装置で実行可能なプログラムの実行ファイル群を含む第２のアプリケーションと、前記第２のアプリケーションのライセンスファイルとを、ライセンス管理サーバから受信する第１の受信手段と、
前記第１のアプリケーションのライセンスファイルを用いて前記第１のアプリケーションの使用可否を管理し、前記第２のアプリケーションのライセンスファイルを用いて前記第２のアプリケーションの使用可否を管理する管理手段と、
前記第１のアプリケーションを介して、前記Ｗｅｂアプリケーションの呼び出しの指示、或いは、前記第２のアプリケーションの呼び出しの指示を受け取る指示受け手段と、
前記指示受け手段で、前記第１のアプリケーションを介して、前記Ｗｅｂアプリケーションの呼び出しの指示を受けた場合、前記第１のアプリケーションに含まれる前記ＷｅｂアプリケーションのＵＲＬに基づいて、前記Ｗｅｂサーバに前記第１のアプリケーションに含まれるＵＲＬへのアクセスのリクエストを送信する送信手段と、を有することを特徴とする。
【発明の効果】
【００１０】
本発明によれば、ライセンス管理サーバに問い合わせなくても、Ｗｅｂアプリケーションを要求した情報処理装置のライセンスを検証できるという効果がある。
【図面の簡単な説明】
【００１１】
【図１】本発明の実施形態に係る情報処理システムの全体構成を示す図。
【図２】実施形態に係るＭＦＰのハードウェア構成を説明するブロック図。
【図３】実施形態に係るライセンス管理サーバのハードウェア構成を示すブロック図。
【図４】実施形態に係るライセンス管理サーバのソフトウェアモジュールの構成を説明するブロック図。
【図５】実施形態に係るアプリケーション管理テーブルの一例を示す図（Ａ）、ダミーアプリケーションの構成を示す図（Ｂ），ライセンス管理テーブルの一例を模式的に示す図（Ｃ）。
【図６】実施形態に係るライセンス管理サーバが発行するライセンスファイルの一例を示す図。
【図７】実施形態に係るＭＦＰのアプリケーション及びソフトウェアモジュールの構成を示す図。
【図８】本実施形態に係るＷｅｂアプリケーションサーバのソフトウェアモジュールの構成を示す図（Ａ）、実施形態に係るトークン管理テーブルの一例を模式的に示す図（Ｂ）。
【図９】実施形態に係るＭＦＰの操作部に表示されるＧＵＩの一例を示す図。
【図１０】実施形態に係るＭＦＰでユーザがＧＵＩボタンを指示してから、ＷｅｂブラウザがＷｅｂアプリケーションのコンテンツを表示するまでのシーケンス図。
【図１１】実施形態に係るＭＦＰのアプリケーション管理部がアプリケーション呼び出しを受け付けた場合に実行する処理を説明するフローチャート。
【図１２】実施形態に係るＷｅｂアプリケーションサーバがＨＴＴＰによる要求を受けた場合に実行する、正しく登録されたＭＦＰからの要求かどうかを判定する処理を説明するフローチャート。
【図１３】実施形態に係るＭＦＰのＷｅｂブラウザが実行する、ＭＦＰのライセンス確認用のＪａｖａＳｃｒｉｐｔに記載されている処理を説明するフローチャート。
【図１４】実施形態に係るＭＦＰによる、図１３のＳ１３０３の署名取得処理を説明するフローチャート。
【図１５】実施形態に係るＷｅｂアプリケーションサーバ８０２が、ＭＦＰからＨＴＴＰによる要求を受けた場合に実行するＭＦＰの登録処理を説明するフローチャート。
【発明を実施するための形態】
【００１２】
以下、添付図面を参照して本発明の実施形態を詳しく説明する。尚、以下の実施形態は特許請求の範囲に係る本発明を限定するものでなく、また本実施形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。尚、この実施形態では、Ｗｅｂアプリケーションのライセンス管理システムの一例を説明する。本実施形態では、Ｗｅｂアプリケーションを表示するクライアント端末として、Ｗｅｂブラウザアプリケーションを搭載したＭＦＰを例に説明する。また、Ｗｅｂアプリケーションのライセンス管理は、クライアント端末であるＭＦＰ単位でのライセンス管理を行う場合で説明する。
【００１３】
図１は、本発明の実施形態に係る情報処理システムの全体構成を示す図である。
【００１４】
この情報処理システムでは、ＬＡＮ１００を介してＭＦＰ１１０とＰＣ１４０とが接続されており、またこのＬＡＮ１００は、インターネット１５０に接続されている。更にこのインターネット１５０には、ライセンス管理サーバ１２０とＷｅｂアプリケーションサーバ（Ｗｅｂサーバ）１３０が接続されている。
【００１５】
ＭＦＰ１１０は、操作部１１１、スキャナ部１１２、プリンタ部１１３を有する複合機（多機能処理装置）である。実施形態に係るＭＦＰ１１０は、内蔵するＷｅｂブラウザを利用してＷｅｂアプリケーションの操作画面を表示及び操作するクライアント端末としても機能する。またＭＦＰ１１０は、Ｗｅｂアプリケーションの指示に応じて、プリンタ部１１３を利用してＷｅｂアプリケーションから取得した画像を印刷でき、スキャナ部１１２を利用して原稿を読み取って得られた画像データをＷｅｂアプリケーションに送信できる。尚、この実施形態に係るＭＦＰにはデバイスＩＤという識別子が割り当てられており、この識別子により一意に、各ＭＦＰを特定、認識できる。
【００１６】
ライセンス管理サーバ１２０は、複数の異なるＷｅｂアプリケーションのライセンスを管理するサーバである。Ｗｅｂアプリケーションサーバ１３０は、Ｗｅｂアプリケーションを実行するサーバである。ＰＣ１４０は、ＭＦＰ１１０に対して各種設定を行うための端末装置として機能している。但し、上述のシステム構成はあくまでも一例であり、これらの機器の数などは、本実施形態に限定されない。
【００１７】
図２は、実施形態に係るＭＦＰ１１０のハードウェア構成を説明するブロック図である。
【００１８】
操作部１１１は、タッチパネル機能を有する表示部や各種ハードキー等を有し、制御部２００からのデータに従ってユーザに対して情報を表示したり、ユーザの操作に応じた情報を制御部２００に入力する。スキャナ部１１２は、原稿上の画像を読み取って、その画像の画像データを作成して制御部２００に供給する。プリンタ部１１３は、制御部２００から受け取った画像データに基づいて用紙上に画像を印刷する。
【００１９】
制御部２００は、操作部１１１、スキャナ部１１２、プリンタ部１１３と電気的に接続されており、またＬＡＮ１００にもネットワークインターフェース（Ｉ／Ｆ）２０６を介して接続されている。これによりＬＡＮ１００を介した、ＴＣＰ／ＩＰ等の通信プロトコルによる通信が可能となっている。制御部２００において、ＣＰＵ２０１，ＲＯＭ２０２，ＲＡＭ２０３，ＨＤＤ２０４，操作部Ｉ／Ｆ２０５、ネットワークＩ／Ｆ２０６、スキャナＩ／Ｆ２０７、画像処理部２０８及びプリンタＩ／Ｆ２０９がシステムバス２１１を介して接続されている。ＣＰＵ２０１は、ＲＯＭ２０２のブートプログラムを実行してＨＤＤ２０４に記憶されたＯＳや制御プログラムをＲＡＭ２０３に展開し、そのプログラムに基づいてこのＭＦＰ１１０を統括的に制御する。この制御には、後述のフローチャートを実現するためのプログラムの実行も含む。ＲＯＭ２０２には、このＭＦＰ１１０のブートプログラムや各種データが格納されている。ＲＡＭ２０３は、ＣＰＵ２０１が動作するためのワークメモリを提供し、また画像データを一時記憶するための画像メモリも提供している。ＨＤＤ２０４はハードディスクドライブであり、ＯＳや各種プログラムや画像データを格納している。操作部Ｉ／Ｆ２０５は、システムバス２１１と操作部１１１とを接続するためのインターフェース部である。ネットワークＩ／Ｆ２０６は、ＬＡＮ１００及びシステムバス２１１に接続し、ネットワークを介して情報の入出力を行う。スキャナＩ／Ｆ２０７は、スキャナ部１１２と制御部２００との間のインターフェースを制御する。画像処理部２０８は、スキャナ部１１２から入力した画像データ、及びプリンタ部１１３に出力する画像データに対して、回転、色変換、画像圧縮／伸張処理などの画像処理を行う。プリンタＩ／Ｆ２０９は、画像処理部２０８で処理された画像データを受け取り、この画像データに付随している属性データに従ってプリンタ部１１３による印刷を制御する。尚、実施形態では、操作部１１１を用いたＵＩ表示が可能なＭＦＰの例で説明するが、このＭＦＰ１１０に代えて、例えば汎用コンピュータ等のような情報処理装置を採用してもよい。
【００２０】
図３は、実施形態に係るライセンス管理サーバ１２０のハードウェア構成を示すブロック図である。
【００２１】
ライセンス管理サーバ１２０は、ＣＰＵ３０１，ＲＡＭ３０２，ＲＯＭ３０３、ハードディスクドライブ（ＨＤＤ）３０４、ネットワークＩ／Ｆ３０５を有し、これらはシステムバス３０６を介して互いに通信可能に接続されている。ＲＯＭ３０３はブートプログラムを格納しており、ＣＰＵ３０１は電源オン時に、このブートプログラムを読み出してＨＤＤ３０４にインストールされているＯＳや制御プログラム等をＲＡＭ３０２に展開する。そしてＣＰＵ３０１が、ＲＡＭ３０２に展開したプログラムを実行することにより、このライセンス管理サーバ１２０の機能が実現される。またＣＰＵ３０１は、ネットワークＩ／Ｆ３０５を介して接続されているネットワーク上の他の装置との通信を行う。尚、Ｗｅｂアプリケーションサーバ１３０とＰＣ１４０のハードウェア構成も、図３で示したライセンス管理サーバ１２０のハードウェア構成と同様であるため、その説明を省略する。
【００２２】
図４は、実施形態に係るライセンス管理サーバ１２０のソフトウェアモジュールの構成を説明するブロック図である。これらモジュールを実現するプログラムはライセンス管理サーバ１２０のＨＤＤ３０４に格納されており、それをＲＡＭ３０２に展開してＣＰＵ３０１が実行することにより、これらモジュールの機能が達成される。
【００２３】
本実施形態に係るライセンス管理サーバ１２０は、アプリケーションの暗号化、個々のＭＦＰにアプリケーションをインストールするためのライセンスの発行、個々のライセンスを管理するライセンスアクセス番号の発行の３つの処理を行う。ここで説明するアプリケーションとは、次の２つを示す。１つはＭＦＰ１１０にインストール可能な、ＭＦＰ１１０上で実行可能なプログラムの実行ファイル群を含むＭＦＰアプリケーションである。もう１つは後述するＷｅｂアプリケーションを登録するための設定ファイル群を含むダミーアプリケーションである。
【００２４】
通信部４０１は、ネットワークを介して外部装置と通信して処理要求の受け付けを行い、その処理要求に応じて、アプリケーション管理部４０２とライセンス管理部４０４に要求を振り分ける。アプリケーション管理部４０２は、暗号化前のアプリケーションを受け取ってアプリケーションを暗号化する。アプリケーション管理部４０２は、インターネット１５０に接続された端末（不図示）を通じて、アプリケーション開発ベンダーからアプリケーションを受け取る。そして、そのアプリケーションのＩＤと、そのアプリケーションの暗号共通鍵を生成してアプリケーション管理テーブル４０３に登録する。アプリケーションのＩＤは、個々のアプリケーションを識別するための識別情報である。アプリケーションの暗号共通鍵は、そのアプリケーションを暗号化するための暗号鍵である。そして、その暗号共通鍵を用いてアプリケーションを暗号化し、その暗号化したアプリケーションと、そのアプリケーションのＩＤとを要求元に送信する。アプリケーション管理テーブル４０３は、アプリケーション管理部４０２が生成したアプリケーションのＩＤとアプリケーションの暗号共通鍵を関連付けて保存するデータベースである。
【００２５】
図５（Ａ）は、実施形態に係るアプリケーション管理テーブル４０３の一例を示す図である。
【００２６】
列５０１は、アプリケーションのＩＤ、列５０２は、アプリケーションの暗号共通鍵を示している。
【００２７】
図５（Ｂ）は、Ｗｅｂアプリケーションを登録するための設定ファイル群を示すダミーアプリケーションの構成を示す図である。
【００２８】
ダミーアプリケーションは、階層化されたフォルダとファイルとを１つのファイルにまとめた構造を有する。ファイル５１０は、Ｗｅｂアプリケーションの説明を記述するためのマニフェストファイルである。ファイル５１１は、Ｗｅｂアプリケーションサーバ１３０が発行した公開鍵暗号化方式における秘密鍵である。尚、この秘密鍵に対応した公開鍵は、後述するＷｅｂアプリケーションサーバ１３０のソフトウェアに含まれている。ファイル５１２は、Ｗｅｂアプリケーションサーバ１３０を利用するためのＵＲＬを記載したファイルである。
【００２９】
尚、ＭＦＰアプリケーションでは、ダミーアプリケーションとは異なり、ＭＦＰ１１０が実行可能なプログラムの実行ファイルが含まれる。
【００３０】
アプリケーション管理部４０２がアプリケーションを暗号化する場合、図５（Ｂ）に示すマニフェストファイル５１０以外が全て暗号化されて１つのファイルとしてまとめられる。アプリケーション開発ベンダーは、このアプリケーションの暗号化機能を利用することにより、このアプリケーションの中身を第３者が解析するのを防止できる。またダミーアプリケーションであれば、内部に含んでいる秘密鍵が取り出されるのを防止できる。
【００３１】
ライセンス管理部４０４は、各ＭＦＰにアプリケーションをインストールするためのライセンスの発行、ライセンスの発行を行うためのライセンスアクセス番号を管理する。アプリケーションを販売する販売者から、販売対象のアプリケーションに対応するライセンスアクセス番号の発行要求を受け取ると、ライセンス管理部４０４は、そのアプリケーションのＩＤに対応したライセンスアクセス番号を発行する。そして、そのライセンスアクセス番号をライセンス管理テーブル４０６に登録する。ここでライセンスアクセス番号は、一意にそのアプリケーションの一つのライセンスを管理するための番号であり、アプリケーションの販売者は、前述の暗号化されたアプリケーションと、このライセンスアクセス番号とを併せて販売する。またライセンス管理部４０４は、アプリケーションの購入者から、ライセンスアクセス番号とデバイスＩＤを受け取ると、その購入者（ユーザ）に対してライセンスを発行する。このライセンスの発行は、アプリケーション管理テーブル４０３とライセンス管理テーブル４０６とを参照して、ライセンスアクセス番号に対応したライセンスファイルを作成する処理である。
【００３２】
ここではまず、ライセンスアクセス番号からアプリケーションのＩＤを取得し、アプリケーションのＩＤからアプリケーションの暗号共通鍵を取得する。そしてライセンスＩＤを発行し、ライセンス管理テーブル４０６にデバイスＩＤとライセンスＩＤとを記録するとともに、これら情報を１つのファイルとしてライセンスファイルを作成する。こうして作成されたライセンスファイルは、ライセンス管理部４０４が内部に保持するライセンスファイルの暗号鍵４０５で暗号化して要求元に送信する。ライセンスファイルの暗号鍵４０５は、公開鍵暗号化方式における公開鍵である。尚、これに対応する秘密鍵は後述するＭＦＰ１１０のソフトウェアに含まれている。ライセンス管理テーブル４０６は、ライセンスに関係する情報を保存するデータベースである。
【００３３】
図５（Ｃ）は、実施形態に係るライセンス管理テーブル４０６の一例を模式的に示す図である。
【００３４】
列５２１はアプリケーションのＩＤ、列５２２はライセンスアクセス番号、列５２３はライセンスの有効期限を日数で示している。この日数は、アプリケーションをＭＦＰにインストールした日時から数えて何日間有効であるかを示している。列５２４はデバイスＩＤ（アプリケーションをインストールしたＭＦＰのＩＤ）、列５２５はライセンスＩＤを示している。行５２６は、ライセンスアクセス番号を発行しているが、ライセンスが未発行のアプリケーションの例であり、ここではデバイスＩＤとライセンスＩＤは空である。行５２７はライセンスを発行済みのアプリケーションの例を示し、デバイスＩＤ（ＤＥＶ００１）とライセンスＩＤ（ＬＩＣ００１）が登録されている。また行５２８もライセンスを発行済みのアプリケーションの例を示し、有効期限は６０日、デバイスＩＤ（ＤＥＶ００２）とライセンスＩＤ（ＬＩＣ００２）が登録されている。
【００３５】
このようにライセンス管理テーブル４０６には、ＷｅｂアプリケーションのＩＤとＭＦＰ１１０のデバイスＩＤとが対応付けて登録されている。このため、このライセンス管理テーブル４０６を参照することにより、どのＭＦＰに、どのアプリケーションのライセンスが発行されているかが分かる。
【００３６】
図６は、実施形態に係るライセンス管理サーバ１２０が発行するライセンスファイルの一例を示す図である。
【００３７】
ここでは、図５（Ｃ）のライセンス管理テーブル４０６の行５２８に対応するライセンスファイルの一例を示している。ここでは図５（Ｃ）から、ライセンスＩＤ（ＬＩＣ００２）、アプリケーションのＩＤ（ＡＰＰ００２），デバイスＩＤ（ＤＥＶ００２）、有効期限（６０日）が得られる。また図５（Ａ）のアプリケーション管理テーブル４０３から、アプリケーション（ＡＰＰ００２）の暗号共通鍵（WasiIDcQR6dYj...）が得られている。このようにライセンスファイルは、ライセンス管理部４０４が、アプリケーション管理テーブル４０３とライセンス管理テーブル４０６から取得した情報に基づいて作成されている。
【００３８】
このようにしてアプリケーションの購入者は、その購入したアプリケーションのライセンスアクセス番号を基に、暗号化されたライセンスファイルを取得することができる。
【００３９】
図７は、実施形態に係るＭＦＰ１１０のアプリケーション及びソフトウェアモジュールの構成を示す図である。これらアプリケーション及びソフトウェアモジュールは、ＭＦＰ１１０のＨＤＤ２０４に格納され、実行時にはＲＡＭ２０３に展開されてＣＰＵ２０１により実行される。
【００４０】
インストール処理部７０１は、アプリケーションのインストールを制御する。インストール処理部７０１は、ネットワークＩ／Ｆ２０６を介してＰＣ１４０に接続され、ＰＣ１４０からの指示によりアプリケーションのインストールを実行する。またインストール処理部７０１は、暗号化されたライセンスファイルを復号化するためのライセンスファイル復号鍵７０２を含んでいる。このライセンスファイル復号鍵７０２は、前述のライセンスファイル暗号鍵４０５に対応している。アプリケーション管理部７０３は、ＭＦＰ１１０にインストールされているアプリケーションを管理する。メニューアプリケーション７０４は、ＭＦＰ１１０にインストールされているアプリケーションを選択して実行させるためのＧＵＩを表示する。Ｗｅｂブラウザ７０５は、Ｗｅｂアプリケーションサーバ１３０と通信を行う。Ｗｅｂブラウザ７０５は、Ｗｅｂアプリケーションサーバ１３０にＨＴＴＰプロトコルを用いて要求を送信し、その要求に応答して返送されるＨＴＭＬデータをレンダリングして操作部１１１に表示したり、応答されたＪａｖａＳｃｒｉｐｔを解釈して実行する。
【００４１】
次に、アプリケーションの購入者によるアプリケーションのインストールについて説明する。
【００４２】
ユーザはＰＣ１４０を用いて、インストール処理部７０１に対して、暗号化されたアプリケーションと、暗号化されたライセンスファイルを送信することにより、インストール処理部７０１は、そのアプリケーションのインストール処理を行う。このときまずライセンスファイル復号鍵７０２を用いて、ライセンスファイルを復号する。そして、その復号したライセンスファイルに含まれるアプリケーションの暗号共通鍵を用いて、暗号化されたアプリケーションを復号する。こうして復号されたアプリケーションは、アプリケーション管理部７０３に渡されてＨＤＤ２０４に保存される。この時、復号されたライセンスファイルに記載されているデバイスＩＤと、ＭＦＰ１１０に予め設定されているデバイスＩＤとを比較し、正しいライセンスファイルかどうかを判定する。またライセンスファイルに記載されている有効期限と現在の日時とから、そのアプリケーションが無効となる日時を計算し、有効期限日としてアプリケーション管理部７０３で管理する。
【００４３】
実施形態では、図５（Ｂ）に示したＷｅｂアプリケーション１３０を登録するための設定ファイル群を示すダミーアプリケーションがＭＦＰ１１０にインストールされているものとする。
【００４４】
図８（Ａ）は、本実施形態に係るＷｅｂアプリケーションサーバ１３０のソフトウェアモジュールの構成を示す図である。これらソフトウェアモジュールは、Ｗｅｂアプリケーションサーバ１３０のＨＤＤ３０４に格納されており、実行時にＲＡＭ３０２に展開されＣＰＵ３０１により実行されることにより、これらソフトウェアモジュールの機能が達成される。
【００４５】
本実施形態では、Ｗｅｂアプリケーションサーバ１３０は、ＨＴＴＰプロトコルによるＭＦＰ１１０からの要求に応じて、ＭＦＰ１１０のＷｅｂブラウザ７０５に表示するＨＴＭＬコンテンツを応答したり、ＭＦＰ１１０を操作するためのコンテンツを応答する。この際にダミーアプリケーションが正しく購入されてインストールされたＭＦＰ１１０からの要求であるかどうかを判断するが、その仕組みは後述する。
【００４６】
通信部８０１は、ネットワークを介して外部装置と通信して要求の受け付けを行い、指定されたＵＲＬに応じて初期登録処理部８０２とアプリケーション処理部８０４に要求の振り分けを行う。初期登録処理部８０２は、アクセスしてきたＭＦＰの初期登録を行う。また初期登録処理部８０２は、受信した要求に含まれる署名を検証する署名検証部８０３を含んでいる。署名検証部８０３は、図５（Ｂ）で示したダミーアプリケーションに含まれるファイル５１１の秘密鍵に対応する公開鍵を含んでおり、この秘密鍵でデジタル署名した署名情報の検証が可能となる。
【００４７】
アプリケーション処理部８０４は、ＭＦＰ１１０のＷｅｂブラウザ７０５により表示されるＨＴＭＬコンテンツを応答したり、ＭＦＰ１１０を操作するためのコンテンツを応答する。トークン管理テーブル８０５は、Ｗｅｂアプリケーションサーバ１３０に登録されているデバイスＩＤとトークン（認可情報）とを関連付けて管理するデータベースである。このトークンは、初期登録処理部８０２がＭＦＰを初期登録したときに発行するランダムな文字列である。そして、ＭＦＰからの要求に含まれるトークンが、このトークン管理テーブル８０５に登録されている場合に、そのＭＦＰが正しく登録されたＭＦＰであるとみなす。
【００４８】
図８（Ｂ）は、実施形態に係るトークン管理テーブル８０５の一例を模式的に示す図である。
【００４９】
列８１１はトークン、列８１２はデバイスＩＤを示し、列８１３はトークンの有効期限を日時で示している。現在の日時が、この有効期限の日付を過ぎた場合、このトークンは無効であると判断される。
【００５０】
次に、本実施形態に係るＷｅｂアプリケーションサーバ１３０が、ＭＦＰ１１０からのダミーアプリケーションに基づいて、正しく購入されたライセンスかどうかを判定する処理について説明する。
【００５１】
まず、ダミーアプリケーションをインストールした後、初回のＷｅｂアプリケーションの実行時に行う処理の流れを説明する。ここでは特に、正しいライセンスを購入したＭＦＰをＷｅｂアプリケーションへ登録する方法、またＭＦＰからＷｅｂアプリケーションへの要求の検証方法について説明する。
【００５２】
ユーザがＷｅｂアプリケーションを利用するために、まずＭＦＰ１１０のメニューアプリケーション７０４を起動する。このメニューアプリケーション７０４は、メニューを表示するためにアプリケーション管理部７０３に問い合わせて、インストールされているアプリケーションの一覧を取得する。
【００５３】
図９は、ＭＦＰ１１０のメニューアプリケーション７０４を呼び出したときに操作部１１１に表示されるＧＵＩの一例を示す図である。このとき図５（Ｂ）に示す、Ｗｅｂアプリケーションを呼び出すためのダミーアプリケーションがＭＦＰ１１０にインストールされている。
【００５４】
ＧＵＩボタン９０１は、図５（Ｂ）のダミーアプリケーションを呼び出すためのＧＵＩボタンである。
【００５５】
図１０は、実施形態に係るＭＦＰ１１０でユーザがＧＵＩボタン９０１を指示してから、Ｗｅｂブラウザ７０５がＷｅｂアプリケーションのコンテンツを表示するまでのシーケンス図である。
【００５６】
１００１では、メニューアプリケーション７０４がＧＵＩボタン９０１の押下を受け付けると、メニューアプリケーション７０４はアプリケーション管理部７０３に対して、アプリケーションの実行を通知する。
【００５７】
このときのアプリケーション管理部７０３の処理を以下に説明する。
【００５８】
図１１は、実施形態に係るＭＦＰ１１０のアプリケーション管理部７０３がアプリケーション呼び出しを受け付けた場合に実行する処理を説明するフローチャートである。尚、この処理を実行するプログラムはＨＤＤ２０４にインストールされており、実行時にはＲＡＭ２０３に展開されＣＰＵ２０１の制御の下に実行される。よって、ここではＣＰＵ２０１による処理として説明する。
【００５９】
Ｓ１１０１でＣＰＵ２０１は、図９の画面で指示されたアプリケーションの種類を判別する。ここで例えばＧＵＩボタン９０１が指示されて、ダミーアプリケーションが呼び出されたかどうかを判定する。ここでＧＵＩボタン９０１が指示されたときはＷｅｂアプリケーションが指示されたと判定してＳ１１０２に処理を進めるが、そうでなければＳ１１０５に処理を進める。Ｓ１１０２でＣＰＵ２０１は、ダミーアプリケーションのファイルからＷｅｂアプリケーションのＵＲＬを取得する。例えば図５（Ｂ）のダミーアプリケーションの例では、ファイル５１２を読み込んでＷｅｂアプリケーションサーバ１３０のアプリケーション処理部８０４を呼び出すＵＲＬを取得する。次にＳ１１０３に進みＣＰＵ２０１は、Ｗｅｂブラウザ７０５に対して、Ｓ１１０２で取得したＵＲＬを設定する。そしてＳ１１０４に進みＣＰＵ２０１は、操作部１１１の表示をメニューアプリケーション７０４からＷｅｂブラウザ７０５のＧＵＩウィンドウに切り変えて処理を終了する。
【００６０】
一方、Ｓ１１０５でＣＰＵ２０１は、Ｗｅｂアプリケーションではないため、操作部１１１の表示をメニューアプリケーション７０４から指示されたＭＦＰ１１０上で実行可能なアプリケーション、例えばコピーやＳＥＮＤ等のＧＵＩウィンドウに切り変える。そしてこの処理を終了する。
【００６１】
以上の処理により、図９のメニュー画面のアイコンで指示されたアプリケーションの画面を表示することができる。特にＷｅｂアプリケーションのＧＵＩボタン９０１が指示されると、そのＷｅｂアプリケーションを呼び出すためにＷｅｂアプリケーションサーバ１３０のＵＲＬにアクセスできる。
【００６２】
図１０に戻り、１００２でＷｅｂブラウザ７０５が、Ｗｅｂアプリケーションサーバ１３０にＨＴＴＰプロトコルによる要求を行う。これは、図１１のフローチャートのＳ１１０３で、Ｗｅｂブラウザ７０５にファイル５１２（図５（Ｂ））のＵＲＬが設定された結果である。この要求を受け付けたＷｅｂアプリケーションサーバ１３０の通信部８０１は、アプリケーション処理部８０４に対して、この要求を渡す。このときのアプリケーション処理部８０４の処理を以下に説明する。
【００６３】
図１２は、実施形態に係るＷｅｂアプリケーションサーバ１３０のアプリケーション処理部８０４がＨＴＴＰによる要求を受けた場合に実行する、正しく登録されたＭＦＰ１１０からの要求かどうかを判定する処理を説明するフローチャートである。尚、この処理を実行するプログラムはＨＤＤ３０４にインストールされており、実行時にはＲＡＭ３０２に展開されＣＰＵ３０１の制御の下に実行される。よって、ここではＣＰＵ３０１による処理として説明する。
【００６４】
まずＳ１２０１でＣＰＵ３０１は、ＭＦＰ１１０からのＨＴＴＰ要求に含まれるヘッダ情報を取得する。次にＳ１２０２に進みＣＰＵ３０１は、Ｓ１２０１で取得したヘッダ情報からトークンを取得し、トークン管理テーブル８０５に問合せる。ここでトークンを取得でき、かつトークン管理テーブル８０５からそのトークンに対応するレコードが取得できた場合はＳ１２０３へ処理を進め、そうでなければＳ１２０５に処理を進める。Ｓ１２０３でＣＰＵ３０１は、Ｓ１２０２で取得したレコードからトークンの有効期限を確認する。ここで現在日時が有効期限内であると判定するとＳ１２０４に処理を進め、そうでなければＳ１２０６に処理を進める。Ｓ１２０４でＣＰＵ３０１は、そのＭＦＰ１１０が正しく登録されたＭＦＰであると判定し、Ｓ１２０２で取得したレコードに含まれるデバイスＩＤに対応したコンテンツを応答して、この処理を終了する。
【００６５】
一方、Ｓ１２０５でＣＰＵ３０１は、トークンがない、もしくは正しくない要求を受け付けたケースであるため、ＭＦＰのライセンス確認用のＪａｖａＳｃｒｉｐｔを含むコンテンツを応答して、この処理を終了する。ライセンス確認用のＪａｖａＳｃｒｉｐｔの内容については、後述する。
【００６６】
またＳ１２０６は、有効期限切れトークンが含まれる要求を受け付けた場合であるため、ＣＰＵ３０１は、トークンの有効期限切れをユーザに表示するためのコンテンツを応答する。
【００６７】
以上の処理により、Ｗｅｂアプリケーションサーバ１３０は、登録されているＭＦＰからのコンテンツの要求かどうかを判定し、正当なコンテンツの要求であると判定すると、そのＭＦＰ１１０に対してコンテンツを応答する。
【００６８】
再び図１０に戻り、１００３で、アプリケーション処理部８０４が、ライセンス確認用のＪａｖａＳｃｒｉｐｔを含むコンテンツを応答する。これは、１００２での、ＨＴＴＰプロトコルによる要求にトークンが含まれていないため、図１２のフローチャートのＳ１２０２からＳ１２０５に進んだ場合で、ＭＦＰ１１０に対してライセンスの確認要求を行うものである。この応答を受けたＷｅｂブラウザ７０５は、このＪａｖａＳｃｒｉｐｔを実行する。このときのＷｅｂブラウザ７０５の処理を説明する。
【００６９】
図１３は、実施形態に係るＭＦＰ１１０のＷｅｂブラウザ７０５が実行する、ＭＦＰのライセンス確認処理用のＪａｖａＳｃｒｉｐｔに記載されている処理を説明するフローチャートである。
【００７０】
先ずＳ１３０１でＷｅｂブラウザ７０５は、アプリケーション管理部７０３に対してトークンを要求する。この時に、アプリケーション管理部７０３は、現在のＷｅｂブラウザ７０５のＵＲＬとダミーアプリケーションのファイルに含まれるＵＲＬとを比較する。そして両方が一致していれば、そのダミーアプリケーションに対応して保存していたトークンをＷｅｂブラウザ７０５に渡す。Ｓ１３０２でＷｅｂブラウザ７０５は、Ｓ１３０１でトークンが取得できたかどうかを判定する。ここでトークンが取得できたと判定したときはＳ１３０９に処理を進め、そうでないときはＳ１３０３に処理を進める。Ｓ１３０３でＷｅｂブラウザ７０５は、アプリケーション管理部７０３に対して署名を要求する。この時のアプリケーション管理部７０３の処理を説明する。
【００７１】
図１４は、実施形態に係るＭＦＰ１１０による、図１３のＳ１３０３の署名取得処理を説明するフローチャートである。尚、この処理を実行するプログラムはＨＤＤ２０４にインストールされており、実行時にはＲＡＭ２０３に展開されＣＰＵ２０１の制御の下に実行される。よって、ここではＣＰＵ２０１による処理として説明する。
【００７２】
先ずＳ１４０１でＣＰＵ２０１は、現在のＷｅｂブラウザ７０５のＵＲＬとダミーアプリケーションのファイルに含まれるＵＲＬとを比較する。ここで一致していれば正しいＵＲＬと判断してＳ１４０２に処理を進めるが、そうでなければＳ１４０６に処理を進めエラーを応答して、この処理を終了する。Ｓ１４０２でＣＰＵ２０１は、ＭＦＰ１１０のオペレーションシステムから現在日時を取得する。次にＳ１４０３に進みＣＰＵ２０１は、ＭＦＰ１１０に個別に設定されているデバイスＩＤを取得する。そしてＳ１４０４に進みＣＰＵ２０１は、ダミーアプリケーションのファイルに含まれるＷｅｂアプリケーションの秘密鍵を用いてデジタル署名した署名情報を作成する。このときの署名情報には、Ｓ１４０２で取得した現在日時と、Ｓ１４０３で取得したデバイスＩＤと、インストール時に決定した有効期限日が含まれる。そしてＳ１４０５に進みＣＰＵ２０１は、現在日時、デバイスＩＤ、有効期限日、そして署名情報をＷｅｂブラウザ７０５に渡して、この処理を終了する。
【００７３】
次に図１３に戻り、Ｓ１３０４で、Ｗｅｂブラウザ７０５が、Ｓ１３０３で署名情報の取得が成功したかを判定する。ここで成功したと判定するとＳ１３０５に処理を進めるが、そうでなければＳ１３１１に処理を進める。Ｓ１３０５では、Ｗｅｂブラウザ７０５が、Ｓ１３０３で取得した現在日時、デバイスＩＤ、有効期限日、署名情報をＨＴＴＰ要求のヘッダ部分に設定する。そしてＳ１３０６に進み、Ｗｅｂブラウザ７０５が、Ｓ１３０５で設定したＨＴＴＰ要求を初期登録用ＵＲＬに送信する。次にＳ１３０７に進み、Ｓ１３０６での通信が成功したかどうか判定する。ここで成功したと判定するとＳ１３０８に処理を進め、そうでなければＳ１３１１に遷移する。Ｓ１３０８では、Ｗｅｂブラウザ７０５が、Ｓ１３０６で通信が成功した場合に応答されるトークンをアプリケーション管理部７０３に渡す。これによりアプリケーション管理部７０３は、その渡されたトークンをＵＲＬに対応づけて保存する。そしてＳ１３０９に進みＷｅｂブラウザ７０５が、現在のＵＲＬに対応したクッキーにトークン情報を保存する。これにより次回以降の要求にはトークンがクッキー情報として付加されて、Ｗｅｂアプリケーションに渡されることになる。そしてＳ１３１０に進み、Ｗｅｂブラウザ７０５が現在のページのリロードを行って、この処理を終了する。またＳ１３１１は、署名が失敗した場合であり、エラーを表示して処理を終了する。
【００７４】
以上が、ＪａｖａＳｃｒｉｐｔによってＷｅｂブラウザ７０５が行う処理である。
【００７５】
再び図１０に戻る。１００４では、図１３と図１４のフローチャートを参照して説明したように、初期登録処理ＵＲＬが呼び出される。ここでは、まだＭＦＰ１１０はトークンを取得していない状態であるため、図１３のＳ１３０２でトークンが取得できないと判定される。そして図１４のフローチャートで示す処理により、図５（Ｂ）のファイル５１１の秘密鍵で現在日時、デバイスＩＤ、有効期限日がデジタル署名された署名情報が作成される。そして１００６で、ＭＦＰ１１０のＷｅｂブラウザ７０５が初期登録処理ＵＲＬに対してＨＴＴＰ要求を行う。この要求を受け付けたＷｅｂアプリケーションサーバ１３０の通信部８０１は、初期登録処理部８０２にその要求を渡す。このときの初期登録処理部８０２の処理を説明する。
【００７６】
図１５は、実施形態に係るＷｅｂアプリケーションサーバ１３０の初期登録処理部８０２が、ＭＦＰ１１０からＨＴＴＰによる要求を受けた場合に実行するＭＦＰの登録処理を説明するフローチャートである。尚、この処理を実行するプログラムはＨＤＤ３０４にインストールされており、実行時にはＲＡＭ３０２に展開されＣＰＵ３０１の制御の下に実行される。よって、ここではＣＰＵ３０１による処理として説明する。
【００７７】
まずＳ１５０１でＣＰＵ３０１は、ＨＴＴＰ要求のヘッダ情報から日時とデバイスＩＤと有効期限日そして署名情報を取得する。次にＳ１５０２に進みＣＰＵ３０１は、Ｓ１５０１で取得したヘッダ情報から日時とデバイスＩＤと有効期限日、そして署名情報を検証する。次にＳ１５０２に進みＣＰＵ３０１は、検証に成功したかどうかを判定し、成功した場合はＳ１５０３に処理を進め、そうでなければＳ１５０７に処理を進める。Ｓ１５０３でＣＰＵ３０１は、Ｓ１５０１で取得した日時が正しいかどうかを判定する。ここで日時が正しいかどうかの判定は、Ｗｅｂアプリケーションサーバの現在日時との差が予め決められた時間以内であるかどうかにより判定する。ここで正しい日時であると判定した場合Ｓ１５０４に処理を進め、そうでなければＳ１５０７に処理を進める。Ｓ１５０４は、正しいダミーアプリケーションがインストールされたＭＦＰからの要求であるとＣＰＵ３０１が判定した場合であるため、ＣＰＵ３０１は、そのＭＦＰのためのトークンを生成する。次にＳ１５０５に進みＣＰＵ３０１は、その生成したトークンをトークン管理テーブル８０５に登録する。次にＳ１５０６に進みＣＰＵ３０１は、その生成したトークンを要求元のＭＦＰ１１０に応答して、この処理を終了する。またＳ１５０７でＣＰＵ３０１は、初期登録処理が失敗したため、エラーを要求元のＭＦＰ１１０に応答して、この処理を終了する。
【００７８】
以上が、初期登録処理部８０２が行う初期登録処理の説明である。
【００７９】
再び図１０に戻り、１００５でＷｅｂアプリケーションサーバ１３０は、図１５のフローチャートで示す処理により、初期登録処理が行われてトークンが生成される。そして、要求元のＷｅｂブラウザ７０５に対してトークンを応答する。こうしてトークンが応答されると、Ｗｅｂブラウザ７０５は図１３のＳ１３０７でトークンの取得に成功したと判定する。
【００８０】
次に１００６で、図１３のＳ１３１０の処理により、Ｗｅｂブラウザ７０５がＷｅｂアプリケーションサーバ１３０にＨＴＴＰプロトコルによる要求を行う。このとき、このＨＴＴＰ要求に含まれるクッキーには、トークンが含まれている。そして１００７で、図１２のＳ１２０２とＳ１２０３の処理により正しいトークンと判断されると、Ｗｅｂアプリケーションのコンテンツが応答される。以上が、初回のＷｅｂアプリケーションのコンテンツをＷｅｂブラウザ７０５が表示するまでのシーケンスの説明である。
【００８１】
このように実施形態によれば、Ｗｅｂアプリケーションサーバ１３０は、ＭＦＰ１１０にインストールされたダミーアプリケーションが持つ秘密鍵で署名された情報が正しいかどうかでライセンスを検証する。そしてＭＦＰ１１０をＷｅｂアプリケーションサーバ１３０に登録するかどうかを判定できる。つまり、Ｗｅｂアプリケーションを購入して、ダミーアプリケーションをインストールしていないＭＦＰからの要求は受け付けないようにできる。この際に、ＭＦＰ１１０とライセンス管理サーバ１２０との通信は必要ない。
【００８２】
また、２回目以降のＷｅｂアプリケーションの呼び出しでは、図１２のＳ１２０２の処理でトークンが保存されていると判定するため初期登録処理は行わない。このように、ＭＦＰのＷｅｂブラウザ７０５を登録する時にトークンを発行することで、Ｗｅｂブラウザ７０５から要求する度に署名をする必要がなくなり、ライセンスの検証が可能となる。
【００８３】
また、購入したＷｅｂアプリケーションの有効期限が切れた場合、図１２のＳ１２０３でトークンが無効と判定されて有効期限切れのコンテンツが応答される。このため、ＭＦＰ１１０のユーザに対して、追加の有効期限のライセンスを購入する等の処理を促すことが可能になる。
【００８４】
尚、実施形態では、Ｗｅｂアプリケーションサーバ１３０のアプリケーション管理部７０３が署名処理を行っていたが、ダミーアプリケーションに図１４の署名取得処理を実行するためのプログラムを含めるソフトウェア構成でもよい。
【００８５】
また、更に、ダミーアプリケーションに、図１１に示すような、Ｗｅｂアプリケーションと判断された場合のアプリケーションの呼び出し処理を実行するプログラムを含める構成でもよい。
【００８６】
また、本実施形態に係るＭＦＰ１１０では、Ｗｅｂアプリケーションサーバ１３０から渡されたＪａｖａＳｃｒｉｐｔによって登録処理を行っている。しかし、例えばダミーアプリケーションがＪａｖａＳｃｒｉｐｔを保持していて、それをＷｅｂブラウザ７０５に読み込ませるようソフトウェアを構成してもよい。
【００８７】
（その他の実施形態）
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（又はＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【００８８】
本発明は上記実施の形態に制限されるものではなく、本発明の精神及び範囲から離脱することなく、様々な変更及び変形が可能である。従って、本発明の範囲を公にするために、以下の請求項を添付する。
【符号の説明】
【００８９】
１１０…ＭＦＰ，１２０…ライセンス管理サーバ、１３０…Ｗｅｂアプリケーションサーバ、２０１，３０１…ＣＰＵ，４０２…アプリケーション管理部、４０３…アプリケーション管理テーブル、４０４…ライセンス管理部、４０５…ライセンス管理テーブル、７０３…アプリケーション管理部、７０５…Ｗｅｂブラウザ、８０３…初期登録処理部、８０４…アプリケーション処理部、８０５…トークン管理テーブル。
【図１】
2019079549.tif 000003
【図２】
2019079549.tif 000004
【図３】
2019079549.tif 000005
【図４】
2019079549.tif 000006
【図５】
2019079549.tif 000007
【図６】
2019079549.tif 000008
【図７】
2019079549.tif 000009
【図８】
2019079549.tif 000010
【図９】
2019079549.tif 000011
【図１０】
2019079549.tif 000012
【図１１】
2019079549.tif 000013
【図１２】
2019079549.tif 000014
【図１３】
2019079549.tif 000015
【図１４】
2019079549.tif 000016
【図１５】
2019079549.tif 000017