(57)【要約】【課題】Ｗｅｂ接続用ＭＦＰアプリ間で共有するクッキーと共有しないクッキーとを使い分ける。【解決手段】画像処理装置にインストールされるＷｅｂ接続用ＭＦＰアプリ毎にクッキーを共有するかどうかを設定するための共有フラグを設定する。共有フラグが有効な場合は、共有クッキー管理部にクッキーを保存してブラウザはそれを使用する。共有フラグが有効でなければ、Ｗｅｂ接続用ＭＦＰアプリのクッキー管理部にクッキーを保存してブラウザはそれを使用する。【選択図】図８
2020091544.tif 000002
【特許請求の範囲】
【請求項１】
Ｗｅｂブラウザと、
前記Ｗｅｂブラウザにより、設定済みのアクセス先へとアクセスさせるためのアクセス手段と、
前記設定済みのアクセス先ごとに、共用情報と、前記アクセス先へのアクセスの際に用いるクッキーとを格納する第一の格納手段と、
複数の設定済みアクセス先へのアクセスの際に共用する共用クッキーを格納する第二の格納手段と、
前記共用情報が設定された前記設定済みのアクセス先へのアクセスの際には、前記第二の格納手段に格納した共用クッキーを用い、前記共用情報が設定されていない前記設定済みのアクセス先へのアクセスの際には、前記第一の格納手段に格納したクッキーを用いるよう制御する制御手段と
を有することを特徴とする情報処理装置。
【請求項２】
請求項１に記載の情報処理装置であって、
前記第一の格納手段または前記第二の格納手段に格納されるクッキーまたは共用クッキーは、リダイレクトによるアクセス先との間のクッキーを含むことを特徴とする情報処理装置。
【請求項３】
請求項１または２に記載の情報処理装置であって、
前記共用情報は、前記第一の格納手段または前記第二の格納手段の、いずれに格納されたクッキーを用いるかを指定する情報であることを特徴とする情報処理装置。
【請求項４】
請求項１または２に記載の情報処理装置であって、
前記共用情報は、アクセス先を指定する情報の一部を含み、
前記制御手段は、前記アクセス先を指定する情報の一部が一致するアクセス先へのアクセスの際には、前記第二の格納手段に格納した共用クッキーを用い、そうでない場合には前記第一の格納手段に格納したクッキーを用いるよう制御することを特徴とする情報処理装置。
【請求項５】
請求項１または２に記載の情報処理装置であって、
前記共用情報は、アクセス先を指定する情報の一部と、認証チェック情報とを含み、
前記制御手段は、前記アクセス先を指定する情報の一部が一致するアクセス先へのアクセスであり、かつ、認証チェック情報が設定され、かつ、前記情報処理装置にログインしているユーザがいる場合には、前記第二の格納手段に格納した共用クッキーを用い、そうでない場合には前記第一の格納手段に格納したクッキーを用いるよう制御することを特徴とする情報処理装置。
【請求項６】
請求項４または５に記載の情報処理装置であって、
前記アクセス先を指定する情報の一部は、アクセス先のドメインを示す情報であることを特徴とする情報処理装置。
【請求項７】
請求項１乃至６のいずれか一項に記載の情報処理装置であって、
前記制御手段は、
前記第一の格納手段に格納したクッキーを用いる場合には、アクセス先から取得したクッキーを前記第一の格納手段に格納し、当該アクセス先へとアクセスする際に該当するクッキーが前記第一の格納手段に格納されている場合には当該クッキーを前記アクセス先へと送信し、
前記第二の格納手段に格納したクッキーを用いる場合には、アクセス先から取得したクッキーを前記第二の格納手段に格納し、当該アクセス先へとアクセスする際に該当するクッキーが前記第二の格納手段に格納されている場合には当該クッキーを前記アクセス先へと送信し、
前記Ｗｅｂブラウザが保存したクッキーを削除する
ことを特徴とする情報処理装置。
【請求項８】
請求項１乃至７のいずれか一項に記載の情報処理装置であって、
前記制御手段は、前記クッキーに、前記アクセス先へとログインするための認証情報を保存し、前記アクセス先から受信した情報に基づいて表示した認証画面に、前記クッキーから取得した前記認証情報を入力する
ことを特徴とする情報処理装置。
【請求項９】
請求項１乃至８のいずれか一項に記載の情報処理装置であって、
前記アクセス手段と、前記第一の格納手段と、前記制御手段とは、前記設定済みアクセス先ごとに前記Ｗｅｂブラウザを起動するＷｅｂ接続用アプリケーションに含まれることを特徴とする情報処理装置。
【請求項１０】
請求項１乃至９のいずれか一項に記載の情報処理装置であって、
画像形成手段と、画像読取手段とを更に有し、
前記設定済みのアクセス先は、Ｗｅｂアプリケーションを提供するサーバを含むことを特徴とする情報処理装置。
【請求項１１】
Ｗｅｂブラウザと、前記Ｗｅｂブラウザにより、設定済みのアクセス先ごとに、共用情報と、前記アクセス先へのアクセスの際に用いるクッキーとを格納する第一の格納手段と、複数の設定済みアクセス先へのアクセスの際に共用する共用クッキーを格納する第二の格納手段とを有する情報処理装置の制御方法であって、
前記Ｗｅｂブラウザにより設定済みのアクセス先へとアクセスさせ、
前記共用情報が設定された前記設定済みのアクセス先へのアクセスの際には、前記第二の格納手段に格納した共用クッキーを用い、前記共用情報が設定されていない前記設定済みのアクセス先へのアクセスの際には、前記第一の格納手段に格納したクッキーを用いるよう制御する
ことを特徴とする情報処理装置の制御方法。
【請求項１２】
Ｗｅｂブラウザと、前記Ｗｅｂブラウザにより、設定済みのアクセス先ごとに、共用情報と、前記アクセス先へのアクセスの際に用いるクッキーとを格納する第一の格納手段と、複数の設定済みアクセス先へのアクセスの際に共用する共用クッキーを格納する第二の格納手段とを有する情報処理装置を、
前記Ｗｅｂブラウザにより設定済みのアクセス先へとアクセスさせ、
前記共用情報が設定された前記設定済みのアクセス先へのアクセスの際には、前記第二の格納手段に格納した共用クッキーを用い、前記共用情報が設定されていない前記設定済みのアクセス先へのアクセスの際には、前記第一の格納手段に格納したクッキーを用いるよう制御する
ためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置及びその制御方法、及びプログラムに関する。
【背景技術】
【０００２】
コピー機能や送信機能を備えた複合機（ＭＦＰ：Ｍｕｌｔｉ  Ｆｕｎｃｔｉｏｎ  Ｐｅｒｉｐｈｅｒａｌ。以下、画像形成装置とも称する）には、アプリケーションを複合機内にインストールすることで複合機の機能を拡張できる装置が普及している。このような機能拡張のためのアプリケーションには、ネットワークで接続された特定のアドレスのＷｅｂサーバに接続しＷｅｂサーバで実行される、Ｗｅｂアプリケーションの操作画面を、画像形成装置が備えるブラウザにより表示して、ユーザが操作できるものがある。以降、このようなアプリケーションをＷｅｂ接続用ＭＦＰアプリと称する。
【０００３】
画像形成装置には、アドレスが異なる複数のＷｅｂ接続用ＭＦＰアプリを格納することも一般的である。ブラウザがログインないしはログアウトをすると、複数のＷｅｂ接続用ＭＦＰアプリが同期して連携することも一般的である（特許文献１）。そして利用頻度の高いアドレスをプリセットしたボタン等として登録しておき、画像形成装置の起動時には、そのようなボタン等を含む、利用可能な複数の機能メニューの一覧を表示することでユーザの利便性を高めている。
【０００４】
ブラウザを利用してＷｅｂサーバへ通信をすると、Ｗｅｂサーバが返すページの入力フィールド（ログインをするための認証ＩＤやパスワード、文書を格納するサービス等で指定する際の文書名など）をユーザが入力をしてＷｅｂサーバへリクエストを送信する。ブラウザは一般的にクッキーなどと呼ばれる永続領域に格納し、次回からはクッキーに保持した情報を入力フィールドに自動補完することが一般的である（特許文献２）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特願２０１２−９５６５２号公報
【特許文献２】特願２０１３−１２９９６９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ここで例えば、複数のＷｅｂ接続用ＭＦＰアプリ（サイトＡ用）、Ｗｅｂ接続用ＭＦＰアプリ（サイトＢ用）とＷｅｂ接続用ＭＦＰアプリ（サイトＣ用）、ブラウザ（Ｘ）を搭載している画像形成装置を想定する。サイトＡとサイトＢは、社外連携用のサイトであり、サイトＣは社内用のサイトである。それぞれのＷｅｂ接続用アプリは、サイトＡ、サイトＢ、サイトＣに接続するために、認証サーバを利用する構成である。ユーザは、認証サーバで認証するアカウントを社外連携用と社内用で２つ保有して使い分けている。
【０００７】
このような構成では、Ｗｅｂ接続用ＭＦＰアプリ（サイトＡ用）を利用してブラウザ（Ｘ）を表示すると、認証サーバにアクセスして認証情報の入力を求められ、入力した情報をブラウザはＨＴＴＰクッキー（以下クッキーとも呼ぶ）に保有する。Ｗｅｂ接続用ＭＦＰアプリ（サイトＣ用）を利用すると、ブラウザは認証サーバにアクセスして、認証情報の入力欄に、格納したクッキーに保持された情報から該当する情報を複製して表示する。この場合、入力すべきは社内用アカウントであるにも関わらず社外連携用アカウントが入力されるため、再入力が必要になる。一方、Ｗｅｂ接続用ＭＦＰアプリ（サイトＢ用）を利用する場合には、クッキーに保持された社外連携用のアカウント情報を認証情報の入力欄に複製するため、再入力することなく認証を受けることができる。
【０００８】
このように、クッキーを共有することで利便性が向上するＷｅｂ接続用ＭＦＰアプリもあれば、クッキーを共有することで利便性が低下するＷｅｂ接続用ＭＦＰアプリも存在する。それにもかかわらず、例えば上記例の認証サーバのように、一つのアクセス先については、ブラウザのクッキーは必ず共有される。そのためクッキーに保持した情報を有効に利用できず、例えば再入力等が必要になることがある。
【０００９】
本発明は上記従来技術に鑑みてなされたもので、設定済みのアクセス先に応じて、クッキーを共有するか否かを使い分けることで利便性を高めることを目的とする。
【課題を解決するための手段】
【００１０】
上記目的を達成するために本発明は以下の構成を有する。すなわち、本発明の第一の側面によれば、Ｗｅｂブラウザと、
前記Ｗｅｂブラウザにより、設定済みのアクセス先へとアクセスさせるためのアクセス手段と、
前記設定済みのアクセス先ごとに、共用情報と、前記アクセス先へのアクセスの際に用いるクッキーとを格納する第一の格納手段と、
複数の設定済みアクセス先へのアクセスの際に共用する共用クッキーを格納する第二の格納手段と、
前記共用情報が設定された前記設定済みのアクセス先へのアクセスの際には、前記第二の格納手段に格納した共用クッキーを用い、前記共用情報が設定されていない前記設定済みのアクセス先へのアクセスの際には、前記第一の格納手段に格納したクッキーを用いるよう制御する制御手段と
を有することを特徴とする情報処理装置が提供される。
【発明の効果】
【００１１】
本発明によれば、設定済みのアクセス先に応じて、クッキーを共有するか否かを使い分けることで利便性を高めることができる。
【図面の簡単な説明】
【００１２】
【図１】本発明の実施形態に係る情報処理システムの全体構成を示す図。
【図２】実施形態に係るＭＦＰのハードウェア構成を説明するブロック図。
【図３】実施形態に係るライセンス管理サーバのハードウェア構成を示すブロック図。
【図４】実施形態に係るライセンス管理サーバのソフトウェアモジュールの構成を説明するブロック図。
【図５】実施形態に係るＭＦＰアプリ管理テーブルの一例を示す図（Ａ）、ライセンス管理テーブルの一例を示す図（Ｂ）。
【図６】実施形態に係るライセンス管理サーバが発行するライセンスファイルの一例を示す図。
【図７】実施形態に係るＭＦＰのアプリケーション及びソフトウェアモジュールの構成を示す図。
【図８】実施形態に係るＷｅｂ接続用ＭＦＰアプリのソフトウェアモジュールの構成を示す図。
【図９】実施形態に係るＷｅｂ接続用ＭＦＰアプリのマニフェストファイルの一例を示す図。
【図１０】実施形態に係るＷｅｂアプリサーバのソフトウェアモジュールの構成を示す図。
【図１１】実施形態に係るＭＦＰにおける処理の一例を示すフローチャート。
【図１２】実施形態に係るＭＦＰの操作部に表示されるＧＵＩの一例を示す図。
【図１３】本発明の実施形態に係る情報処理システムにおける処理の一例を示すシーケンス図。
【図１４】実施形態に係るＭＦＰにおける処理の一例を示すフローチャート。
【図１５】実施形態に係るＷｅｂアプリサーバにおける処理の一例を示すフローチャート。
【図１６】実施形態に係るローカルＭＦＰアプリのソフトウェアモジュールの構成を示す図。
【図１７】実施形態に係るローカルＭＦＰアプリのマニフェストファイルの一例を示す図。
【図１８】実施形態に係るライセンス情報テーブルの一例を示す図。
【図１９】実施形態に係るＭＦＰにおける処理の一例を示すフローチャート。
【図２０】実施形態に係るＭＦＰにおける処理の一例を示すフローチャート。
【図２１Ａ】実施形態に係る管理テーブルの一例を示す図。
【図２１Ｂ】実施形態に係る管理テーブルの一例を示す図。
【図２２】実施形態に係る標準ブラウザ特定処理のフローチャート。
【図２３】実施形態に係るクッキー取得処理のフローチャート。
【図２４】実施形態に係るＭＦＰの操作部に表示されるＧＵＩのイメージ図の一例を示す図。
【図２５】実施形態に係るＭＦＰの操作部に表示されるＧＵＩのイメージ図の一例を示す図。
【図２６】実施形態に係るＷｅｂブラウザの終了処理のフローチャート。
【図２７】実施形態に係る接続アプリ取得処理のフローチャート。
【図２８】実施形態に係るクッキー格納処理のフローチャート。
【図２９】実施形態に係る管理テーブルの一例を示す図。
【図３０】実施形態に係るクッキー取得処理のフローチャート。
【図３１】実施形態に係るクッキー格納処理のフローチャート。
【図３２】実施形態に係るクッキー取得処理のフローチャート。
【図３３】実施形態に係るクッキー格納処理のフローチャート。
【発明を実施するための形態】
【００１３】
以下、添付図面を参照して本発明の実施形態を詳しく説明する。尚、以下の実施形態は特許請求の範囲に係る本発明を限定するものでなく、また本実施形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。
【００１４】
本実施形態では、アプリケーションを次のように定義する。ネットワークで接続されたＷｅｂサーバから提供されるタイプのアプリケーションをＷｅｂアプリケーション（あるいはウエブアプリケーション、以降、Ｗｅｂアプリ）と呼ぶ。Ｗｅｂアプリの操作画面は、複合機が備えるＷｅｂブラウザ（ウエブブラウザ）を用いて表示する。一方、複合機にインストールするタイプのアプリケーションをＭＦＰアプリケーション（あるいはデバイスアプリケーション、以降、ＭＦＰアプリ）と呼ぶ。インストールされたＭＦＰアプリは、複合機内にデータ及びプログラムとして格納されている。
●課題の具体例
課題をより具体的な例で説明する。画像形成装置にＷｅｂ接続用ＭＦＰアプリ（サイトＡ用）とＷｅｂ接続用ＭＦＰアプリ（サイトＢ用）とＷｅｂ接続用ＭＦＰアプリ（サイトＣ用）、ブラウザ（Ｘ）を搭載していたとする。サイトＡ、サイトＢ、サイトＣに接続するために、認証サーバ（auth.com）を利用する構成である。サイトＡとサイトＢは社外連携用の文書管理システム等で、サイトＣは社内用の出張管理システム等である。ユーザは、認証サーバで認証するアカウントを社外連携用と社内用で２つ保有して使い分けている。例えば、社外連携用アカウントはpublic@auth.com、社内用アカウントはprivate@auth.comとする。
【００１５】
（１）Ｗｅｂ接続用ＭＦＰアプリ（サイトＡ用）の利用を開始してブラウザで認証サーバ（auth.com）にアクセスすると認証情報の入力を求められる。社外連携用（public@auth.com）アカウントを入力してログインをしてサイトＡの文書管理システムにアクセスをして業務を行う。ユーザがブラウザをログアウトして終了すると、ブラウザは社外連携用（public@auth.com）の認証情報をクッキーに格納する。
【００１６】
（２）Ｗｅｂ接続用ＭＦＰアプリ（サイトＣ用）の利用を開始して、ブラウザで認証サーバ（auth.com）にアクセスする。ブラウザは認証サーバとユーザが合致するために（１）で格納した社外連携用のクッキーを使用して認証情報に表示する。しかし、ユーザは社内用のアカウントを利用する必要があるので、再入力をしなければならない。
【００１７】
（３）社内用（private@ auth.com）アカウントを再入力してサイトＣの出張管理システムにアクセスして業務を行いログアウトして終了すると、ブラウザは社内用（private@auth.com）の認証情報をクッキーに上書き保存する。
【００１８】
（４）Ｗｅｂ接続用ＭＦＰアプリ（サイトB用）の利用を開始して、認証サーバにアクセスすると、ブラウザは（３）で格納した社内用のクッキーを使用して認証情報を表示する。しかし、ユーザは社外連携用のアカウントを利用する必要があるので、再入力をしなければならない。
上記から、クッキーを共有しておきたくないＷｅｂ接続用ＭＦＰアプリもあれば、クッキーを共有しておきたいＷｅｂ接続用ＭＦＰアプリも存在するにもかかわらず、必ずブラウザのクッキーが共有されるので再入力が必要になる。なお本明細書では、「共有」を「共用」という場合もある。
【００１９】
次のような課題のユースケースもあげられる。
画像形成装置にＷｅｂ接続用ＭＦＰアプリ（サイトＡＡ用）とＷｅｂ接続用ＭＦＰアプリ（サイトＢＢ用）とＷｅｂ接続用ＭＦＰアプリ（サイトＣＣ用）、ブラウザ（Ｘ）を搭載していたとする。サイトＡＡ、サイトＢＢ、サイトＣＣに接続するために、認証サーバ（auth.com）を利用する構成である。サイトＡＡとサイトＢＢとサイトＣＣは全て同じディスクスペース（drive.com）である。サイトＡＡとサイトＢＢは社外との共有や連携を利用目的としており、サイトＣＣは社内向けの利用目的としている。外部との連携では、格納先の初期フォルダに'\public'を、社内向けでは、格納先の初期フォルダに'\private'を使用するものとする。
ユーザは、認証サーバで認証するアカウントは共通で１つのアカウントaccount@auth.comを使用しているとする。
【００２０】
（１）Ｗｅｂ接続用ＭＦＰアプリ（サイトＡＡ用）を利用開始してブラウザで認証サーバ（auth.com）にアクセスすると認証情報の入力を求められる。アカウント（account@auth.com）を入力してログインをしてディスクスペース（drive.com）にアクセスをする。外部との連携目的なので、初期フォルダとして'\public'を選択した後、ユーザがブラウザをログアウトして終了すると、ブラウザはディスクスペースの初期フォルダ（'\public'）をクッキーに格納する。
【００２１】
（２）Ｗｅｂ接続用ＭＦＰアプリ（サイトＣＣ用）の利用を開始して、ブラウザで認証サーバ（auth.com）にアクセスする。ブラウザは認証サーバとユーザが合致するために（１）で格納した社外連携用のクッキーを使用して認証情報に表示する。アカウントは共通で一つのユースケースなので、再入力なしで、ディスクスペース（drive.com）にアクセスをする。ブラウザは、（１）で格納したクッキーを使用して初期フォルダ'\public'を選択して表示をする。しかし、ユーザは、社内向けの初期フォルダを利用する必要があるため、'\private'を再選択する必要がある。
【００２２】
（３）初期フォルダ'\private'を選択してサイトＣＣ用の業務を行いログアウトして終了すると、ブラウザはディスクスペースの初期フォルダ（'\private'）を上書き保存する。
【００２３】
（４）Ｗｅｂ接続用ＭＦＰアプリ（サイトＢＢ用）の利用を開始して、ブラウザで認証サーバ（auth.com）にアクセスする。ブラウザは認証サーバとユーザが合致するために（１）で格納した社外連携用のクッキーを使用して認証情報に表示する。アカウントは共通で一つのユースケースなので、再入力なしで、ディスクスペース（drive.comＩ）にアクセスをする。ブラウザは、（３）で格納したクッキーを使用して初期フォルダ'\private'を選択して表示をする。しかし、ユーザは、外部との連携目的の初期フォルダを利用する必要があるため、'\ public'を再選択する必要がある。
【００２４】
上記から、クッキーを共有しておきたくないＷｅｂ接続用ＭＦＰアプリもあれば、クッキーを共有しておきたいＷｅｂ接続用ＭＦＰアプリも存在するにもかかわらず、必ずブラウザのクッキーが共有されるので再選択が必要になる。以下に説明する実施形態は、上述した課題を解決するための手段を与える情報処理システムの例である。Ｗｅｂ接続用MFPアプリのことをＷｅｂ接続用アプリケーションと呼ぶこともある。
【００２５】
（第１の実施形態）
●情報処理システム
図１は、本発明の実施形態に係る情報処理システムの全体構成を示す図である。この情報処理システムでは、ＬＡＮ１００を介してＭＦＰ１１０とＰＣ１４０とが接続されており、またこのＬＡＮ１００は、インターネット１５０に接続されている。更にこのインターネット１５０には、ライセンス管理サーバ１２０とＷｅｂアプリサーバ（Ｗｅｂサーバ）１３０、認証サーバ１３３、文書管理サーバ１３４が接続されている。
【００２６】
ＭＦＰ１１０は、操作部１１１、スキャナ部１１２、プリンタ部１１３を有する複合機（多機能処理装置）である。実施形態に係るＭＦＰ１１０は、内蔵する（すなわちインストール済みの）Ｗｅｂブラウザを利用してＷｅｂアプリの操作画面を表示及び操作するクライアント端末としても機能する。またＭＦＰ１１０は、Ｗｅｂアプリの指示に応じて、画像形成部であるプリンタ部１１３を利用してＷｅｂアプリから取得した画像を印刷でき、画像読取部であるスキャナ部１１２を利用して原稿を読み取って得られた画像データをＷｅｂアプリに送信できる。このためにＭＦＰ１１０には、Ｗｅｂアプリに対してデバイス（ＭＦＰのこと）の持つプリンタやスキャナなどの機能を提供するサービスプロバイダを有する。これによりＭＦＰ１１０からアクセスされたＷｅｂアプリは、そのＭＦＰ１１０のサービスプロバイダに対して所望の機能を用いたサービスの提供を要求することができる。尚、この実施形態に係るＭＦＰにはデバイスＩＤという識別子が割り当てられており、この識別子により一意に、各ＭＦＰを特定、認識できる。
【００２７】
ライセンス管理サーバ１２０は、ＭＦＰアプリのライセンスを管理するサーバである。Ｗｅｂアプリサーバ１３０は、Ｗｅｂアプリを実行するサーバである。ＰＣ１４０は、ＭＦＰ１１０に対して各種設定を行うための端末装置として機能している。但し、上述のシステム構成はあくまでも一例であり、これらの機器の数などは、本実施形態に限定されない。
【００２８】
認証サーバ１３３はＷｅｂアプリサーバ１３０や文書管理サーバ１３４等のサーバを利用する際に、ユーザ認証を行うサーバである。認証サーバ１３３は、たとえばユーザごとにアカウントＩＤとパスワードといった認証情報を保存しており、端末に対して認証画面を提供する。そして認証画面において入力された認証情報を保存している認証情報と照合し、一致するものが有れば認証は成功したとしてユーザに対して目的のサーバへのアクセスを許す。文書管理サーバ１３４は、文書データを保持しており、ユーザ（あるいは端末として機能するＭＦＰ等の装置）からの要求に応じて文書データを提供する機能を持つ。
【００２９】
●画像形成装置（ＭＦＰ）のハードウェア
図２は、実施形態に係るＭＦＰ１１０のハードウェア構成を説明するブロック図である。操作部１１１は、タッチパネル機能を有する表示部や各種ハードキー等を有し、制御部２００からのデータに従ってユーザに対して情報を表示したり、ユーザの操作に応じた情報を制御部２００に入力したりする。スキャナ部１１２は、原稿上の画像を読み取って、その画像の画像データを作成して制御部２００に供給する。プリンタ部１１３は、制御部２００から受け取った画像データに基づいて用紙上に画像を印刷する。
【００３０】
制御部２００は、操作部１１１、スキャナ部１１２、プリンタ部１１３と電気的に接続されており、またＬＡＮ１００にもネットワークインターフェース（Ｉ／Ｆ）２０６を介して接続されている。これによりＬＡＮ１００を介した、ＴＣＰ／ＩＰ等の通信プロトコルによる通信が可能となっている。制御部２００において、ＣＰＵ２０１、ＲＯＭ２０２、ＲＡＭ２０３、ＨＤＤ２０４、操作部Ｉ／Ｆ２０５、ネットワークＩ／Ｆ２０６、スキャナＩ／Ｆ２０７、画像処理部２０８及びプリンタＩ／Ｆ２０９がシステムバス２１１を介して接続されている。ＣＰＵ２０１は、ＲＯＭ２０２のブートプログラムを実行してＨＤＤ２０４に記憶されたＯＳや制御プログラムをＲＡＭ２０３に展開し、そのプログラムに基づいてこのＭＦＰ１１０を統括的に制御する。この制御には、後述のフローチャートを実現するためのプログラムの実行も含む。ＲＯＭ２０２には、このＭＦＰ１１０のブートプログラムや各種データが格納されている。ＲＡＭ２０３は、ＣＰＵ２０１が動作するためのワークメモリを提供し、また画像データを一時記憶するための画像メモリも提供している。ＨＤＤ２０４はハードディスクドライブであり、ＯＳや各種プログラムや画像データを格納している。
【００３１】
操作部Ｉ／Ｆ２０５は、システムバス２１１と操作部１１１とを接続するためのインターフェース部である。ネットワークＩ／Ｆ２０６は、ＬＡＮ１００及びシステムバス２１１に接続し、ネットワークを介して情報の入出力を行う。スキャナＩ／Ｆ２０７は、スキャナ部１１２と制御部２００との間のインターフェースを制御する。画像処理部２０８は、スキャナ部１１２から入力した画像データ、及びプリンタ部１１３に出力する画像データに対して、回転、色変換、画像圧縮／伸張処理などの画像処理を行う。プリンタＩ／Ｆ２０９は、画像処理部２０８で処理された画像データを受け取り、この画像データに付随している属性データに従ってプリンタ部１１３による印刷を制御する。尚、実施形態では、操作部１１１を用いたＵＩ表示が可能なＭＦＰの例で説明するが、このＭＦＰ１１０に代えて、例えば汎用コンピュータ等のような情報処理装置を採用してもよい。
【００３２】
なお本実施形態ではＭＦＰ１１０による情報処理サービスに着目していることから、ＭＦＰ１１０を情報処理装置と呼ぶこともある。操作部１１１には、たとえば立ち上げ後の初期画面において、Ｗｅｂ接続用ＭＦＰアプリの登録済みのショートカット（あるいはＧＵＩボタン）が表示される。Ｗｅｂ接続用ＭＦＰアプリは、アクセス先のＷｅｂアプリケーションを提供するＷｅｂアプリサーバ１３０ごとに用意してよい。ショートカットが操作される（押下される）と、対応するＷｅｂ接続用ＭＦＰアプリが起動されて、Ｗｅｂブラウザを起動し、Ｗｅｂブラウザにより設定されたアクセス先（Ｗｅｂアプリ）へとアクセスさせる。すなわち、Ｗｅｂ接続用ＭＦＰアプリは、Ｗｅｂブラウザにより、設定済みのアクセス先へとアクセスさせるためのプログラムである。
【００３３】
●ライセンス管理サーバのハードウェア
図３は、実施形態に係るライセンス管理サーバ１２０のハードウェア構成を示すブロック図である。ライセンス管理サーバ１２０は、ＣＰＵ３０１、ＲＡＭ３０２、ＲＯＭ３０３、ハードディスクドライブ（ＨＤＤ）３０４、ネットワークＩ／Ｆ３０５を有し、これらはシステムバス３０６を介して互いに通信可能に接続されている。ＲＯＭ３０３はブートプログラムを格納しており、ＣＰＵ３０１は電源オン時に、このブートプログラムを読み出してＨＤＤ３０４にインストールされているＯＳや制御プログラム等をＲＡＭ３０２に展開する。そしてＣＰＵ３０１が、ＲＡＭ３０２に展開したプログラムを実行することにより、このライセンス管理サーバ１２０の機能が実現される。またＣＰＵ３０１は、ネットワークＩ／Ｆ３０５を介して接続されているネットワーク上の他の装置との通信を行う。尚、Ｗｅｂアプリサーバ１３０とＰＣ１４０、認証サーバ１３３、文書管理サーバ１３４のハードウェア構成も、図３で示したライセンス管理サーバ１２０のハードウェア構成と同様であるため、その説明を省略する。ただしＰＣ１４０は端末装置ともなり得るので、キーボードなどのユーザインターフェースを有している。
【００３４】
●ライセンス管理サーバのソフトウェア
図４は、実施形態に係るライセンス管理サーバ１２０のソフトウェアモジュールの構成を説明するブロック図である。これらモジュールを実現するプログラムはライセンス管理サーバ１２０のＨＤＤ３０４に格納されており、それをＲＡＭ３０２に展開してＣＰＵ３０１が実行することにより、これらモジュールの機能が達成される。
【００３５】
本実施形態に係るライセンス管理サーバ１２０は、ＭＦＰアプリの暗号化、個々のＭＦＰにＭＦＰアプリをインストールするためのライセンスの発行、個々のライセンスを管理するライセンスアクセス番号の発行の３つの処理を行う。
【００３６】
通信部４０１は、ネットワークを介して外部装置と通信して処理要求の受け付けを行い、その処理要求に応じて、ＭＦＰアプリ管理部４０２とライセンス管理部４０４に要求を振り分ける。ＭＦＰアプリ管理部４０２は、暗号化前のＭＦＰアプリを受け取って、そのＭＦＰアプリを暗号化する。ＭＦＰアプリ管理部４０２は、インターネット１５０に接続された端末（不図示）を通じて、アプリケーション開発ベンダーからＭＦＰアプリを受け取る。そして、そのＭＦＰアプリを一意に識別するためのＩＤ（以降、ＭＦＰアプリＩＤ）と、そのＭＦＰアプリの暗号共通鍵を生成してＭＦＰアプリ管理テーブル４０３に登録する。ＭＦＰアプリＩＤは、個々のＭＦＰアプリを識別するための識別情報である。ＭＦＰアプリの暗号共通鍵は、そのＭＦＰアプリを暗号化するための暗号鍵である。そして、その暗号共通鍵を用いてＭＦＰアプリを暗号化し、その暗号化したＭＦＰアプリと、ＭＦＰアプリＩＤとを要求元に送信する。ＭＦＰアプリ管理テーブル４０３は、ＭＦＰアプリ管理部４０２が生成したＭＦＰアプリＩＤとＭＦＰアプリの暗号共通鍵を関連付けて保存するデータベースである。
【００３７】
図５（Ａ）は、実施形態に係るＭＦＰアプリ管理テーブル４０３の一例を示す図である。列５０１は、ＭＦＰアプリＩＤ、列５０２は、ＭＦＰアプリの暗号共通鍵を示している。
【００３８】
ライセンス管理部４０４は、各ＭＦＰにＭＦＰアプリをインストールするためのライセンスの発行を行い、また、ライセンスの発行を行うためのライセンスアクセス番号を管理する。アプリケーションを販売する販売者から、販売対象のＭＦＰアプリに対応するライセンスアクセス番号の発行要求を受け取ると、ライセンス管理部４０４は、そのＭＦＰアプリに対応したライセンスアクセス番号を発行する。そして、そのライセンスアクセス番号をライセンス管理テーブル４０６に登録する。ここでライセンスアクセス番号は、一意にそのＭＦＰアプリの一つのライセンスを管理するための番号であり、アプリケーションの販売者は、前述の暗号化されたＭＦＰアプリと、このライセンスアクセス番号とを併せて販売する。またライセンス管理部４０４は、ＭＦＰアプリの購入者から、ライセンスアクセス番号とデバイスＩＤを受け取ると、その購入者（ユーザ）に対してライセンスを発行する。このライセンスの発行は、ＭＦＰアプリ管理テーブル４０３とライセンス管理テーブル４０６とを参照して、ライセンスアクセス番号に対応したライセンスファイルを作成する処理である。
【００３９】
ここではまず、ライセンス管理部４０４は受け取ったライセンスアクセス番号から対応するＭＦＰアプリＩＤを取得し、ＭＦＰアプリＩＤに紐づくＭＦＰアプリの暗号共通鍵を取得する。そしてライセンスＩＤを発行し、ライセンス管理テーブル４０６にデバイスＩＤとライセンスＩＤとを記録するとともに、これら情報を１つのファイルとしてライセンスファイルを作成する。こうして作成されたライセンスファイルは、ライセンス管理部４０４が内部に保持するライセンスファイルの暗号鍵４０５で暗号化して要求元に送信する。ライセンスファイルの暗号鍵４０５は、公開鍵暗号化方式における公開鍵である。尚、これに対応する秘密鍵は後述するＭＦＰ１１０のソフトウェアに含まれている。ライセンス管理テーブル４０６は、ライセンスに関係する情報を保存するデータベースである。
【００４０】
図５（Ｂ）は、実施形態に係るライセンス管理テーブル４０６の一例を模式的に示す図である。列５１１はＭＦＰアプリＩＤ、列５１２はライセンスアクセス番号、列５１３はライセンスの有効期限を日数で示している。この日数は、ＭＦＰアプリをＭＦＰにインストールした日時から数えて何日間有効であるかを示している。列５１４はデバイスＩＤ（ＭＦＰアプリをインストールしたＭＦＰのＩＤ）、列５１５はライセンスＩＤを示している。行５１６は、ライセンスアクセス番号を発行しているが、ライセンスが未発行のＭＦＰアプリの例であり、ここではデバイスＩＤとライセンスＩＤは空である。行５１７はライセンスを発行済みのＭＦＰアプリの例を示し、デバイスＩＤ（ＤＥＶ００１）とライセンスＩＤ（ＬＩＣ００１）が登録されている。また行５１８もライセンスを発行済みのＭＦＰアプリの例を示し、有効期限は６０日、デバイスＩＤ（ＤＥＶ００２）とライセンスＩＤ（ＬＩＣ００２）が登録されている。
【００４１】
このようにライセンス管理テーブル４０６には、ＭＦＰアプリのＩＤとＭＦＰ１１０のデバイスＩＤとが対応付けて登録されている。このため、このライセンス管理テーブル４０６を参照することにより、どのＭＦＰに、どのＭＦＰアプリのライセンスが発行されているかが分かる。
【００４２】
図６は、実施形態に係るライセンス管理サーバ１２０が発行するライセンスファイルの一例を示す図である。ここでは、図５（Ｂ）のライセンス管理テーブル４０６の行５１８に対応するライセンスファイルの一例を示している。ここでは図５（Ｂ）のライセンス管理テーブル４０６から、ラインセンスＩＤ（ＬＩＣ００２）、ＭＦＰアプリＩＤ（ＡＰＰ７１２），デバイスＩＤ（ＤＥＶ００２）、有効期限（６０日）が得られる。また図５（Ａ）のＭＦＰアプリ管理テーブル４０３から、アプリケーション（ＡＰＰ７１２）の暗号共通鍵（WasiIDcQR6dYj...）が得られている。このようにライセンスファイルは、ライセンス管理部４０４が、ＭＦＰアプリ管理テーブル４０３とライセンス管理テーブル４０６から取得した情報に基づいて作成されている。このようにしてＭＦＰアプリの購入者は、その購入したＭＦＰアプリのライセンスアクセス番号を基に、暗号化されたライセンスファイルを取得することができる。
【００４３】
●ＭＦＰのソフトウェア
図７は、実施形態に係るＭＦＰ１１０のソフトウェアモジュールの構成を示す図である。これらソフトウェアモジュールは、ＭＦＰ１１０のＨＤＤ２０４に格納され、実行時にはＲＡＭ２０３に展開されてＣＰＵ２０１により実行される。なおＭＦＰアプリに関しては、それがアプリケーションプラットフォームにインストールされている場合、アプリケーションプラットフォームにより実行されるものということもできる。この場合にもアプリケーションプラットフォームはソフトウェアモジュールなので、ＣＰＵにより実行されることになる。
【００４４】
インストール処理部７０１は、ＭＦＰアプリのインストールを制御する。インストール処理部７０１は、ネットワークＩ／Ｆ２０６を介してＰＣ１４０に接続され、ＰＣ１４０からの指示によりＭＦＰアプリのインストールを実行する。またインストール処理部７０１は、暗号化されたライセンスファイルを復号化するためのライセンスファイル復号鍵７０２を含んでいる。このライセンスファイル復号鍵７０２は、前述のライセンスファイル暗号鍵４０５に対応している。ＭＦＰアプリ管理部７０３は、ＭＦＰ１１０にインストールされているＭＦＰアプリを管理する。ライセンス情報テーブル７２０は、インストールされたＭＦＰアプリおよびライセンスファイルに関係する情報を保存するデータベースである。
【００４５】
図１８は、実施形態に係るライセンス情報テーブル７２０の一例を模式的に示す図である。このライセンス情報テーブル７２０は、ＭＦＰアプリＩＤ１８０１、ライセンスの有効期限１８０２、ライセンスＩＤ１８０３、ライセンスＩＤ履歴１８０４を保持している。ライセンスＩＤ履歴１８０４は、過去にインストールしたライセンスＩＤの履歴であり、ライセンスの再利用を防止するために保持している。
【００４６】
行１８１１は、ＭＦＰアプリＩＤが「ＡＰＰ７１１」であるＭＦＰアプリに対して、有効期限が無期限のライセンスがライセンスＩＤ「ＬＩＣ０１０」で発行されていることを示している。行１８１２は、ＭＦＰアプリＩＤが「ＡＰＰ７１２」であるＭＦＰアプリに対して、有効期限が２０１６年１２月１０日のライセンスがライセンスＩＤ「ＬＩＣ００２」で発行されていることを示している。また、過去にライセンスＩＤ「ＬＩＣ００３」のライセンスがインストールされたことを示している。行１８１３は、ＭＦＰアプリＩＤが「ＡＰＰ７１４」であるＭＦＰアプリに対して、有効期限が無期限のライセンスがライセンスＩＤ「ＬＩＣ０１１」で発行されていることを示している。
【００４７】
メニューアプリ７０４は、ＭＦＰ１１０にインストールされているＭＦＰアプリを選択して実行させるためのＧＵＩを表示する。Ｗｅｂブラウザ７０５、７０６は、Ｗｅｂアプリサーバ１３０と通信を行う。Ｗｅｂブラウザ７０５、７０６は、Ｗｅｂアプリサーバ１３０にＨＴＴＰプロトコルを用いて要求を送信し、その要求に応答して返送されるＨＴＭＬデータ（画面情報）をレンダリングして操作部１１１に表示したり、応答されたＪａｖａＳｃｒｉｐｔ（登録商標）を解釈して実行する。なおＷｅｂブラウザは一つでもよいし、３つ以上でもよい。Ｗｅｂブラウザ７０５，７０６はそれぞれクッキー管理部７０５０１，７０６０１を有しており、Ｗｅｂアプリサーバや認証サーバ等のサーバから受信したクッキーを保存し管理する。クッキー管理部７０５０１，７０６０１は、ブラウザが実行されている間、クッキーを保持するもので、ブラウザが実行されていない場合にクッキーを保持することはない。
【００４８】
次に、ＭＦＰアプリの購入者によるＭＦＰアプリのインストールについて説明する。ユーザはＰＣ１４０を用いて、インストール処理部７０１に対して、暗号化されたアプリケーション（アプリケーションプログラムファイル）と、暗号化されたライセンスファイルを送信する。インストール処理部７０１は、受信したそれぞれのファイルを用いてそのＭＦＰアプリのインストール処理を行う。このときまずインストール処理部７０１はライセンスファイル復号鍵７０２を用いて、ライセンスファイルを復号する。そして、その復号したライセンスファイルに含まれるＭＦＰアプリの暗号共通鍵を用いて、暗号化されたＭＦＰアプリを復号する。こうして復号されたＭＦＰアプリは、アプリケーション管理部７０３に渡されてＨＤＤ２０４に保存される。この時、復号されたライセンスファイルに記載されているデバイスＩＤと、ＭＦＰ１１０に予め設定されているデバイスＩＤとを比較し、正しいライセンスファイルかどうかを判定する。またライセンスファイルに記載されている有効期限と現在の日時とから、そのＭＦＰアプリが無効となる日時を計算し、有効期限日としてＭＦＰアプリ管理部７０３で管理する。
【００４９】
図７では、実施形態の一例としてＡＰＰ７１１、ＡＰＰ７１２、ＡＰＰ７１３、ＡＰＰ７１４の４本のＭＦＰアプリがインストールされているものとする。なお、本実施形態ではＭＦＰアプリとして、Ｗｅｂ接続用ＭＦＰアプリとローカルＭＦＰアプリという２種類のＭＦＰアプリを定義する。また、単にＭＦＰアプリと記述した場合は、Ｗｅｂ接続用ＭＦＰアプリとローカルＭＦＰアプリを総称したものとする。ＡＰＰ７１１とＡＰＰ７１２とＡＰＰ７１３はＷｅｂ接続用ＭＦＰアプリで、ＡＰＰ７１４はローカルＭＦＰアプリである。
【００５０】
Ｗｅｂ接続用ＭＦＰアプリは、Ｗｅｂサーバに配置されたＷｅｂアプリが提供する機能をＭＦＰ１１０から実行するためのアプリである。Ｗｅｂ接続用ＭＦＰアプリは、Ｗｅｂブラウザ７０５を用いてＷｅｂアプリに接続して、Ｗｅｂアプリが提供する機能をＭＦＰ１１０から実行する。Ｗｅｂ接続用ＭＦＰアプリの詳細は図８で後述する。
【００５１】
一方、ローカルＭＦＰアプリは、ＭＦＰ１１０のスキャナ部１１２、プリンタ部１１３、画像処理部２０８などを利用した機能をソフトウェアモジュールとしてＭＦＰ１１０に提供するアプリである。ローカルＭＦＰアプリは、自身が持つソフトウェアモジュールを呼び出すことで、自身が提供する機能をＭＦＰ１１０で実行する。ローカルＭＦＰアプリの詳細は図１６で後述する。なお、ＭＦＰにインストールされているＭＦＰアプリの種類、本数はＭＦＰごとに異なる。ＭＦＰアプリは例えばＪＡＶＡ（登録商標）で記述されたプログラムであり、ＭＦＰ１１０に設けたたとえばＪＡＶＡ（登録商標）実行環境などをベースにしたプラットフォームにインストールされる。
【００５２】
設定管理部７０７は、標準ブラウザテーブル（図２１Ａ（ｂ））を管理する。標準ブラウザテーブルでは、複数のＷｅｂブラウザのうち、特にＷｅｂブラウザを指定せずに実行する際に標準設定として起動されるＷｅｂブラウザを特定する情報が含まれる。ユーザ管理部７０８は、ログイン中のユーザを管理する。フォーマット変換部７０９は、クッキー（ＵＲＬ、Ｋｅｙ、Ｖａｌｕｅ）に特定のユーザＩＤを付与する。これによりＵＲＩを特定のユーザつ紐づけることができる。ブラウザ判断部７１０は、標準ブラウザ特定処理を呼び出して標準ブラウザを特定する。接続アプリ管理部７１５は、特定の呼び出し元のＷｅｂ接続用ＭＦＰアプリ、すなわち押下されたＧＵＩボタンに対応するＷｅｂ接続用ＭＦＰアプリを管理する。共有クッキー管理部７１６は、複数のＷｅｂ接続用アプリで供用される共有クッキー（あるいは共用クッキー）を格納し、管理する格納部である。クッキーとはＨＴＴＰサーバが発行する情報であり、ＨＴＴＰでは通常失われてしまうＨＴＴＰサーバとＨＴＴＰクライアントとの間の通信内容の記憶等のためにＨＴＴＰクライアントに送り付けられて保持される。なお一のサーバであっても、インストールされたＷｅｂアプリケーショごとに発行してもよい。クライアントが当該サーバにアクセスする場合には、そのクッキーもサーバに送信することで、ＨＴＴＰにおいてもクライアントとサーバとの関連付けを維持することができる。クッキーには様々な情報を持たせることができる。クッキーはこのように特定のサーバとクライアントとの間のＨＴＴＰ通信で入力や通信内容などの記憶のために利用されることから、例えば特定サーバ向け記憶情報などと呼ぶこともできる。
【００５３】
●ローカルＭＦＰアプリ
図１６は実施形態に係るローカルＭＦＰアプリのソフトウェアモジュールの構成を示す図である。ローカルＭＦＰアプリは、提供する機能によりソフトウェアモジュールの構成が異なる。図１６では一例として、スキャナ部１１２で読み取った原稿を、ネットワークＩ／Ｆ２０６を通して外部に送信する機能を提供するローカルＭＦＰアプリのソフトウェアモジュール構成を示す。図１６に提示したこれらソフトウェアモジュールは、ＭＦＰ１１０のＨＤＤ２０４に格納され、実行時にはＲＡＭ２０３に展開されてＣＰＵ２０１により実行される。ローカルＭＦＰアプリは、ＭＦＰアプリ管理４０２によるＭＦＰアプリの暗号化に際して暗号化対象とはならないマニフェストファイル１６０１と、暗号化対象となるアプリケーションプログラムファイル本体部とを含む。
【００５４】
マニフェストファイル１６０１は、ＭＦＰアプリがその機能に関わらず含むファイルであり、ＭＦＰアプリの基本情報を記述したファイルである。図１７に実施形態に係るマニフェストファイルの一例を示す。マニフェストファイルにはＭＦＰアプリＩＤ１７０１、アプリケーション名１７０２が定義されている。ＭＦＰアプリＩＤ１７０１は、ＭＦＰアプリ管理テーブル４０３で管理されているものと同じＩＤである。アプリケーション名１７０２は、ＭＦＰアプリの名称を表す。これらの基本情報は、アプリケーションプログラムファイル本体が暗号化されていても復号することなく参照することができる。
【００５５】
アプリケーションプログラムファイル本体には、ＭＦＰアプリの機能に応じた処理モジュールが含まれる。メニューアプリ連携部１６１１は、メニューアプリ７０４と連携するモジュールで、メニューアプリ７０４に、ローカルＭＦＰアプリを呼び出すためのＧＵＩボタンを登録する。スキャナ処理部１６１２は、スキャナ部１１２を用いて原稿を読み取るためのモジュールである。送信処理部１６１３は、スキャナ処理部１６１２が読み取った原稿をネットワークＩ／Ｆ２０６を通して外部へ送信するためのモジュールである。画面処理部１６１４は、ローカルＭＦＰアプリＡＰＰ７１４の操作画面を操作部１１１に表示するためのモジュールである。
【００５６】
ローカルＭＦＰアプリは、アプリごとに実現する機能が異なるため、アプリケーション開発ベンダーがアプリごとに機能を実現するためのソフトウェアモジュールをプログラミングする必要がある。
【００５７】
作成したローカルＭＦＰアプリはライセンス管理サーバ１２０に送信することにより、マニフェストファイル１６０１以外のソフトウェアモジュールが暗号化され、１つのファイルとしてまとめられる。アプリケーション開発ベンダーは、このアプリケーションの暗号化機能を利用することにより、このアプリケーションの中身を第３者が解析するのを防止できる。
【００５８】
●Ｗｅｂ接続用ＭＦＰアプリ
図８は実施形態に係るＷｅｂ接続用ＭＦＰアプリのソフトウェアモジュールの構成を示す図である。Ｗｅｂ接続用ＭＦＰアプリは、Ｗｅｂアプリごとに必要となる設定情報をマニフェストファイル８０１や電子署名用鍵８１５に保持する。つまり、ひとつのＷｅｂアプリに対して、ひとつのＷｅｂ接続用ＭＦＰアプリが必要となる。ＭＦＰ１１０には、使用するＷｅｂアプリに応じたＷｅｂ接続用ＭＦＰアプリをインストールする。複数のＷｅｂアプリを使用する場合、複数のＷｅｂ接続用ＭＦＰアプリをＭＦＰ１１０にインストールする。その場合、複数のＷｅｂ接続用ＭＦＰアプリは、ひとつのＷｅｂブラウザ７０５を共有して使用することになる。Ｗｅｂ接続用ＭＦＰアプリも、ＭＦＰアプリ管理４０２によるＭＦＰアプリの暗号化に際して暗号化対象とはならないマニフェストファイル８０１と、暗号化対象となるアプリケーションプログラムファイル本体部とを含む。図８に提示したこれらソフトウェアモジュールは、ＭＦＰ１１０のＨＤＤ２０４に格納され、実行時にはＲＡＭ２０３に展開されてＣＰＵ２０１により実行される。
【００５９】
マニフェストファイル８０１は、ＭＦＰアプリの基本情報とＷｅｂアプリへ接続するための情報を記述したファイルである。図９に実施形態に係るマニフェストファイルの一例を示す。マニフェストファイルにはＭＦＰアプリＩＤ９０１、アプリケーション名９０２、ＷｅｂアプリケーションＵＲＬ９０３、コンテキストルートＵＲＬ９０４、ＳＳＢ設定９０５、デバイス情報リスト９０６が定義されている。
【００６０】
ＭＦＰアプリＩＤ９０１とアプリケーション名９０２は、図１７で提示したローカルＭＦＰアプリのマニフェストファイル１６０１と同様の定義である。ＷｅｂアプリケーションＵＲＬ９０３、コンテキストルートＵＲＬ９０４、ＳＳＢ設定９０５、デバイス情報リスト９０６は、Ｗｅｂ接続用ＭＦＰアプリ固有の情報である。
【００６１】
ＷｅｂアプリケーションＵＲＬ９０３は、ＷｅｂアプリのトップページのＵＲＬを表す。すなわちＷｅｂアプリケーションＵＲＬ９０３は、Ｗｅｂアプリによるサービスを受けるためのアクセス先情報を示す。コンテキストルートＵＲＬ９０４は、Ｗｅｂアプリの最上位パスを表す。ＳＳＢ（Ｓｉｔｅ  Ｓｐｅｃｉｆｉｃ  Ｂｒｏｗｓｅｒ）設定９０５は、このＭＦＰアプリがＷｅｂアプリに接続する際に、Ｗｅｂブラウザに設定する設定値を表す。ＳＳＢ設定はＷｅｂブラウザのＵＩに関する設定と通信に関する設定を含む。ＷｅｂブラウザのＵＩに関する設定の例として、ツールバーの非表示やＵＲＬ入力の制限、お気に入り追加の制限などがある。通信に関する設定の例として、Ｃｏｏｋｉｅの処理方法、ＨＴＴＰＳ／ＨＴＴＰ混在ページの表示制限、キャッシュの使用可否などがある。Ｗｅｂアプリに接続するＭＦＰアプリ毎に、ＳＳＢ設定を行うことによって、Ｗｅｂアプリ毎に専用のＷｅｂブラウザ設定を行うことができる。ＳＳＢ設定を使用しない場合、マニフェストファイルにＳＳＢ設定９０５を定義しないことも許される。デバイス情報リスト９０６は、Ｗｅｂアプリのトップページを呼び出す際に通知するデバイス情報の一覧を表す。デバイス情報とは、ＭＦＰ１１０に関する情報のことで、例えば、ＭＦＰ１１０の個体や機種を特定する情報、ＭＦＰ１１０で有効なオプション機能、ログインしているユーザ名、ソフトウェアのバージョンなどである。デバイス情報の取得が不要な場合、マニフェストファイルにデバイス情報リスト９０６を定義しないことも許される。マニフェストファイルに記録された情報は、対応するＭＦＰアプリごとに固有に関連付けられた情報である。
【００６２】
Ｗｅｂ接続用ＭＦＰアプリのアプリケーションプログラムファイル本体において、メニューアプリ連携部８１１は、メニューアプリ７０４と連携するモジュールで、メニューアプリ７０４にＷｅｂ接続用ＭＦＰアプリを呼び出すためのＧＵＩボタンを登録する。Ｗｅｂブラウザ連携部８１２は、Ｗｅｂブラウザ７０５を操作するためのモジュールで、Ｗｅｂブラウザ７０５へＷｅｂアプリのＵＲＬを渡したり、Ｗｅｂブラウザ７０５を操作部１１１の前面に表示したりする。デバイス情報取得部８１３は、デバイス情報リスト９０６で指定されたデバイス情報を取得する。署名処理部８１４は、Ｗｅｂアプリへ接続する際に付加する電子署名を生成する。電子署名は、電子署名用鍵８１５を使って生成する。電子署名は、Ｗｅｂ接続用ＭＦＰアプリからの呼び出しであることをＷｅｂアプリがチェックするために使用する。Ｗｅｂアプリが、このチェックを省略することは自由であり、その場合、電子署名は不要であるため、Ｗｅｂ接続用ＭＦＰアプリは電子署名用鍵８１５を含まない構成となる。
【００６３】
なお、個々のＷｅｂ接続用ＭＦＰアプリで異なるのは、マニフェストファイル８０１の記述と電子署名用鍵８１５のみであり、他のソフトウェアモジュールは全てのＷｅｂ接続用ＭＦＰアプリで同一である。つまり、ソフトウェアモジュールを流用すれば、Ｗｅｂアプリに関する情報を定義するだけで、Ｗｅｂ接続用ＭＦＰアプリを作成することができる。例えば、Ｗｅｂアプリに関する情報を入力すると、Ｗｅｂ接続用ＭＦＰアプリを出力するようなツールを用意することで、簡単にＷｅｂ接続用ＭＦＰアプリを作成することができる。
【００６４】
作成したＷｅｂ接続用ＭＦＰアプリはライセンス管理サーバ１２０に送信することにより、マニフェストファイル８０１以外のソフトウェアモジュール、ファイルが暗号化され、１つのファイルとしてまとめられる。アプリケーション開発ベンダーは、このアプリケーションの暗号化機能を利用することにより、このアプリケーションの中身を第三者が解析するのを防止できる。また内部に含んでいる電子署名用鍵８１５が取り出されるのを防止できる。
【００６５】
Ｗｅｂ接続用ＭＦＰアプリは、さらに次に説明するような機能モジュールを有している。クッキー管理部８１６は、クッキー管理テーブルを用いて、そのＷｅｂ接続用ＭＦＰアプリによってアクセスするＷｅｂサーバが発行するクッキーを格納し、管理する。共有フラグ管理部８１７は、クッキーに関する共有フラグ（図２９（ａ））を管理する。クッキー管理部８１６を第一の格納部、共有クッキー管理部７１６を第二の格納部と呼ぶこともある。共有フラグは、クッキーをブラウザ単位で共有することを示すフラグであり、共有しない場合には、Ｗｅｂアプリケーションごとに維持され、参照される。共有ドメイン管理部８１８は、クッキーを共有するか否かをドメイン（ＵＲＬなど）単位で切り替えられるようにするため、クッキーを共有する共有ドメイン名（図２９（ｂ））を管理する。なお共有ドメイン単位のクッキーの共有は第２、第３実施形態で使用するので、本実施形態においては共有ドメイン管理部８１８を持たなくともよい。ドメインはアクセス先を指定する情報の一部であるが、アクセス先そのものを特定してもよい。認証チェック管理部８１９は、クッキーの共有を、ログイン中のユーザが認証済みであることを条件にすることを示す認証チェックフラグ（図２９（ｃ））を管理する。なお認証チェックフラグは第３実施形態で使用するので、本実施形態および第２実施形態においては認証チェック管理部８１９を持たなくともよい。なお、共有フラグ管理部８１７に格納される共有フラグ（あるいは共用フラグとも呼ぶ）および共有ドメイン管理部８１８に格納される共有ドメイン（共用ドメインとも呼ぶ）など、共有クッキー（共用クッキーとも呼ぶ）を特定するための情報を、共有情報（あるいは共用情報）とも呼ぶ。また認証チェックフラグはフラグでなくともよいので認証チェック情報とも呼ぶ。
【００６６】
●Ｗｅｂアプリサーバのソフトウェア
図１０（ａ）は、本実施形態に係るＷｅｂアプリサーバ１３０のソフトウェアモジュールの構成を示す図である。これらソフトウェアモジュールは、Ｗｅｂアプリサーバ１３０のＨＤＤ３０４に格納されており、実行時にＲＡＭ３０２に展開されＣＰＵ３０１により実行されることにより、これらソフトウェアモジュールの機能が達成される。
【００６７】
通信部１００１は、ネットワークを介して外部装置と通信して要求の受け付けや応答を行う。Ｗｅｂアプリ処理部１００２は、ＨＴＴＰプロトコルによるＭＦＰ１１０からの要求に応じて、ＭＦＰ１１０のＷｅｂブラウザ７０５により表示されるＨＴＭＬコンテンツを生成したり、ＭＦＰ１１０を操作するためのコンテンツを生成したりする。署名検証部１００３は、図８で示したＷｅｂ接続用ＭＦＰアプリに含まれる電子署名用鍵８１５に対応する電子署名用鍵１００４を含んでおり、この鍵で電子署名した署名情報の検証を行う。電子署名を検証することで、Ｗｅｂ接続用ＭＦＰアプリがインストールされたＭＦＰ１１０からの要求であるかどうかを判断することができる。本実施例では一例として電子署名技術にＨＭＡＣ（Ｈａｓｈ−ｂａｓｅｄ  Ｍｅｓｓａｇｅ  Ａｕｔｈｅｎｔｉｃａｔｉｏｎ  Ｃｏｄｅ）を用いるものとする。つまり、電子署名用鍵８１５と電子署名用鍵１００４は同一の秘密鍵（共通鍵）である。なお、電子署名は他の技術を用いてもよい。例えば、電子署名技術としてデジタル署名を用いた場合、デジタル署名は公開鍵暗号方式であるため、Ｗｅｂ接続用ＭＦＰアプリの電子署名用鍵８１５は秘密鍵で、Ｗｅｂアプリサーバ１３０の電子署名用鍵１００４はその秘密鍵に対応する公開鍵となる。
ディレクトリ構造を分割して複数のソフトウェアモジュールを提供するＷｅｂアプリサーバ１３１や、同様の構成で複数のＷｅｂアプリサーバ１３１が存在する。例えば、社外用の文書管理サービスや社内用の出張管理システム等提供するサービスが異なることがあげられる。Ｗｅｂアプリサーバは、認証サーバ１３３や文書管理サーバ１３４を組み合わせることで、異なるサービスを提供する。
【００６８】
●認証サーバのソフトウェア
図１０（ｂ）は、本実施形態に係る認証サーバ１３３のソフトウェアモジュールの構成を示す図である。通信部１００１とＷｅｂアプリ処理部１００２、認証部１００５から成る。認証部１００５は、いわゆる一般的な認証機能を提供する。認証機能とは、Ｗｅｂアプリ処理部１００２が受け付けた要求に対する認証情報の入力のためのＨＴＭＬコンテンツの生成や、入力された認証情報のＨＴＭＬコンテンツの応答を受け付けたことによる存在チェック等である。Ｗｅｂアプリサーバ１３０が提供するサービスのユーザ認証を認証サーバ１３３に依頼する構成を想定している。Ｗｅｂアプリサーバ１３０のＷｅｂアプリ処理部１００２は、ＨＴＴＰプロトコルによるＭＦＰ１１０Ｗｅｂブラウザ７０５を介してリダイレクト処理を実行する。これにより認証サーバ１３３のＷｅｂアプリ処理部１００２は要求を受け付け、応答を行う。一般的に複数の認証サーバ１３３が提供されており、Ｗｅｂアプリサーバは任意の認証サーバを組み合わせてサービスを提供する。
【００６９】
●文書管理サーバのソフトウェア
図１０（ｃ）は、本実施形態に係る文書管理サーバ１３４のソフトウェアモジュールの構成を示す図である。通信部１００１とＷｅｂアプリ処理部１００２、文書管理部１００６から成る。文書管理部１００６は、いわゆる一般的な文書管理機能を提供する。文書管理機能は、Ｗｅｂアプリ処理部１００２が受け付けた要求に対する格納先フォルダを選択するＨＴＭＬコンテンツの生成等の機能を提供する。Ｗｅｂアプリサーバ１３０が提供するサービスの文書管理機能を文書管理サーバ１３４に依頼する構成を想定している。Ｗｅｂアプリサーバ１３０のＷｅｂアプリ処理部１００２は、ＨＴＴＰプロトコルによるＭＦＰ１１０Ｗｅｂブラウザ７０５を介してリダイレクト処理を実行する。これにより文書管理サーバ１３４のＷｅｂアプリ処理部１００２は要求を受け付け、応答を行う。一般的に複数の文書管理サーバ１３４が提供されており、Ｗｅｂアプリサーバは任意の文書管理サーバ１３４を組み合わせてサービスを提供する。
【００７０】
●ＭＦＰアプリのインストール処理
図１１は、ＭＦＰ１１０が行うＭＦＰアプリのインストール処理を説明するためのフローチャートである。ＭＦＰ１１０のＨＤＤ２０４に記憶されているプログラムを、ＣＰＵ２０１がＲＡＭ２０３に読み出し、解析、実行することで、図１１のフローチャートの各ステップが実行される。事前準備として、ＭＦＰアプリ購入者は、前述したように、暗号化されたＭＦＰアプリとライセンスアクセス番号をＭＦＰアプリの販売者から受け取り、ライセンス管理サーバ１２０からライセンスファイルを受け取り、ＰＣ１４０に格納しているものとする。
【００７１】
先ずインストール処理部７０１は、ＭＦＰアプリ購入者が操作するＰＣ１４０からインストールの指示として暗号化されたＭＦＰアプリと、暗号化されたライセンスファイルを受け取る（ステップＳ１１０１）。インストール処理部７０１は、ライセンスファイル復号鍵７０２を用いて、受け取ったライセンスファイルを復号する。そして、その復号したライセンスファイルに含まれるＭＦＰアプリの暗号共通鍵を用いて、暗号化されたＭＦＰアプリを復号する（ステップＳ１１０２）。ここでＭＦＰアプリがＷｅｂ接続用ＭＦＰアプリだった場合は、メニューアプリ連携部８１１、Ｗｅｂブラウザ連携部８１２、デバイス情報取得部８１３、署名処理部８１４の各モジュールと、電子署名用鍵８１５のファイルが復号される。また、ＭＦＰアプリがローカルＭＦＰアプリだった場合は、メニューアプリ連携部１６１１、スキャナ処理部１６１２、送信処理部１６１３の各モジュールが復号される。
【００７２】
インストール処理部７０１は、ライセンスファイルとＭＦＰアプリが両方とも復号できたかどうかをチェックする（ステップＳ１１０３）。インストール処理部７０１は、両方とも復号できた場合はステップＳ１１０４へ処理を進める。インストール処理部７０１は、どちらか一方または両方とも復号できなかった場合はエラーを通知（ステップＳ１１１０）して処理を終了する。
【００７３】
ステップＳ１１０４で、インストール処理部７０１は、復号したライセンスファイルに記載されているデバイスＩＤと、ＭＦＰ１１０に予め設定されているデバイスＩＤとを比較し、そのＭＦＰ１１０に適合した正しいライセンスファイルかどうかを判定する。インストール処理部７０１は、ライセンスファイルが正しいと判定すると、ステップＳ１１０５に処理を進める。インストール処理部７０１は、正しいライセンスファイルでないと判定すると、エラーを通知（ステップＳ１１１０）して処理を終了する。
【００７４】
ステップＳ１１０５で、インストール処理部７０１は、ライセンス情報をライセンス情報テーブル７２０に格納する。ライセンス情報とは、ＭＦＰアプリＩＤ、ライセンスＩＤ，ライセンスの有効期限を含む。ここで、インストール処理部７０１は、ライセンスファイルに記録されている有効期限と現在の日時から、ＭＦＰアプリが無効となる日時を計算してライセンスの有効期限として登録する。ライセンスファイルに記録されている有効期限が無期限の場合は、そのまま無期限として登録する。
【００７５】
次にインストール処理部７０１は、復号したＭＦＰアプリとライセンスファイルをＨＤＤ２０４に保存する。続けてインストール処理部７０１は、ＨＤＤ２０４に保存したＭＦＰアプリをＲＡＭ２０３に読み出し、起動する（ステップＳ１１０７）。起動したＭＦＰアプリは、メニューアプリにＭＦＰアプリを呼び出すためのＧＵＩボタンを登録する（ステップＳ１１０８）。このとき、起動したＭＦＰアプリがＷｅｂ接続用ＭＦＰアプリの場合は、メニューアプリ連携部８１１がステップＳ１１０７の処理を行う。一方、起動したＭＦＰアプリがローカルＭＦＰアプリの場合は、メニューアプリ連携部１６１１がステップＳ１１０７の処理を行う。また、操作部１１１に表示する画面を持たず、メニューアプリにＧＵＩボタンを登録する必要がないローカルＭＦＰアプリの場合は、ステップＳ１１０８の処理をスキップする。
【００７６】
図１２は、実施形態に係るＭＦＰ１１０にＭＦＰアプリＡＰＰ７１１、ＡＰＰ７１２、ＡＰＰ７１３、ＡＰＰ７１４をインストールした状態で、ＭＦＰ１１０のメニューアプリ７０４を呼び出したときに操作部１１１に表示されるＧＵＩの一例を示す図である。ＧＵＩボタンは、ＭＦＰ１１０に最初から備わっているアプリケーションを呼び出すためのＧＵＩボタンである。
【００７７】
ＧＵＩボタン１２０４は、Ｗｅｂ接続用ＭＦＰアプリＡＰＰ７１１を呼び出すためのＧＵＩボタンである。ＧＵＩボタン１２０５は、Ｗｅｂ接続用ＭＦＰアプリＡＰＰ７１２を呼び出すためのＧＵＩボタンである。ＧＵＩボタン１２０１は、Ｗｅｂ接続用ＭＦＰアプリＡＰＰ７１３を呼び出すためのＧＵＩボタンである。ＧＵＩボタン１２０６は、ローカルＭＦＰアプリＡＰＰ７１４を呼び出すためのＧＵＩボタンである。図１２に示したようにメニューアプリ７０４はＭＦＰアプリの種類を区別せずにＧＵＩボタンを表示する。
【００７８】
ＧＵＩボタンは、ライセンスが有効な期間のみ選択可能である。例えば、ＡＰＰ７１２を６０日間有効なライセンスでインストールした場合、インストールしてから６０日目まではＧＵＩボタン１２０５は有効であるが、６１日目からはＧＵＩボタン１２０６は無効となる。ＧＵＩボタン１２０６が無効になると、それに対応するＭＦＰアプリＡＰＰ７１２の呼び出しができなくなるため、Ｗｅｂアプリへの接続もできない。
【００７９】
ＧＵＩボタン１２０２、１２０３は、インストールされた異なる複数のブラウザに関連付けられている。すなわちこのＭＦＰ１１０は複数のブラウザを搭載することが可能である。ＧＵＩボタン１２０２、１２０３を押下することでＷｅｂブラウザが起動されてブラウザ画面を表示する。ブラウザ画面では、アクセス先、例えばＷｅｂアプリへ接続するためにユーザはＵＲＬアドレスの指定をする必要がある。
【００８０】
ＧＵＩボタン１２０７は、実施形態に係るＭＦＰ１１０の設定を呼び出すための機能を提供する。本実施形態においては、例えばインストールされた複数のブラウザのうちから標準ブラウザを設定する機能を提供する。また、複数のブラウザ間におけるクッキーの共有を指定する共有フラグを設定する機能を提供してもよい。図２４は、標準ブラウザを設定するＧＵＩのイメージ図である。図２４ではＷｅｂブラウザ７０５が標準ブラウザに設定していることを示す。本設定は、設定管理部７０７が管理する標準ブラウザテーブル図２１Ａ（ｂ）に保持する。標準ブラウザは、ブラウザの指定なしにアクセス先のＵＲＬが指定された場合、たとえばＷｅｂ接続用ＭＦＰアプリのＧＵＩボタンが押された場合などに、Ｗｅｂアプリを利用するためのブラウザとして用いられる。
【００８１】
●メニューアプリによる処理
図１９は、ＭＦＰ１１０にインストールされたメニューアプリ７０４が呼び出し指示を受けたときに行う処理を説明するためのフローチャートである。メニューアプリ７０４は、ＧＵＩボタンに対応するＭＦＰアプリのライセンスを確認し、ライセンスが有効なＭＦＰアプリのボタンのみを選択可能にする。ＭＦＰ１１０のＨＤＤ２０４に記憶されているプログラムを、ＣＰＵ２０１がＲＡＭ２０３に読み出し、解析、実行することで、図１９のフローチャートの各ステップが実行される。
【００８２】
メニューアプリ７０４は呼び出しの指示を受け付ける（ステップＳ１９０１）と、自身に登録されているＧＵＩボタンの一覧をリストアップする（ステップＳ１９０２）。呼び出しの指示は例えばＭＦＰ１１０の起動時やユーザによる所定の操作に応じて出される。次に、メニューアプリ７０４は、リストアップしたＧＵＩボタンの有効性を検証するためにステップＳ１９０３からステップＳ１９０８の処理をＧＵＩボタンごとに繰り返す。
【００８３】
メニューアプリ７０４は、ＧＵＩボタンが最初から備わっているアプリケーションに対応するＧＵＩボタンかどうかを判別する（ステップＳ１９０４）。最初から備わっているアプリケーションに対応するＧＵＩボタンであればステップＳ１９０６へ処理を進め、後からインストールされたＭＦＰアプリに対応するＧＵＩボタンであればステップＳ１９０５へ処理を進める。ステップＳ１９０５で、メニューアプリ７０４はＧＵＩボタンに対応するＭＦＰアプリのライセンス有効期限を、ライセンス情報テーブル７２０を用いて判別する。すなわちライセンスの有効性を判定する。ライセンスが有効期限内であればステップＳ１９０６へ処理を進め、ライセンスが有効期限切れであればステップＳ１９０７へ処理を進める。ステップＳ１９０６で、メニューアプリはＧＵＩボタンを有効にする。一方、ステップＳ１９０７で、メニューアプリはＧＵＩボタンを無効にする。ＧＵＩボタンを無効にする例としては、ＧＵＩボタン自体を非表示にしたり、ＧＵＩボタンは表示するが押下できない状態にしたりする。もしくは、ＧＵＩボタンを押下した後にライセンスの有効期限切れであることのメッセージを表示するようにしてもよい。メニューアプリ７０４は、すべてのＧＵＩボタンの処理が終われば、ステップＳ１９０９へ処理を進める。最後に、メニューアプリ７０４は、図１２で示したメニューアプリの画面を操作部１１１に表示して処理を終了する（ステップＳ１９０９）。メニューアプリにより表示されたＧＵＩボタンが操作されてＭＦＰアプリが実行された後、再度メニュー画面に戻るためにはメニューアプリが呼び出されて図１９が実行される。そのため、メニュー画面が表示される都度、標準でないＭＦＰアプリのライセンスの有効期限がチェックされることになる。
【００８４】
●ローカルＭＦＰアプリによる処理
図２０は、ローカルＭＦＰアプリが図１２に示した画面から呼び出し指示を受けた際の処理を説明するためのフローチャートである。ＭＦＰ１１０のＨＤＤ２０４に記憶されているプログラムを、ＣＰＵ２０１がＲＡＭ２０３に読み出し、解析、実行することで、図２０のフローチャートの各ステップが実行される。ここでは、図１６で示したローカルＭＦＰアプリＡＰＰ７１４が呼び出しをうけた場合を例に説明を行う。
【００８５】
ローカルＭＦＰアプリのメニューアプリ連携部１６１１は、ユーザによるＧＵＩボタン押下を受け取ったメニューアプリ７０４からの呼び出し指示を受け取る（ステップＳ２００１）。次に画面処理部１６１４は、ローカルＭＦＰアプリＡＰＰ７１４の初期画面であるスキャン設定画面を操作部１１１に表示して処理を終了する（ステップＳ２００２）。ここでＳ２００２の処理は、ローカルＭＦＰアプリの機能に応じた処理となる。
【００８６】
●Ｗｅｂアプリの呼び出し及び実行
図１３は、ＭＦＰ１１０からＷｅｂアプリを利用する際の一連の処理の流れを示したシーケンス図である。ここでは例としてメニューアプリ７０４に表示したＧＵＩボタン１２０５がユーザによって選択された場合の処理を説明する。
【００８７】
最初にＭＦＰ１１０のメニューアプリ７０４はユーザによるＧＵＩボタン１２０５の押下を受け付けると、ＧＵＩボタン１２０５に対応したＭＦＰアプリＡＰＰ７１２を呼び出す（ステップＳ１３０１）。呼び出されたＭＦＰアプリＡＰＰ７１２はＭＦＰアプリＡＰＰ７１２のマニフェストファイルに定義された情報に基づいてＷｅｂアプリのトップページを呼び出すために必要な情報を作成する（ステップＳ１３０２）。Ｗｅｂアプリのトップページを呼び出すために必要な情報には、デバイス情報リスト９０６で定義したデバイス情報や電子署名用鍵８１５を用いて作成した電子署名などが含まれる。続いてＭＦＰアプリＡＰＰ７１２は、マニフェストファイルに定義されたＳＳＢ設定７０５を適用した状態のＷｅｂブラウザ７０５を用いて、ステップＳ１３０２で作成した情報に基づきＷｅｂアプリのトップページを呼び出す（ステップＳ１３０３）。
【００８８】
呼び出しを受けて、Ｗｅｂアプリサーバ１３０は、呼び出しに対する検証を行う（ステップＳ１３０４）。呼び出しに対する検証として、例えば、電子署名の正当性をチェックすることで、Ｗｅｂ接続用ＭＦＰアプリＡＰＰ７１２がインストールされたＭＦＰ１１０からの呼び出しであることを確認する。なお、ステップＳ１３０４においてユーザ認証を行う場合もある。その場合には、Ｗｅｂアプリサーバ１３０は、Ｗｅｂブラウザを認証サーバ１３３へとリダイレクトする。Ｗｅｂブラウザは認証サーバ１３３にアクセスしてユーザ認証を受け、認証が成功すると認証が成功したことがＷｅｂアプリサーバ１３０に報告されてＳ１３０４における検証が成功裡に完了する。
【００８９】
検証の結果を踏まえて、Ｗｅｂアプリサーバ１３０は、呼び出しに対する応答をＭＦＰ１１０（Ｗｅｂブラウザ７０５）に対して行う（ステップＳ１３０５）。この応答にはたとえば検証の結果としてＯＫ（検証成功）あるいはＮＧ（検証失敗）などを示す情報が含まれる。検証の結果がＯＫであれば、Ｗｅｂアプリサーバ１３０は次の操作に必要な画面を構成するためのＨＴＭＬコンテンツを応答する。
【００９０】
Ｗｅｂブラウザ７０５は受け取ったＨＴＭＬをレンダリングし、操作部１１１に画面を表示する（ステップＳ１３０６）。次にＷｅｂブラウザ７０５は、ユーザの画面操作指示を受け取る（ステップＳ１３０７）と、それに対応するリクエストをＨＴＴＰプロトコルでＷｅｂアプリサーバ１３０へ送信する（ステップＳ１３０８）。
【００９１】
リクエストを受け取ったＷｅｂアプリサーバ１３０は、リクエストに対する処理を行い（ステップＳ１３０９）、処理結果にもとに次の画面を構成するためのＨＴＭＬコンテンツをＭＦＰ１１０（Ｗｅｂブラウザ７０５）へ応答する（ステップＳ１３１０）。以降、ステップＳ１３０６からステップＳ１３１０を繰り返すことで、Ｗｅｂアプリの処理および画面遷移を実現する。
【００９２】
図１４は、Ｗｅｂ接続用ＭＦＰアプリがＷｅｂアプリのトップページを呼び出す際の処理を説明するためのフローチャートである。ＭＦＰ１１０のＨＤＤ２０４に記憶されているプログラムを、ＣＰＵ２０１がＲＡＭ２０３に読み出し、解析、実行することで、図１４のフローチャートの各ステップが実行される。図１４のフローチャートは、図１３のステップＳ１３０１からステップＳ１３０３の処理を詳細に説明したものである。図１３のステップＳ１３０１は、図１４ではステップＳ１４０１に相当する。図１３のステップＳ１３０２は、図１４ではステップＳ１４０３からステップＳ１４１６、Ｓ１４０２からＳ１４１５に相当する。図１３のステップＳ１３０３は、図１４ではステップＳ１４１７に相当する。
【００９３】
Ｗｅｂ接続用ＭＦＰアプリのメニューアプリ連携部８１１は、ユーザによるＧＵＩボタン押下を受け取ったメニューアプリ７０４からの呼び出し指示を受け取る（ステップＳ１４０１）。
【００９４】
Ｗｅｂブラウザ連携部８１２は、ステップＳ１４０２で接続アプリ管理部７１５が管理する特定の呼び出し元のＷｅｂ接続用ＭＦＰアプリ（ＭＦＰアプリＡＰＰ７１２）のフラグをたてる。図２１Ａ（ａ）は、接続アプリ管理部７１５が管理するテーブルのイメージ図である。図２１Ａ（ａ）は、Ｗｅｂ接続用ＭＦＰアプリＡＰＰ７１２が呼び出しアプリであることを示す。次にＷｅｂブラウザ連携部８１２は、マニフェストファイル８０１からＷｅｂアプリの情報であるトップページＵＲＬ９０３、ＳＳＢ設定９０５、デバイス情報リスト９０６を取得する（ステップＳ１４０３）。なお、Ｗｅｂ接続用ＭＦＰアプリによっては、マニフェストファイル８０１にＳＳＢ設定９０５、デバイス情報リスト９０６が定義されていない場合がある。その場合は、定義されている情報のみを取得する。
【００９５】
デバイス情報取得部８１３は、ステップＳ１４０３でデバイス情報リスト９０６を取得していれば、そのデバイス情報リスト９０６に列挙されているデバイス情報を取得する（ステップＳ１４０４、Ｓ１４０５）。図９に提示したマニフェストファイル８０１に従うと、デバイス情報取得部８１３は、ｕｓｅｒ＿ｉｄ、ｄｅｖｉｃｅ＿ｉｄ、ｄｅｖｉｃｅ＿ｍｏｄｅｌ、ｅｎｃｒｙｐｔ＿ｐｄｆ、ｐｒｉｎｔ＿ｓｅｒｖｉｃｅ＿ｖｅｒに該当するデバイス情報を取得する。ｕｓｅｒ＿ｉｄは、ＭＦＰ１１０にログインしているユーザのＩＤを表す。ｄｅｖｉｃｅ＿ｉｄは、ＭＦＰ１１０のデバイスＩＤを表す。ｄｅｖｉｃｅ＿ｍｏｄｅｌは、ＭＦＰ１１０の機種を表す。ｅｎｃｒｙｐｔ＿ｐｄｆは、暗号化ＰＤＦオプションの装着状況を表す。ｐｒｉｎｔ＿ｓｅｒｖｉｃｅ＿ｖｅｒは、ＷｅｂアプリからＭＦＰ１１０に印刷を依頼するためのＷｅｂＳｅｒｖｉｃｅモジュールのソフトウェアバージョンを表す。図９のデバイス情報リスト９０６は一例であり、取得可能なデバイス情報は、これらに制限されるものではない。
【００９６】
次に、署名処理部８１４は、Ｗｅｂ接続用ＭＦＰアプリに電子署名用鍵８１５が含まれている場合、電子署名を作成する（ステップＳ１４０６、Ｓ１４０７）。署名処理部８１４は、署名用文字列をメッセージ、電子署名用鍵８１５を秘密鍵としてハッシュ関数を用いてメッセージダイジェスト（ＨＭＡＣ値）を算出し、電子署名とする。署名用文字列は、トップページＵＲＬ９０３と、ＭＦＰ１１０のシステム時刻（以降、タイムスタンプ）と、ステップＳ１４０５で取得した取得したデバイス情報があればその情報を文字列として連結したものである。
【００９７】
続いて、Ｗｅｂブラウザ連携部８１２は、Ｗｅｂアプリのトップページを呼び出すためのＵＲＬを組み立てる（ステップＳ１４０８）。Ｗｅｂブラウザ連携部８１２は、ステップＳ１４０５で取得したデバイス情報があれば、その情報をトップページＵＲＬ９０３にクエリ文字列として付加する。さらに、Ｗｅｂブラウザ連携部８１２は、ステップＳ１４０７で取得したタイムスタンプおよび電子署名があれば、それらの情報もトップページＵＲＬ９０３にクエリ文字列として付加する。
【００９８】
Ｗｅｂブラウザ連携部８１２は、ブラウザ判断部７１０が提供する標準ブラウザ特定処理を呼び出し、標準ブラウザを特定する（ステップＳ１４０９）。標準ブラウザ特定処理は、図２２に示すステップＳ２２０１からＳ２２０５である。図２２において、ステップＳ２２０１で設定管理部７０７が管理する標準ブラウザ管理テーブル図２１ＳＡ（ｂ）を全件取得する。ステップＳ２２０２で取得した全ブラウザについて順次着目し、ループする。ステップＳ２２０３で搭載ブラウザと対応する標準ブラウザの設定値を特定する。ステップＳ２２０４で、標準ブラウザの設定値に応じて標準ブラウザかどうかの判断をする。標準ブラウザの場合は、着目ブラウザが標準ブラウザと判定し、ステップＳ２２０５へ遷移する。ステップＳ２２０５で標準ブラウザと特定した搭載ブラウザを返す。この例ではＷｅｂブラウザ７０５が標準ブラウザであるものとする。
【００９９】
Ｗｅｂブラウザ連携部８１２は、ＳＳＢ設定９０５を取得しているか否かを判別し（ステップＳ１４１０）、ＳＳＢ設定を取得していなければ、Ｗｅｂブラウザ７０５のＳＳＢ設定を解除し、Ｗｅｂブラウザの各種設定を初期状態に戻す（ステップＳ１４１８）。次に、ステップＳ１４０３でＳＳＢ設定を取得していればそのＳＳＢ設定をＷｅｂブラウザ７０５へ適用する（ステップＳ１４１１）。図９に提示したＳＳＢ設定９０５に従うと、Ｗｅｂブラウザ連携部８１２は、ｃｏｏｋｉｅ、ａｄｄｒｅｓｓ＿ｂａｒ、ｃａｃｈｅ、ｗａｒｎ＿ｎｏｔ＿ｅｘｉｓｔ＿ｒｏｏｔｃｅｒｔに該当するＳＳＢ設定をＷｅｂブラウザ７０５へ適用する。ｃｏｏｋｉｅ＝ｏｎは、Ｃｏｏｋｉｅ（クッキー）機能を有効にすることを表す。ａｄｄｒｅｓｓ＿ｂａｒ＝ｏｆｆは、ＷｅｂブラウザのＵＩからＵＲＬを入力するためのアドレスバーを非表示にすることを表す。ｃａｃｈｅ＝ｏｆｆは、キャッシュを使用しないことを表す。ｗａｒｎ＿ｎｏｔ＿ｅｘｉｓｔ＿ｒｏｏｔｃｅｒｔ＝ｏｎは、暗号化通信時にルート証明書が存在しない場合の警告表示を有効にすることを表す。図９のＳＳＢ設定９０５は一例であり、指定可能なＳＳＢ設定は、これらに制限されるものではない。
【０１００】
Ｗｅｂブラウザ連携部８１２は、ステップＳ１４１２でクッキー管理部８１６が有するクッキー取得処理を呼び出し、保存されているクッキーを取得する。クッキー取得処理は、図２３に示すステップＳ２３０１からＳ２３１０である。図２３において、ステップＳ２３０１でユーザ管理部７０８が管理するログイン中のユーザのユーザＩＤを取得する。図２１Ｂ（ｆ）はユーザ管理部７０８が管理するユーザ管理テーブルのイメージ図である。この例ではログイン中のユーザＩＤとしてＵｓｅｒＡを取得する。なお、ユーザ毎の認証が無効でログインをしていない場合は、ユーザは空文字（""）になる。
【０１０１】
ステップＳ２３０２で共有フラグ管理部８１７が管理する共有フラグを取得する。図２９（ａ）は共有フラグ管理部８１７が管理する共有フラグ管理テーブルのイメージ図である。共有フラグの値（ONまたはOFF）を取得する。ステップＳ２３０３で、認識した共有フラグの値がONかどうかを判断し、ONの場合は、Ｓ２３０４へ、それ以外はＳ２３０５へ遷移する。
【０１０２】
ステップＳ２３０４で共有クッキー管理部７１６が管理するクッキーを全件取得する。図２１Ｂ（ｄ）は共有クッキー管理部７１６が管理する共有クッキー管理テーブルのイメージ図である。ステップＳ２３０５でクッキー管理部８１６が管理するクッキーを全件取得する。クッキー管理部８１６はＷｅｂ接続用ＭＦＰアプリごとのクッキーを管理する。図２１Ａ（ｃ）はクッキー管理部８１６が管理するクッキー管理テーブルのイメージ図である。ユーザＩＤ及びアクセス先のＵＲＬごとに、キー及び値が保存されている。この構造は共有クッキー保存部７１６に保存されたクッキーも同様である。
【０１０３】
ステップＳ２３０６で、取得したクッキー全件について順次着目しつつ、Ｓ２４０６〜Ｓ２３０９の工程をループする。ステップＳ２３０７で着目クッキーのユーザ、ＵＲＬ、Ｋｅｙ、Ｖａｌｕｅの値を特定する。ステップＳ２３０８でログイン中のユーザと着目クッキーのユーザが合致するか判断する。合致する場合は、ステップＳ２３０９へ遷移する。ステップＳ２３０９で、一致したユーザ、ＵＲＬ、Ｋｅｙ、Ｖａｌｕｅの値を、現在ログイン中のユーザに関連付けられたクッキーとしてワークメモリに記憶する。ステップＳ２３１０でワークメモリに記憶したクッキーの全件を返す。このことで、ログイン中のユーザ（ＵｓｅｒＡ）にユーザを絞り込んだクッキーを返す。なお、ユーザ毎の認証が無効でログインをしていない場合は、ユーザは空文字（""）に絞り込んだクッキーを返す。
【０１０４】
Ｗｅｂブラウザ連携部８１２は、ステップＳ１４１３でクッキーを取得したかどうかを判断する。１件以上取得していれば、ステップＳ１４１５へ遷移し、取得していなければステップＳ１４１４へ遷移する。Ｗｅｂブラウザ連携部８１２は、ステップＳ１４１５で、起動されたＷｅｂ接続用ＭＦＰアプリに設定されたＵＲＬと、Ｓ１４１２で取得したクッキーとをＷｅｂブラウザ７０５に設定する。一方クッキーを取得できなかった場合には、Ｗｅｂブラウザ連携部８１２は、ステップＳ１４０８で組み立てたＵＲＬを接続先としてＷｅｂブラウザ７０５に設定する（ステップＳ１４１４）。
【０１０５】
Ｗｅｂブラウザ連携部８１２は、操作部１１１の表示をメニューアプリ７０４からＷｅｂブラウザ７０５のＧＵＩウィンドウに切り変える（ステップＳ１４１６）。操作部１１１に表示されたＷｅｂブラウザ７０５は、Ｗｅｂアプリのトップページを呼び出すため、ステップＳ１４１４で設定されたＵＲＬへアクセスする（ステップＳ１４１７）。
【０１０６】
以上の処理を実行することによって、メニューアプリ７０４で指示されたＧＵＩボタンに対応するＷｅｂ接続用ＭＦＰアプリが、Ｗｅｂアプリのトップページを呼び出す。Ｗｅｂブラウザ７０５のＧＵＩウィンドウの表示結果には、Ｗｅｂ接続用ＭＦＰアプリ（ＭＦＰアプリＡＰＰ７１２）が共有フラグの設定値によって共有クッキー管理テーブルかクッキー管理テーブルから取得したクッキーを反映することが可能となる。
【０１０７】
●Ｗｅｂアプリサーバによるリクエストの処理
図１５は、Ｗｅｂアプリサーバ１３０がＭＦＰ１１０からＨＴＴＰによるリクエストを受けた場合に実行する処理を説明するためのフローチャートである。Ｗｅｂアプリサーバ１３０のＨＤＤ３０４に記憶されているプログラムを、ＣＰＵ３０１がＲＡＭ３０３に読み出し、解析、実行することで、図１５のフローチャートの各ステップが実行される。
【０１０８】
図１５のフローチャートは、図１３のステップＳ１３０３からＳ１３０５およびステップＳ１３０８からＳ１３１０の処理を詳細に説明したものである。図１３のステップＳ１３０３は、図１５ではステップＳ１５０１からステップＳ１５０２に相当する。図１３のステップＳ１３０４は、図１５ではステップＳ１５０３からステップＳ１５０８に相当する。図１３のステップＳ１３０５は、図１５ではステップＳ１５０９に相当する。図１３のステップＳ１３０８は、図１５ではステップＳ１５０１からステップＳ１５０２に相当する。図１３のステップＳ１３０９は、図１５ではステップＳ１５２０に相当する。図１３のステップＳ１３１０は、図１５ではステップＳ１５０９に相当する。
【０１０９】
まず通信部１００１は、ＭＦＰ１１０からＨＴＴＰによるリクエストを受け付ける（ステップＳ１５０１）。次にＷｅｂアプリ処理部１００２は、受け付けたリクエストがトップページの呼び出しか否かを判別し、トップページの呼び出しならステップＳ１５０３へ処理を進め、それ以外ならステップＳ１５２０へ処理を進める（ステップＳ１５０２）。
【０１１０】
ステップＳ１５２０で、Ｗｅｂアプリ処理部１００２はステップＳ１５０１で受け取ったリクエストに応じた処理を行う。例えば、スキャン設定画面を呼び出すためのリクエストであれば、スキャン設定画面を構成するＨＴＭＬを生成する。そして、通信部１００１はステップＳ１５２０で処理した結果を、ＭＦＰ１１０へ応答して処理を終了する（ステップＳ１５０９）。
【０１１１】
一方、ステップＳ１５０３で、Ｗｅｂアプリ処理部１００２はステップＳ１５０１で受け取ったリクエストに含まれるクエリ文字列を解析して、各項目を取りだす。本実施例では、ここで電子署名、タイムスタンプ、デバイス情報の各項目を取得したものとして、以降の説明を行う。
【０１１２】
次に署名検証部１００３は、ステップＳ１５０３で取りだした電子署名の検証を行う（ステップＳ１５０４）。具体的には、署名検証部１００３は、署名用文字列をメッセージ、電子署名用鍵１００４を秘密鍵としてハッシュ関数を用いてメッセージダイジェストを算出し、その値がステップＳ１５０３で取りだした電子署名と一致していれば、有効な署名であるとみなす。署名用文字列は、ステップＳ１５０１で受け取ったリクエストＵＲＬと、ステップＳ１５０３で取りだしたタイムスタンプとデバイス情報を文字列として連結したものである。つまり、ＭＦＰ１１０が図１４のステップＳ１４０７で電子署名を作成するために行った処理と同じ処理を、Ｗｅｂアプリサーバ１３０で行い、その結果が一致するか否かで電子署名の有効性を確認している。ＭＦＰ１１０が持つ電子署名用鍵８１５と、Ｗｅｂアプリサーバ１３０が持つ電子署名用鍵１００４が同じ場合、結果は一致する。結果が一致していれば、Ｗｅｂ接続用ＭＦＰアプリがインストールされたＭＦＰ１１０からのリクエストであるとみなすことができる。
【０１１３】
Ｗｅｂアプリ処理部１００２は電子署名が無効であれば、リクエスト元にエラーを応答して処理を終了する（ステップＳ１５３０）。一方、Ｗｅｂアプリ処理部１００２は電子署名が有効であれば、電子署名の検証結果をセッションと紐づけて保存する（ステップＳ１５０６）。電子署名の検証結果をセッションと紐づけて保存することで、以降のリクエストに対する処理において、Ｗｅｂ接続用ＭＦＰアプリがインストールされたＭＦＰ１１０からの通信であると確認することが可能になる。なお、Ｗｅｂアプリによっては、電子署名ではなく別の情報を用いてリクエスト元をチェックするようにしてもよい。その場合、ステップＳ１５０４からＳ１５０６はスキップして、代わりとなる情報をチェックする。例えば、リクエスト元のＩＰアドレスやＷｅｂブラウザのユーザエージェントをチェックするようにしてもいいし、ステップＳ１５０３で取りだしたデバイス情報をチェックするようにしてもよい。
【０１１４】
ステップＳ１５０７で、Ｗｅｂアプリ処理部１００２は、ステップＳ１５０３で取りだしたデバイス情報のチェックを行う。ＭＦＰ１１０のデバイス情報を必要としないＷｅｂアプリであれば、このステップは不要である。ＭＦＰ１１０のデバイス情報が必要なＷｅｂアプリであれば、Ｗｅｂアプリ処理部１００２は、デバイス情報をチェックし、問題があればリクエスト元にエラーを応答して処理を終了する（ステップＳ１５３０）。一方、Ｗｅｂアプリ処理部１００２は、デバイス情報に問題がなければ次のステップＳ１５０８へ処理を進める。デバイス情報のチェックの例として、「ユーザＩＤの確認」や「有効なオプション機能の確認」、「ソフトウェアバージョンの確認」などがあげられる。
【０１１５】
ステップＳ１５０８で、Ｗｅｂアプリ処理部１００２は、トップページを表示するためのＨＴＭＬコンテンツを生成する。最後に通信部１００１は、ステップＳ１５０８で生成したＨＴＭＬコンテンツを、ＭＦＰ１１０へ応答して処理を終了する（ステップＳ１５０９）。
【０１１６】
以上において説明した手順により、Ｗｅｂアプリのライセンス管理を、情報処理装置にインストールされるＭＦＰアプリと同様に実現することが可能となる。複数のローカルＭＦＰアプリをＭＦＰ１１０で使用するためには、それぞれのローカルＭＦＰアプリをＭＦＰ１１０にインストールする必要がある。同様に、複数のＷｅｂアプリをＭＦＰ１１０で使用するためには、それぞれのＷｅｂアプリに対応したＷｅｂ接続用ＭＦＰアプリをＭＦＰ１１０にインストールする必要がある。ＭＦＰアプリをＭＦＰ１１０にインストールするためには、インストールするＭＦＰアプリ毎にライセンスが必要である。ローカルＭＦＰアプリとＷｅｂ接続用ＭＦＰアプリは、どちらもＭＦＰアプリであるため、同様のライセンス管理を実現することが可能となる。また、Ｗｅｂアプリのライセンス管理をサーバ側で行ったり、ＭＦＰにＷｅｂアプリ専用のライセンス管理の仕組みを用意したりする場合に比べ、ＭＦＰアプリのラインセスという統一した形でライセンス管理を行うことができ、販売者や管理者の利便性が向上する。
【０１１７】
なお、認証サーバ１３３による認証、例えばユーザ認証を行う場合には、ステップＳ１５０３、Ｓ１５０４で、認証サーバ１３３へのリダイレクト及び認証を行う。その場合にはＳ１５０５では電子署名の有効性ではなく、認証が成功したかを判定する。
【０１１８】
●Ｗｅｂブラウザの呼び出し及び実行
図２６は、ＭＦＰ１１０からＷｅｂブラウザの終了処理の流れを示したシーケンス図である。ここでは例としてＷｅｂブラウザ７０５が標準ブラウザとして設定されていた場合に、ＧＵＩウィンドウ（図２５）の閉じるボタン２５０４がユーザによって選択された際の処理を説明する。なお、終了処理は、ＭＦＰ１１０のログイン、ログアウト、リセット、スリープ移行等の状態変更のタイミングも含まれる。
【０１１９】
最初にＷｅｂブラウザ７０５のＧＵＩウィンドウはユーザによるＧＵＩボタン２５０１の押下を受け付けると、Ｗｅｂブラウザ７０５は、当該ブラウザに係るクッキー管理部７０５０１のクッキーを全件取得する（ステップＳ２６００）。図２１Ｂ（ｅ）はクッキー管理部７０５０１が保持するクッキーのイメージ図である。ＵＲＬ、Ｋｅｙ、Ｖａｌｕｅの値を取得する。なお、Ｗｅｂブラウザ７０６が標準ブラウザに設定されていた場合は、ステップＳ２６００の同様の処理を実施する。クッキー管理部７０６０１は、クッキー管理部７０５０１と同様の構成からなる。
【０１２０】
ステップＳ２６０１で、Ｗｅｂブラウザ７０５は、接続アプリ管理部７１５が有する接続アプリ取得処理を呼び出す。接続アプリ取得処理は、図２７に示すステップＳ２７００からＳ２７０４である。ステップＳ２７００で接続アプリ管理部７１５が管理するテーブル（図２１Ａ（ａ））を全件取得する。ステップＳ２７０１で取得したＷｅｂ接続用ＭＦＰアプリ全件に順次着目しながらＳ２７０１〜Ｓ２７０３までをループする。ステップＳ２７０２で着目しているＷｅｂ接続用アプリとその呼び出しフラグを特定する。ステップＳ２７０３で、着目したＷｅｂ接続用ＭＦＰアプリの呼び出しフラグがＯＮかどうかを判断する。フラグがＯＮの場合は、ステップＳ２７０４へ遷移する。ステップＳ２７０４で、特定した、Ｗｅｂ接続用フラグがオンのＷｅｂ接続用ＭＦＰアプリ（例えばＩＤ）を返す。図２１（ａ）の例では、実行されているＷｅｂ接続用ＭＦＰアプリとしてＭＦＰアプリＡＰＰ７１２が認識する。
【０１２１】
次に、図２６に戻って、ステップＳ２６０２で、図２７の手順で特定されたＷｅｂ接続用ＭＦＰアプリ（ＭＦＰアプリＡＰＰ７１２）に、Ｓ２６００で取得したクッキーを引き渡す。クッキーを引き渡されたＷｅｂ接続用ＭＦＰアプリは、引き渡されたクッキーを引数としてクッキー管理部８１６が有するクッキー格納処理を呼び出す。クッキー格納処理は、図２８に示すステップＳ２３０１、Ｓ２８０１からＳ２８０７である。
【０１２２】
図２８において。まずＳ２３０１でログインしているユーザを特定する。次にＳ２８０１において、引数で渡されたクッキーを認識する。ステップＳ２８０２で共有フラグ管理部８１７が管理する共有フラグを取得する。図２９（ａ）は共有フラグ管理部８１７が管理する共有フラグ管理テーブルのイメージ図である。共有フラグの値（ONまたはOFF）を取得する。ステップＳ２８０３で、取得した全クッキーに順次着目しながらＳ２８０３〜Ｓ２８０７をループする。全てのクッキーについてＳ２８０３〜Ｓ２８０７の処理を終えたならループを抜けて終了する。
【０１２３】
ステップＳ２８０４でフォーマット変換部７０９は特定した（すなわち着目している）クッキー（ＵＲＬ、Ｋｅｙ、Ｖａｌｕｅ）に特定のユーザＩＤを付与する値を生成する。この値は例えばログインしているユーザのユーザＩＤでよい。生成後の値は（ユーザＩＤ、ＵＲＬ、Ｋｅｙ、Ｖａｌｕｅ）である。
【０１２４】
ステップＳ２８０５で、認識した共有フラグすなわち呼び出しフラグがオンであるＷｅｂ接続用ＭＦＰアプリの共有フラグの値がONかどうかを判断し、ONの場合は、Ｓ２８０６へ、それ以外はＳ２８０７へ遷移する。ステップＳ２８０６において、生成した値を共有クッキー管理部７１２が管理する共有クッキー管理テーブルに登録する。一方、ステップＳ２８０７において、生成した値をクッキー管理部８１６が保有する管理テーブルに登録する。ステップＳ２６０４において、Ｗｅｂブラウザ７０５は、クッキー管理部７０５０１が保有するクッキーを全部削除する。
【０１２５】
なお、Ｗｅｂブラウザ７０６が標準ブラウザに設定されていた場合は、ステップＳ２６０４の同様の処理を実施する。クッキー管理部７０６０１は、クッキー管理部７０５０１と同様の構成からなる。ステップＳ２６０５において、表示する画面のイメージは図１２である。
【０１２６】
以上の手順で、Ｗｅｂブラウザ７０５から取得したクッキーを特定の呼び出し元のＭＦＰアプリＡＰＰ７１２は、共有フラグの設定値に応じて、共有クッキー管理テーブルか、またはクッキー管理テーブルにクッキーを登録する。
【０１２７】
（適用例）
例えば、ＡＰＰ７１１はサイトＡ用、ＡＰＰ７１２はサイトＢ用、ＡＰＰ７１３はサイトＢ用にトップページとして設定していたとする。サイトＡとサイトＢは社外連携用の文書管理システムへのアクセスを、サイトＣは社内用の出張管理システムへアクセスしてサービスを提供するもので、全て同じ認証サーバ１３３を利用してサービスを提供する。ＡＰＰ７１１、ＡＰＰ７１２で認証するアカウントは社外連携用の認証アカウントを使用し、ＡＰＰ７１３は社内用の認証アカウントを利用する。このような場合に、ＡＰＰ７１２とＡＰＰ７１１は共有フラグをＯＮに設定し、ＡＰＰ７１３は共有フラグをＯＦＦに設定することで、認証アカウントのクッキーを共有する場合と共有しない場合を切り替えられる。すなわち、図２８の手順により、ＡＰＰ７１２とアプリＡＰＰ７１１によりＷｅｂアプリケーションが呼び出された場合には、接続中に発行されたクッキーを、共有クッキー管理部８１６によりＷｅｂ各サーバに対して共有されるクッキーとして保存する。一方、ＡＰＰ７１３によりＷｅｂアプリケーションが呼び出された場合には、接続中に発行されたクッキーは、当該Ｗｅｂ接続用アプリの有するクッキー管理部８１６により、当該Ｗｅｂ接続用ＭＦＰアプリの接続先について独自に用いられるクッキーとして保存する。また、Ｗｅｂアプリケーションへのアクセスの際には、図１４のＳ１４１２（図２３）の手順により、共有フラグの値に応じて、共有クッキー管理部に管理されたクッキー、又はＷｅｂ接続用ＭＦＰアプリごとに管理されたクッキーを読み取って利用できる。
【０１２８】
図２５は、クッキーを反映して表示した場合のＧＵＩウィンドウのイメージ図である。図２５の例では、認証サーバ１３３へリダイレクトして認証を受ける際の認証情報の入力画面の例である。図２５は、ＡＰＰ７１２へとアクセスするためのＧＵＩボタン１２０５を押下した後、認証画面２５０１が表示される。初めてアクセスしたときにはクッキーに認証情報は保存されていないのでユーザが手入力する。その後、ＡＰＰ７１２の利用が終了して閉じるボタン２５０４がユーザによって選択されてクッキー格納処理を実行する（図２６）。そのときステップＳ２６０３が実行されて、その中において、ステップＳ２８０５で認識した共有フラグの値がONなので、Ｓ２８０６に遷移する。ステップＳ２８０６において、生成した値を共有クッキー管理部７１６が管理する共有クッキー管理テーブルに登録する。
【０１２９】
その後、ＡＰＰ７１１を起動するためにＧＵＩボタン１２０４を押下すると図１４の手順が実行されてその中で図２３が実行される。ステップＳ２３０３で、認識した共有フラグの値がONの場合なので、Ｓ２３０４へ遷移する。ステップＳ２３０４で共有クッキー管理部７１６が管理するクッキーを全件取得する。これにより、、共有クッキーが読み出されて認証情報の入力欄にはクッキーから取得した認証情報が入力され、認証画面２５０２として表示される。
このように、ＡＰＰ７１２とＡＰＰ７１１は、同一のユーザによりアクセスされると、認証画面のユーザ名とパスワードの入力フィールドには、同じ値が共有されて入力補完して表示される。
【０１３０】
一方、図２５（ｃ）の認証画面２５０３は、ＡＰＰ７１３にアクセスするためにＧＵＩボタン１２０１を押下した後表示される画面例である。このＷｅｂ接続用ＭＦＰアプリについては、ステップＳ２３０３で認識した共有フラグの値がONではないためＳ２３０５へ遷移する。ステップＳ２３０５でクッキー管理部８１６が管理する、当該Ｗｅｂ接続用ＭＦＰアプリに固有のクッキーを全件取得する。これにより、ユーザ名、パスワードの入力フィールドには、ＡＰＰ７１３で固有のクッキーのユーザ名、パスワードが入力フィールドに入力補完され、ＡＰＰ７１２とＡＰＰ７１１とクッキーは共有されない。
【０１３１】
また、ＧＵＩボタン１２０７を押下して、標準ブラウザをＷｅｂブラウザ７０６からＷｅｂブラウザ７０５に変更すると、それ以降、Ｗｅｂブラウザ７０５がＷｅｂブラウザ７０６に替わって標準ブラウザとして動作する。この場合、共有クッキーはブラウザが変更されても共有される。このため、Ｗｅｂブラウザ７０６のＧＵＩウィンドウの表示結果には、Ｗｅｂ接続用ＭＦＰアプリ（ＭＦＰアプリＡＰＰ７１２）が渡したクッキーを反映することが可能となる。図２５（ｄ）のユーザインターフェース画面２５０５は、クッキーを反映して表示した場合のブラウザ７０６により表示されるＧＵＩウィンドウの例である。ブラウザが切り替わってもユーザ名、パスワードの入力フィールドに入力補完して表示する。
【０１３２】
上記実施形態では、保存したクッキーの参照は、Ｗｅｂ連携用ＭＦＰアプリが起動されてＷｅｂアプリのＵＲＬに対してアクセスする場合に行われたが、リダイレクトされて例えば認証サーバ１３３へアクセスする際にも、該当するクッキーを参照してもよい。この場合にもＷｅｂ連携用ＭＦＰアプリの起動時と同じ要領で、ログインユーザとＵＲＬとが一致するクッキーを指定された範囲（例えば当該Ｗｅｂ連携用ＭＦＰアプリのクッキー、または共有クッキー）から検索し、該当するクッキーを参照して利用する。例えばユーザＩＤやパスワード等の認証情報がクッキーに含まれていれば、それを認証画面の入力欄に、ユーザの操作なしに入力する。このようなことも可能である。
【０１３３】
（第２の実施形態）
Ｗｅｂアプリサーバ１３１が利用する認証サーバ１３３や文書管理サーバ１３４の複数のサービスのうちドメイン（URLなど）単位に共有対象とするかどうかを切り替えられるようにするケースについて、第１の実施形態との差分を述べる。第１実施形態と共通する部分については説明を省略する。本実施形態では、たとえば図１２に示したＧＵＩボタン１２０７を押下することで、後述する共有ドメインを設定する画面を表示でき、そこから共有ドメインを設定することができる。本実施形態では第１実施形態の共有フラグに代えて共有ドメインが設定される。なお、共有ドメインは、クッキーを共有するＷｅｂ接続用ＭＦＰアプリについて共通に設定される必要がある。これを解決するために、共有ドメインをＷｅｂ接続用ＭＦＰアプリと関連付けて共有クッキー管理部７１６等により保存してもよい。
【０１３４】
メニューアプリ７０４に表示した、Ｗｅｂ接続用ＭＦＰアプリを起動するためのＧＵＩボタン１２０５がユーザによって選択された場合のＷｅｂアプリ７１２のクッキー取得処理について述べる。図３０は、第１実施形態の図２３に代えて実行される処理であるが、ステップＳ３００１、Ｓ３００２が異なる。ステップＳ３００１で共有ドメイン管理部８１８が管理する共有ドメインを取得する。図２９（ｂ）は共有ドメイン管理部８１８が管理する共有ドメイン管理テーブルの例を示す。Ｓ３００１では共有対象とする値（URLなどのドメイン）を取得する。
【０１３５】
ステップＳ３００２で、取得した共有対象とする値（ドメイン）が一件以上存在して有効かどうかを判断し、有効な場合は、Ｓ２３０４へ、それ以外はＳ２３０５へ遷移する。有効であるとは、例えば共有ドメインが設定されていることであるが、そのドメインの有無を判定できる場合には、ドメインが存在していれば有効と判定してもよい。またＳ２３０４の後にはＳ２３０５へと分岐する。このことで、共有ドメイン管理部８１８で設定した共有対象とするドメインと、アクセス先のドメインとが合致する場合は、共有クッキー管理部７１６からクッキーを取得する。それ以外は、クッキー管理部８１６からクッキーを取得する。このようにように切り替えることが可能になり、ユーザの利便性を高める効果があげられる。
【０１３６】
次に、図３１に、Ｗｅｂブラウザ７０５のＧＵＩウィンドウ（図２５）の閉じるボタン２５０４がユーザによって選択された場合の処理を示す。ここでは、閉じるボタン２５０４がユーザによって選択された場合にＭＦＰアプリＡＰＰ７１２が実行するクッキー格納処理について述べる。図３１は、第１実施形態の図２８に代えて実行される処理であり、ステップＳ３１０１、Ｓ３１０２が異なる。
【０１３７】
ステップＳ３１０１で共有ドメイン管理部８１８が管理する共有ドメインを取得する。図２９（ｂ）は共有ドメイン管理部８１８が管理する共有ドメイン管理テーブルのイメージ図である。共有対象とする値（URLなどのドメイン）を取得する。ステップＳ３１０２で認識した共有ドメインと特定したURLのドメインが合致するか比較する。比較して合致する場合は、ステップＳ２８０６へ遷移し、それ以外は、ステップＳ８０７へ遷移する。
【０１３８】
このことで、共有ドメイン管理部８１８で設定した共有対象とするドメインと合致する場合は、共有クッキー管理部７１６にクッキーを登録する。それ以外は、クッキー管理部８１６にクッキーを登録するように切り替えることが可能になり、ユーザの利便性を高める効果があげられる。すなわち、単にクッキーを複数のＷｅｂ接続用ＭＦＰアプリで共有するか否かを設定できることにとどまらず、ドメインごとに共有するクッキーを設定できる。このため共有するクッキーとしないクッキーとを設定により分けることができる。
【０１３９】
（第３の実施形態）
第２の実施形態に加えて、実行するローカルＭＦＰアプリのユーザ毎の認証が有効な場合のみ共有対象とするように切り替えられるようにするケースについて、第２の実施形態との差分を述べる。第２の実施形態と共通する部分については説明を省略する。本実施形態では、図１２に示したＧＵＩボタン１２０７を押下することで、後述する認証チェックフラグを設定する画面を表示でき、そこから認証チェックフラグを設定することができる。
【０１４０】
メニューアプリ７０４に表示したＧＵＩボタン１２０５がユーザによって選択された場合のＷｅｂアプリ７１２のクッキー取得処理について述べる。図３２は、第１実施形態の図３０に代えて本実施形態で実行されるものであるが、ステップＳ３２０１、Ｓ３２０２、Ｓ３２０３、Ｓ３２０４が異なる。
【０１４１】
Ｓ３００１で、共有ドメインが有効、すなわち現在のアクセス先が、設定されている共有ドメインに該当すると判定されると、ステップＳ３２０１で認証チェック管理部８１９が管理する認証チェックフラグを取得する。なお本実施形態では、共有ドメインとして、認証サーバ１３３のＵＲＬのドメインが設定されているものとする。図２９（ｃ）は認証チェック管理部８１９が管理する認証チェックフラグ管理テーブルの例を示す図である。Ｓ３２０１では認証チェックフラグの値（ONまたはOFF）を取得する。ステップＳ３２０２で、取得した認証チェックフラグの値がONかどうかを判断し、ONの場合は、Ｓ３２０３へ、それ以外はＳ２３０５へ遷移する。
【０１４２】
ステップＳ３２０３で、ユーザ管理部７０８が管理するログイン中のユーザを取得する。図２１Ｂ（ｆ）はユーザ管理部７０８が管理するユーザ管理テーブルの例を示す図である。例えば、ログイン中のユーザ（ＵｓｅｒＡ）を取得する。ステップＳ３２０４で、特定のユーザが空でないかどうかを判断して、ユーザ毎の認証が有効かどうか、すなわちログインしているユーザがいるか否かを判断する。有効な場合、すなわちログインユーザがいる場合にはステップＳ２３０４へ、それ以外はＳ２３０５へ遷移する。
【０１４３】
このことで、認証チェック管理部８１９で認証チェックが設定されており、ユーザ毎の認証が有効な場合は、共有クッキー管理部７１６からクッキーを取得し、それ以外は、クッキー管理部８１６からクッキーを取得するように切り替えることが可能になる。これにより、ユーザの利便性を高める効果があげられる。即ちこの場合には、ユーザ認証を行った認証サーバのクッキーが共有クッキーから取得される。
【０１４４】
次に、図３３に、Ｗｅｂブラウザ７０５のＧＵＩウィンドウ（図２５）の閉じるボタン２５０４がユーザによって選択された場合の処理を示す。閉じるボタン２５０４がユーザによって選択されてクッキーがＭＦＰアプリＡＰＰ７１２にクッキー格納処理について述べる。図３３は、第２実施形態の図３１に代えて本実施形態で実行される処理であるが、ステップＳ３３０１、Ｓ３３０２、Ｓ３３０３、Ｓ３３０４が異なる。ステップＳ３３０１は、Ｓ３２０１と同様である。
【０１４５】
Ｓ３１０２で、設定された共有ドメインとクッキーのドメインとが一致すると判定されると、ステップＳ３３０２では、取得した認証チェックフラグの値がONかどうかを判断し、ONの場合は、Ｓ３３０３へ、それ以外はＳ２８０７へ遷移する。ステップＳ３３０３では、、ユーザ管理部７０８が管理するログイン中のユーザを取得する。ステップＳ３２０４で、ログインユーザがいるかどうかを判断して、ユーザ毎の認証が有効かどうかを判断する。ログインユーザがいれば認証は有効と判定する。有効な場合はステップＳ２８０６で着目しているクッキーを共有クッキーとして保存し、それ以外はＳ２８０７へ遷移する。Ｓ２８０７では、着目しているクッキーを、起動されているＷｅｂ接続用ＭＦＰアプリに固有のクッキーとして保存する。
【０１４６】
このことで、認証チェック管理部８１９で認証チェックが有効でユーザ毎の認証が有効な場合は、共有クッキー管理部７１６からクッキーを登録する。それ以外は、クッキー管理部８１６からクッキーを登録する。これにより、ユーザの利便性を高める効果があげられる。すなわち、認証サーバに関するクッキーを、指定したＷｅｂ接続用ＭＦＰアプリの間で共有クッキーとして保存し、利用することができ、認証情報等を入力する際の労力を軽減できる。
【０１４７】
［その他の実施例］
なお上記実施形態ではＷｅｂ接続用ＭＦＰアプリはＷｅｂブラウザを呼び出すものとしたが、Ｗｅｂブラウザの呼び出しは、たとえばＷｅｂＶｉｅｗを用いてもよい。ＷｅｂＶｉｅｗを用いることで、アプリケーションの中からＷｅｂブラウザの機能を呼び出すことができる。
【０１４８】
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【０１４９】
１１０  ＭＦＰ、１３０  Ｗｅｂアプリサーバ、１３３  認証サーバ
【図１】
2020091544.tif 000003
【図２】
2020091544.tif 000004
【図３】
2020091544.tif 000005
【図４】
2020091544.tif 000006
【図５】
2020091544.tif 000007
【図６】
2020091544.tif 000008
【図７】
2020091544.tif 000009
【図８】
2020091544.tif 000010
【図９】
2020091544.tif 000011
【図１０】
2020091544.tif 000012
【図１１】
2020091544.tif 000013
【図１２】
2020091544.tif 000014
【図１３】
2020091544.tif 000015
【図１４】
2020091544.tif 000016
【図１５】
2020091544.tif 000017
【図１６】
2020091544.tif 000018
【図１７】
2020091544.tif 000019
【図１８】
2020091544.tif 000020
【図１９】
2020091544.tif 000021
【図２０】
2020091544.tif 000022
【図２１Ａ】
2020091544.tif 000023
【図２１Ｂ】
2020091544.tif 000024
【図２２】
2020091544.tif 000025
【図２３】
2020091544.tif 000026
【図２４】
2020091544.tif 000027
【図２５】
2020091544.tif 000028
【図２６】
2020091544.tif 000029
【図２７】
2020091544.tif 000030
【図２８】
2020091544.tif 000031
【図２９】
2020091544.tif 000032
【図３０】
2020091544.tif 000033
【図３１】
2020091544.tif 000034
【図３２】
2020091544.tif 000035
【図３３】
2020091544.tif 000036