(57)【特許請求の範囲】
【請求項１】
複数のＷｅｂＡＰＩにアクセスし１つの機能を実現するマッシュアップ方法において、
Ｗｅｂアプリケーションから外部デバイスのＷｅｂＡＰＩへアクセスするためのドライバの記述を解析して抽出した該Ｗｅｂアプリケーションが利用する該ＷｅｂＡＰＩを示すＷｅｂＡＰＩリストを作成し、記憶部に保持し、
前記ＷｅｂＡＰＩリストを参照して、前記Ｗｅｂアプリケーションがアクセスする前記ＷｅｂＡＰＩを有する前記外部デバイスを一覧にした外部デバイスリストを作成して前記記憶部に保持し、
前記外部デバイスリストを参照して、マッシュアップして実現する前記Ｗｅｂアプリケーションの処理で利用される前記ＷｅｂＡＰＩを有する前記外部デバイスが存在しない場合、前記Ｗｅｂアプリケーションに係る全てのＷｅｂＡＰＩへのアクセスを制限する
処理をコンピュータが行うマッシュアップ方法。
【請求項２】
前記アクセスの制限は、
デバイス検知により検知した前記外部デバイスを一覧にした検知デバイスリストに、前記外部デバイスリストを参照することによって得られた前記Ｗｅｂアプリケーションで利用される全ての外部デバイスが存在するか否かを判断し、
前記Ｗｅｂアプリケーションで利用される前記外部デバイスの１以上が存在しない場合、該Ｗｅｂアプリケーションで利用される全ての外部デバイスへのアクセスを制限する
ことを特徴とする請求項１記載のマッシュアップ方法。
【請求項３】
前記アクセスの制限は、
前記Ｗｅｂアプリケーションで利用される前記外部デバイスの全てが前記検知デバイスリストに存在する場合、該Ｗｅｂアプリケーションに係る前記ＷｅｂＡＰＩへのアクセスを許可する
ことを特徴とする請求項２記載のマッシュアップ方法。
【請求項４】
前記ＷｅｂＡＰＩリストは、第１のＷｅｂＡＰＩリストと、第２のＷｅｂＡＰＩリストとを有し、
前記ＷｅｂＡＰＩリストの作成では、
前記ドライバの記述から、前記ＷｅｂＡＰＩを読み出すための関数を抽出して前記外部デバイスのデバイス名と対応付けて前記第１のＷｅｂＡＰＩリストを作成し、前記ＷｅｂＡＰＩを読み出すためのＵＲＬと前記デバイス名と対応付けて前記第２のＷｅｂＡＰＩリストと作成する
ことを特徴とする請求項１乃至３のいずれか１項記載のマッシュアップ方法。
【請求項５】
複数のＷｅｂＡＰＩにアクセスし１つの機能を実現するＷｅｂアプリケーションから外部デバイスのＷｅｂＡＰＩへアクセスするためのドライバの記述を解析して抽出した該Ｗｅｂアプリケーションが利用する該ＷｅｂＡＰＩを示すＷｅｂＡＰＩリストを作成し、記憶部に保持し、
前記ＷｅｂＡＰＩリストを参照して、前記Ｗｅｂアプリケーションがアクセスする前記ＷｅｂＡＰＩを有する前記外部デバイスを一覧にした外部デバイスリストを作成して前記記憶部に保持し、
前記外部デバイスリストを参照して、マッシュアップして実現する前記Ｗｅｂアプリケーションの処理で利用される前記ＷｅｂＡＰＩを有する前記外部デバイスが存在しない場合、前記Ｗｅｂアプリケーションに係る全てのＷｅｂＡＰＩへのアクセスを制限する
処理をコンピュータが行うマッシュアッププログラム。
【請求項６】
複数のＷｅｂＡＰＩにアクセスし１つの機能を実現するＷｅｂアプリケーションから外部デバイスのＷｅｂＡＰＩへアクセスするためのドライバの記述を解析して抽出した該Ｗｅｂアプリケーションが利用する該ＷｅｂＡＰＩを示すＷｅｂＡＰＩリストを作成し、記憶部に保持する抽出部と、
前記ＷｅｂＡＰＩリストを参照して、前記Ｗｅｂアプリケーションがアクセスする前記ＷｅｂＡＰＩを有する前記外部デバイスを一覧にした外部デバイスリストを作成して前記記憶部に保持する解析部と、
前記外部デバイスリストを参照して、マッシュアップして実現する前記Ｗｅｂアプリケーションの処理で利用される前記ＷｅｂＡＰＩを有する前記外部デバイスが存在しない場合、前記Ｗｅｂアプリケーションに係る全てのＷｅｂＡＰＩへのアクセスを制限するアクセス制御部と
を有する端末。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マッシュアップ技術に関する。
【背景技術】
【０００２】
近年、インターネットを介して、Ｗｅｂ上に公開されている複数のＷｅｂサービスを組み合わせてマッシュアップされた別のサービスとして提供することが行われている。
【０００３】
このようなマッシュアップのサービスに対する認証に関して、複数のシステム環境を組み合わせて構築される情報処理システムにおいて、ユーザがアクセスするチャネルの内容に基づいて認証の可否を保持するチャンネル管理テーブルを参照してユーザとチャンネルの認証可否を判断する技術が知られている。
【０００４】
また、Ｗｅｂサービスと宅内機器との連携サービスのリソース利用に関してユーザ許諾を行い、ＨＴＭＬに埋め込まれたJavaScript（登録商標）に埋め込まれたリソース利用要求を行う技術等が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１３−１９０９７１号公報
【特許文献２】特開２０１３−４１４０８号公報
【特許文献３】特開２０１４−２２２５１７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上述した技術等によりマッシュアップのＷｅｂサービスに対して様々な認証方法が可能となったが、外部デバイスから取得した認証情報がＷｅｂサービスを実行するＷｅｂアプリケーションに読み込まれた場合の認証情報に対するセキュリティ対策は十分ではない。
【０００７】
一例として、マッシュアップにより他の外部デバイスを利用しようとした際に、その外部デバイスへのアクセスができない場合には、Ｗｅｂサービスの実行が正常に行われない。しかしながら、Ｗｅｂアプリケーションに読み込まれた認証情報が、Ｗｅｂアプリケーションからクラウドやアクセス可能な別の外部デバイスに不必要に送信されるといった問題がある。
【０００８】
したがって、１つの側面では、本発明は、外部デバイスへのアクセスにおけるセキュリティを向上することを目的とする。
【課題を解決するための手段】
【０００９】
一態様によれば、上記課題は、複数のＷｅｂＡＰＩにアクセスし１つの機能を実現するマッシュアップ方法において、Ｗｅｂアプリケーションから外部デバイスのＷｅｂＡＰＩへアクセスするためのドライバの記述を解析して抽出した該Ｗｅｂアプリケーションが利用する該ＷｅｂＡＰＩを示すＷｅｂＡＰＩリストを作成し、記憶部に保持し、前記ＷｅｂＡＰＩリストを参照して、前記Ｗｅｂアプリケーションがアクセスする前記ＷｅｂＡＰＩを有する前記外部デバイスを一覧にした外部デバイスリストを作成して前記記憶部に保持し、前記外部デバイスリストを参照して、マッシュアップして実現する前記Ｗｅｂアプリケーションの処理で利用される前記ＷｅｂＡＰＩを有する前記外部デバイスが存在しない場合、前記Ｗｅｂアプリケーションに係る全てのＷｅｂＡＰＩへのアクセスを制限する処理をコンピュータが行うマッシュアップ方法が提供される。
【００１０】
また、上記課題を解決するための手段として、上記方法を行う装置、コンピュータに上記処理を実行させるためのプログラム、及び、そのプログラムを記憶した記憶媒体とすることもできる。
【発明の効果】
【００１１】
外部デバイスへのアクセスにおけるセキュリティを向上することができる。
【図面の簡単な説明】
【００１２】
【図１】Ｗｅｂサービス提供に係るシステムのネットワーク構成例を示す図である。
【図２】マッシュアップによるＷｅｂサービスにおいて、ユーザ認証が失敗した場合について説明するための図である。
【図３】本実施例におけるＷｅｂＡＰＩへのアクセス制御の概要を説明するための図である。
【図４】端末のハードウェア構成を示す図である。
【図５】端末の機能構成例を示す図である。
【図６】２つのＷｅｂアプリケーションで３つの外部デバイスが利用されるＷｅｂサービスの構成例を示す図である。
【図７】ＷｅｂＡＰＩ抽出部によるＷｅｂＡＰＩ抽出処理を説明するための図である。
【図８】第１のＷｅｂＡＰＩリストのデータ例を示す図である。
【図９】第２のＷｅｂＡＰＩリストのデータ例を示す図である。
【図１０】認証印刷アプリケーションに対するアプリケーション解析処理を説明するための図である。
【図１１】残高確認アプリケーションに対するアプリケーション解析処理を説明するための図である。
【図１２】デバイスリストのデータ例を示す図である。
【図１３】検知デバイスリストのデータ例を示す図である。
【図１４】Ｗｅｂアクセス制御部によるアクセス可否の判断方法を説明するための図である。
【図１５】本実施例に係るアクセス制御処理の全体を説明するための図である。
【図１６】デバイス検知部によるデバイス検知処理を説明するためのフローチャート図である。
【図１７】確認画面の例を示す図である。
【図１８】通知画面の例を示す図である。
【図１９】本実施例に係るアクセス制御処理の有無による処理シーケンスの違いを説明するための図である。
【発明を実施するための形態】
【００１３】
以下、本発明の実施の形態を図面に基づいて説明する。マッシュアップしたサービスとは、複数のＷｅｂサービスを組み合わせた新たなサービスである。先ず、マッシュアップによるＷｅｂサービスが提供されるネットワーク構成例について説明する。
【００１４】
図１は、Ｗｅｂサービス提供に係るシステムのネットワーク構成例を示す図である。図１において、システム１０００は、Ｗｅｂアプリケーション３１を有する端末３と、１以上のＷｅｂサービス提供装置５と、１以上の外部デバイス６０とを有する。端末３とＷｅｂサービス提供装置５とは、インターネット等のネットワーク２を介して接続される。
【００１５】
端末３と外部デバイス６０とは、Bluetooth LE（登録商標）、Ｗｉ−Ｆｉ等の近距離無線通信、又は、ＵＳＢ（Universal Serial Bus）によって接続される。端末３は、主に、携帯電話、ウェアラブル端末、タブレット端末等のユーザによって携帯される端末に相当する。外部デバイス６０は、端末３のデバイス検知機能によって、検知可能な装置である。
【００１６】
Ｗｅｂサービス提供装置５は、端末３からのＷｅｂサービス要求に応じて、端末３を介して外部デバイス６０から得た情報、ネットワーク２を介して外部デバイス６０から得た情報等を利用して、マッシュアップによるＷｅｂサービスを端末３に提供する。
【００１７】
Ｗｅｂサービス提供装置５によって、Ｇｏｏｇｌｅ ＡＰＩｓ等のＷｅｂサービスがＷｅｂＡＰＩとして提供されている。また、インターネットに多くの外部デバイスが接続されるＩｏＴ（Internet of Things）、これらインターネットに接続された外部デバイスがＷｅｂＡＰＩを公開してＨＴＴＰによるアクセスで使用可能となるＷｏＴ（Web of Things）が実現されようとしており、ＷｅｂＡＰＩ（Application Programming Interface）を有する外部デバイスがネットワークに繋がることで、外部デバイス６０の機能もマッシュアップの対象となる。
【００１８】
外部デバイス６０として、ネットワーク通信機能の有無に係らず、特定の機能を有するデバイスのうち、その特定の機能により得たデータをネットワーク通信により提供するデバイスが相当する。特定の機能として、磁器、ＩＣ、メモリ等の種々のタイプのカードからデータを読み取るカードリーダ、コピー機、ＦＡＸ、プリンタ等の画像形成装置、雨量計、風速計、地震計等の計測器等がある。
【００１９】
また、本実施例では、外部デバイス６０から取得した認証情報に基づいてユーザ認証し、認証成功した場合に、１つ以上の他の外部デバイス６０による機能、及び／又は、Ｗｅｂアプリケーションによるデータ処理によって得た結果を出力する一連の処理が、マッシュアップしたサービスに相当する。
【００２０】
マッシュアップされた一連の処理において、ユーザ認証が失敗した場合について説明する。図２は、マッシュアップによるＷｅｂサービスにおいて、ユーザ認証が失敗した場合について説明するための図である。図２では、認証印刷アプリケーション３１ｑの処理を例として、ユーザ認証が失敗した場合を説明する。
【００２１】
認証印刷アプリケーション３１ｑは、ユーザ認証が成功した場合に印刷処理を実行するＷｅｂサービスに係るアプリケーションであり、Ｗｅｂアプリケーション３１の一例に相当する。カードリーダ６１及びプリンタ６２は、外部デバイス６０に相当する。カードリーダ６１は、ｒ／ｗ ＡＰＩ６１ａを有し、プリンタ６２は、印刷ＡＰＩ６２ａを有する。ｒ／ｗ ＡＰＩ６１ａ及び印刷ＡＰＩ６２ａは、ＷｅｂＡＰＩに相当する。
【００２２】
ユーザから印刷指示を受け付けると（ステップＳ３１ｑ−１）、カードリーダ６１のｒ／ｗ ＡＰＩ６１ａを使って、ＩＣカード８ｃの認証情報８ａを読み出す（ステップＳ３１ｑ−２）。端末３が保持する認証情報８ｔを取得して（ステップＳ３１ｑ−３）、認証情報８ａと認証情報８ｔとを比較して（ステップＳ３１ｑ−４）、認証情報８ａと認証情報８ｔとが一致したらプリンタ６２の印刷ＡＰＩ６２ａを使って、印刷処理を実行する（ステップＳ３１ｑ−５）．
このような処理では、認証印刷アプリケーション３１ｑは、印刷ＡＰＩ６２ａの呼び出しの失敗によって、初めて、プリンタ６２が存在しないことを発見する。ユーザが指示をした印刷処理は実行されないが、印刷処理を行うための認証処理は、通常、印刷ＡＰＩ６２ａを呼び出すステップＳ３１ｑ−５以前に行われる。そのため、ユーザの認証情報８ａが不必要に認証印刷アプリケーション３１ｑにロードされてしまう。即ち、ユーザが意図しない認証情報８ａの読み出しが行われてしまう。
【００２３】
本実施例では、外部デバイス６０へのアクセスにおけるセキュリティを向上させる。Ｗｅｂアプリケーション３１に係る複数の外部デバイス６０の１つ以上とのアクセスができない間は、各外部デバイス６０へのアクセスを制限する。
【００２４】
即ち、図２において、本実施例では、プリンタ６２へのアクセスができないと判断した場合、認証印刷アプリケーション３１ｑにおけるステップＳ３１ｑ−２〜３１ｑ−４までの処理３１ｒの実行を抑止する。図２の認証印刷アプリケーション３１ｑにおけるＷｅｂＡＰＩへのアクセス制御の概要を説明する。
【００２５】
図３は、本実施例におけるＷｅｂＡＰＩへのアクセス制御の概要を説明するための図である。図３において、端末３内の認証印刷アプリケーション３１ｑがユーザからの印刷指示により実行されると、認証印刷アプリケーション３１ｑが解析される（ステップＳ１１）。この解析により、カードリーダ６１とプリンタ６２とが揃わないとマッシュアップによるＷｅｂサービスを実現できないことを認識する。
【００２６】
次に、解析結果に基づいて、カードリーダ６１及びプリンタ６２が探索される（ステップＳ１２）。探索により、カードリーダ６１は発見されるが、プリンタ６２は発見されない。このような場合、カードリーダ６１へのアクセスが制御される（ステップＳ１３）。この場合、プリンタ６２は発見されなかったため、認証印刷アプリケーション３１ｑが呼び出す他のＷｅｂＡＰＩ、即ち、ｒ／ｗ ＡＰＩ６１ａへのアクセスが抑止される。
【００２７】
このようなアクセス制御により、ＩＣカード８ｃに記憶された認証情報８ａが不必要に認証印刷アプリケーション３１ｑに読み出されることを防ぐことができる。
【００２８】
Ｗｅｂアプリケーション３１によりＷｅｂサービスを受ける端末３は、図４に示すようなハードウェア構成を有する。図４は、端末のハードウェア構成を示す図である。図４において、端末３は、コンピュータによって制御されるタブレット型、携帯電話等の情報処理端末であって、ＣＰＵ（Central Processing Unit）１１ｂと、主記憶装置１２ｂと、ユーザＩ／Ｆ（インターフェース）１６ｂと、通信Ｉ／Ｆ１７ｂと、ドライブ装置１８ｂとを有し、バスＢ２に接続される。
【００２９】
ＣＰＵ１１ｂは、主記憶装置１２ｂに格納されたプログラムに従って端末３を制御する。主記憶装置１２ｂには、ＲＡＭ（Random Access Memory）、ＲＯＭ（Read Only Memory）等が用いられ、ＣＰＵ１１ｂにて実行されるプログラム、ＣＰＵ１１ｂでの処理に必要なデータ、ＣＰＵ１１ｂでの処理にて得られたデータ等を記憶又は一時保存する。主記憶装置１２ｂに格納されているプログラムが、ＣＰＵ１１ｂに実行されることによって、各種処理が実現される。
【００３０】
ユーザＩ／Ｆ１６ｂは、ＣＰＵ１１ｂの制御のもとに必要な各種情報を表示し、また、ユーザによる操作入力を可能とするタッチパネル等である。通信Ｉ／Ｆ１７ｂによる通信は無線又は有線に限定されるものではない。通信Ｉ／Ｆ１７ｂは、Bluetooth LE、Ｗｉ−Ｆｉ等の無線通信、ネットワーク通信等の種々の通信に対応するインタフェースである。
【００３１】
端末３によって行われる処理を実現するプログラムは、ネットワーク２を介して外部装置からダウンロードされる。或いは、予め端末３の主記憶装置１２ｂに記憶されていても良い。
【００３２】
ドライブ装置１８ｂは、ドライブ装置１８ｂにセットされた記憶媒体１９ｂ（例えば、ＳＤ（Secure Digital）メモリカード等）と端末３とのインターフェースを行う。主記憶装置１２ｂ及び／又は記憶媒体１９ｂが記憶部１３０ｂに相当する。
【００３３】
図５は、端末の機能構成例を示す図である。図５において、端末３は、ＷｅｂＡＰＩ抽出部３０と、Ｗｅｂアプリケーション３１と、デバイスドライバ３２と、Ｗｅｂアプリケーション実行部３３とを有する。記憶部１３０ｂには、Ｗｅｂアプリケーション３１、ドライバ３２、ＷｅｂＡＰＩ抽出部３６、第１のＷｅｂＡＰＩ４１リスト、第２のＷｅｂＡＰＩリスト４２、デバイスリスト４３等が記憶される。
【００３４】
ＷｅｂＡＰＩ抽出部３０は、デバイスドライバ３２からＷｅｂアプリケーション３１で使用可能なＷｅｂＡＰＩの一覧を抽出する。ＷｅｂＡＰＩの一覧は、ＷｅｂＡＰＩリスト４０として記憶部１３０ｂに記憶される。ＷｅｂＡＰＩリスト４０は、ＷｅｂＡＰＩとして、ＷｅｂＡＰＩ名を抽出した第１のＷｅｂＡＰＩリスト４１と、ＵＲＬを抽出した第２のＷｅｂＡＰＩリスト４２とが相当する。
【００３５】
第１のＷｅｂＡＰＩリスト４１は、外部デバイス６０のデバイス名と、外部デバイス６０にアクセスするためのＷｅｂＡＰＩとを対応付けたテーブルに相当する。第２のＷｅｂＡＰＩリスト４２は、外部デバイス６０のデバイス名と、外部デバイス６０にアクセスするためのＵＲＬとを対応付けたテーブルに相当する。
【００３６】
Ｗｅｂアプリケーション３１は、予め記憶された記憶部１３０ｂから読み込まれ、又はＷｅｂサーバ１００からダウンロードされ、ＣＰＵ１１ｂによって実行される。デバイスドライバ３２は、各外部デバイス６０のデバイスドライバであり、予め記憶された記憶部１３０ｂから読み込まれ、ＣＰＵ１１ｂによって実行される。デバイスドライバ３２は、Ｗｅｂサーバ１００からダウンロードにより記憶部１３０ｂに記憶されてもよい。
【００３７】
Ｗｅｂアプリケーション実行部３３は、複数のＷｅｂＡＰＩにアクセスし１つの機能を実現するマッシュアップにおいて、複数のＷｅｂＡＰＩの全てにアクセス可能な場合に、Ｗｅｂアプリケーション３１を実行し処理を行う。ブラウザ等がＷｅｂアプリケーション実行部３３に相当する。Ｗｅｂアプリケーション実行部３３は、アプリケーション解析部３４と、Ｗｅｂアクセス制御部３５とを有する。
【００３８】
アプリケーション解析部３４は、Ｗｅｂアプリケーション３１を解析して、Ｗｅｂアプリケーション３１の実行に使用される外部デバイス６０を推定する。Ｗｅｂアプリケーション３１毎に、アプリケーション解析部３４が推定した外部デバイス６０を対応付けたデバイスリスト４３を記憶部１３０ｂに記憶する。
【００３９】
Ｗｅｂアクセス制御部３５は、デバイスリスト４３と検知デバイスリスト４７とを参照して、Ｗｅｂアプリケーション３１による外部デバイス６０のＷｅｂＡＰＩ６０ａへのアクセスを制御する。
【００４０】
デバイス検知部３７は、端末３から現在の利用可能な外部デバイス６０を検知する。検知された外部デバイス６０のデバイス名を一覧で示した検知デバイスリスト４７が記憶部１３０ｂに記憶される。記憶部１３０ｂに記憶された検知デバイスリスト４７は、Ｗｅｂアクセス制御部３５に参照される。
【００４１】
Ｗｅｂサーバ１００は、Ｗｅｂアプリケーション３１、デバイスドライバ３２等のプログラムの配布を行うサーバである。ネットワーク２を介して端末３からダウンロード要求を受け付けると、Ｗｅｂサーバ１００は、ダウンロード要求で指定されるプログラムを端末３にダウンロードする。
【００４２】
以下に、端末３が２つのＷｅｂアプリケーション３１を利用した場合で、本実施例に係る種々の処理及びデータ例について説明する。
【００４３】
図６は、２つのＷｅｂアプリケーションで３つの外部デバイスが利用されるＷｅｂサービスの構成例を示す図である。図６において、端末３は、認証印刷アプリケーション３１ｑと残高確認アプリケーション３１ｒの２つのＷｅｂアプリケーション３１を有する。
【００４４】
カードリーダ６１、プリンタ６２、及びディスプレイ６３は、外部デバイス６０に相当する。カードリーダ６１はｒ／ｗ  ＡＰＩ６１ａを有し、プリンタ６２は印刷ＡＰＩ６２ａを有し、ディスプレイ６３は表示ＡＰＩ６３ａを有する。
【００４５】
認証印刷アプリケーション３１ｑは、カードリーダ６１が読み込んだＩＣカード８ｃの認証情報８ａに基づいて、ユーザ認証を行い、認証成功した場合に、プリンタ６２にユーザが指定した文書等を印刷する印刷処理を行わせる。
【００４６】
残高確認アプリケーション３１ｒは、カードリーダ６１が読み込んだプリペイドカード８ｐの残高情報をディスプレイ６３に表示する。
【００４７】
この例では、カードリーダ６１が２つのＷｅｂアプリケーション３１によって利用される。図６に示す例に基づいて、種々の処理及びデータ例を説明する。先ず、ＷｅｂＡＰＩ抽出部３０によるＷｅｂＡＰＩ抽出処理について説明する。
【００４８】
図７は、ＷｅｂＡＰＩ抽出処理を説明するための図である。図７において、カードリーダ６１とプリンタ６２のデバイスドライバ３２の記述例を示す。カードリーダ６１のデバイスドライバ３２の記述例６１ｄ、及び、プリンタ６２のデバイスドライバ３２の記述例６２ｄは、JavaScript（登録商標）であってもよい。
【００４９】
カードリーダ６１のデバイスドライバ３２はドライバ「cardreader.js」で示され、プリンタ６２のデバイスドライバ３２の記述例６２ｄはドライバ「printer.js」で示される。
【００５０】
ＷｅｂＡＰＩ抽出部３０は、ドライバ「cardreader.js」から関数名とその関数内部でのアクセス先ＵＲＬを取得する。各関数名を、デバイス名と共に第１のＷｅｂＡＰＩリスト４１に格納する。デバイス名として、ドライバ「cardreader.js」のファイル名に相当する"cardreader"が使用される。
【００５１】
また、ＷｅｂＡＰＩ抽出部３０は、関数内部のアクセス先ＵＲＬを、デバイス名と共に第２のＷｅｂＡＰＩリスト４２に格納する。
【００５２】
この例では、関数名「readICCard」と「writeICCard」とが、デバイス名「cardreader」と共に第１のＷｅｂＡＰＩリスト４１に記憶される。ＵＲＬ"http://xxx.jp/ readICCard"と"http://xxx.jp/ writeICCard"とが、デバイス名「printer」と共に第２のＷｅｂＡＰＩリスト４２に記憶される。
【００５３】
このように、プリンタ６２のデバイスドライバ３２からも同様に、ＷｅｂＡＰＩ抽出部３０は、関数名「a4Print」及び「b4Print」とＵＲＬ「http://xxx.jp/a4print」及び「http://xxx.jp/b4print」とを取得する。そして、ＷｅｂＡＰＩ抽出部３０は、関数名「a4Print」及び「b4Print」の夫々をデバイス名「printer」と共に第１のＷｅｂＡＰＩリスト４１に記憶し、ＵＲＬ「http://xxx.jp/a4print」及び「http://xxx.jp/b4print」の夫々をデバイス名「printer」と共に第２のＷｅｂＡＰＩリスト４２に記憶する。
【００５４】
同様に、ＷｅｂＡＰＩ抽出部３０は、ディスプレイ６３のデバイスドライバ３２から関数名とＵＲＬとを取得し、ディスプレイ６３のデバイス名「display」と共に、第１のＷｅｂＡＰＩリスト４１及び第２のＷｅｂＡＰＩリスト４２に夫々記憶する。
【００５５】
図８は、第１のＷｅｂＡＰＩリストのデータ例を示す図である。図８において、第１のＷｅｂＡＰＩリスト４１は、デバイス名、ＷｅｂＡＰＩ等の項目を有する。デバイス名は、外部デバイス６の名称を示す。ＷｅｂＡＰＩは、端末３のＷｅｂアプリケーション３１が呼び出すＷｅｂＡＰＩ６０ａの名称を示す。
【００５６】
図８のデータ例では、デバイス名「printer」のプリンタ６２に対して、ＷｅｂＡＰＩ「a4Print」及び「b4Print」が使用されることを示している。また、デバイス名「cardreader」のカードリーダ６１に対して、ＷｅｂＡＰＩ「readICCard」及び「writeICCard」が使用されることを示している。更に、デバイス名「display」のディスプレイ６３に対して、「showDisplay」が使用されていることを示している。
【００５７】
図９は、第２のＷｅｂＡＰＩリストのデータ例を示す図である。図９において、第２のＷｅｂＡＰＩリスト４２は、デバイス名、ＵＲＬ等の項目を有する。デバイス名は、外部デバイス６の名称を示す。ＵＲＬは、端末３のＷｅｂアプリケーション３１が呼び出すＵＲＬを示す。
【００５８】
図９のデータ例では、デバイス名「printer」のプリンタ６２に対して、ＵＲＬ「http://xxx.jp/a4print」及び「http://xxx.jp/b4print」が使用されることを示している。また、デバイス名「cardreader」のカードリーダ６１に対して、ＵＲＬ「http://yyy.jp/read_ic」及び「http://yyy.jp/write_ic」が使用されることを示している。更に、デバイス名「display」のディスプレイ６３に対して、「http://zzz.jp/show_disp」が使用されていることを示している。
【００５９】
次に、アプリケーション解析部３４によるアプリケーション解析処理について説明する。図１０は、認証印刷アプリケーションに対するアプリケーション解析処理を説明するための図である。ユーザ認証を行う認証関数を一例として、同一関数内で呼ばれる複数のＷｅｂＡＰＩ６０ａは、マッシュアップされて認証処理という一つの機能を実現する場合で、２つの記述例を示す。
【００６０】
図１０（Ａ）に示すauthPrint関数の記述例１５１では、記述１５２でＷｅｂＡＰＩ「readICCard」が呼ばれ、記述１５３でＷｅｂＡＰＩ「a4Print」が呼ばれている。アプリケーション解析部３４は、これら２つのＷｅｂＡＰＩが呼ばれていることから、図８の第１のＷｅｂＡＰＩリスト４１を参照することで、２つの外部デバイス「printer」及び「cardreader」が利用されることが分かる。
【００６１】
authPrint関数によって、これら複数の外部デバイス６０を用いた一連の処理が行われることが分かる。プリンタ６２とカードリーダ６１とによって一機能が提供されると判断する。このように、アプリケーション解析部３４は、同一関数内で呼ばれる複数のＷｅｂＡＰＩは一機能を成すものと見なす。
【００６２】
図１０（Ｂ）に示すreadCard関数及びauthPrint関数の記述例１６１では、authPrint関数内部の記述１６２でreadCard関数が呼ばれ、readCard関数内部の記述１６３でＷｅｂＡＰＩ「readICCard」が呼ばれている。また、authPrint関数内部の記述１６４でＷｅｂＡＰＩ「a4Print」が呼ばれている。アプリケーション解析部３４は、図８の第１のＷｅｂＡＰＩリスト４１を参照することで、２つの外部デバイス「cardreader」及び「printer」が利用されることが分かる。
【００６３】
authPrint関数によって、これら複数の外部デバイス６０を用いた一連の処理が行われることが分かる。カードリーダ６１とプリンタ６２とによって一機能が提供される。このように、アプリケーション解析部３４は、関数内部で関数が呼び出されるネスティングの場合、最深層まで辿りＷｅｂＡＰＩ６０ａを探索し、呼ばれた複数のＷｅｂＡＰＩ６０ａは一機能を成すと見なす。
【００６４】
図１０（Ａ）の記述例１５１及び図１０（Ｂ）の記述例１６１は、カードリーダ６１とプリンタ６２とを利用して、ユーザ認証をして印刷する認証印刷アプリケーション３１ｑの例に相当する。
【００６５】
図１１は、残高確認アプリケーションに対するアプリケーション解析処理を説明するための図である。図１１に示すcheckCharge関数の記述例１７１では、記述１７２でＷｅｂＡＰＩ「readICCard」が呼ばれている。また、記述１７３でＵＲＬ「http://zzz.jp/show_disp」が呼ばれている。
【００６６】
アプリケーション解析部３４は、図８の第１のＷｅｂＡＰＩリスト４１を参照することで、外部デバイス「cardreader」が利用されることが分かる。また、アプリケーション解析部３４は、図９の第２のＷｅｂＡＰＩリスト４２を参照することで、外部デバイス「cardreader」が利用されることが分かる。
【００６７】
checkCharge関数によって、これら複数の外部デバイス６０を用いた一連の処理が行われることが分かる。プリンタ６２とカードリーダ６１とによって一機能が提供されると判断する。このように、アプリケーション解析部３４は、ＷｅｂＡＰＩ６０ａのアクセスと直接ＵＲＬへのアクセスとが混在していても、第１のＷｅｂＡＰＩリスト４１と第２のＷｅｂＡＰＩリスト４２とを参照することで、外部デバイス６０を特定することができる。
【００６８】
図１２は、デバイスリストのデータ例を示す図である。図１２において、デバイスリスト４３は、Ｗｅｂアプリケーション３１毎にアクセス制御の対象となる外部デバイス６０を対応付けたテーブルであり、アプリケーション名、デバイス名１、デバイス名２、・・・等の項目を有する。
【００６９】
デバイスリスト４３は、アプリケーション解析部３４によって作成され、Ｗｅｂアプリケーション３１からの外部デバイス６０へのアクセス制御を行う際に、Ｗｅｂアクセス制御部３５によって参照される。
【００７０】
図１２に示すデータ例において、アプリケーション名「authPrint」は、認証印刷アプリケーション３１ｑに相当し、アプリケーション名「checkCharge」は、残高確認アプリケーション３１ｒに相当する。
【００７１】
認証印刷アプリケーション３１ｑからアクセスされる外部デバイス６０は、デバイス名１「printer」で特定されるプリンタ６２と、デバイス名２「cardreader」で特定されるカードリーダ６１であることが示されている。
【００７２】
従って、認証印刷アプリケーション３１ｑの実行時に、１以上の外部デバイス６０へのアクセスができない場合、Ｗｅｂアクセス制御部３５によって、アクセス可能であった外部デバイス６０も含めて全ての外部デバイス６０、即ち、プリンタ６２及びカードリーダ６１へのアクセスが抑止される。
【００７３】
また、残高確認アプリケーション３１ｒからアクセスされる外部デバイス６０は、デバイス名１「cardreader」で特定されるカードリーダ６１と、デバイス名２「display」で特定されるディスプレイ６３であることが示されている。
【００７４】
従って、残高確認アプリケーション３１ｒの実行時に、１以上の外部デバイス６０へのアクセスができない場合、Ｗｅｂアクセス制御部３５によって、アクセス可能であった外部デバイス６０も含めて全ての外部デバイス６０、即ち、カードリーダ６１及びディスプレイ６３へのアクセスが抑止される。
【００７５】
図１３は、検知デバイスリストのデータ例を示す図である。図１３において、検知デバイスリスト４７は、現在の利用可能な外部デバイス６０のデバイス名を示す。デバイス名は、デバイス検知部３７が検知した外部デバイス６０のデバイス名を示す。
【００７６】
図１３に示すデータ例では、デバイス名「cardreader」、及び「display」のみが示され、プリンタ６２のデバイス名「printer」が存在しない。端末３は、プリンタ６２へアクセスできない状態であることを示している。
【００７７】
Ｗｅｂアクセス制御部３５は、デバイスリスト４３を参照して、Ｗｅｂアプリケーション３１が処理に使用する外部デバイス６０のデバイス名を取得し、取得したデバイス名が検知デバイスリスト４７に一覧されていない場合、Ｗｅｂアプリケーション３１において、取得したデバイス名で特定される全ての外部デバイス６０へのアクセスを抑止する。
【００７８】
次に、Ｗｅｂアクセス制御部３５によるアクセス可否の判断方法について説明する。図１４は、Ｗｅｂアクセス制御部によるアクセス可否の判断方法を説明するための図である。図１４において、Ｗｅｂアプリケーション３１が外部デバイス６０へアクセスする方法には、デバイスドライバ３２が提供するＡＰＩ６０ａを利用して外部デバイス６０にアクセスする第１の方法と、外部デバイス６０のＵＲＬを直接アクセスする第２の方法の２通りある。
【００７９】
Ｗｅｂアプリケーション３１が認証印刷アプリケーション３１ｑであり、図１０（Ａ）の記述例１５１で表される場合で説明する。
【００８０】
第１の方法では、デバイスドライバ３２は、Ｗｅｂアプリケーション３１が呼び出したＷｅｂＡＰＩ６０ａをＵＲＬに変換して、Ｗｅｂアクセス制御部３５へ変換したＵＲＬへアクセスを要求する。
【００８１】
readICCard関数がＷｅｂアプリケーション３１の呼び出したＷｅｂＡＰＩ６０ａである場合、デバイスドライバ３２は、図７の記述例６１ｄに示すように、ＵＲＬ「http://yyy.jp/read_ic」へとアクセスとしてＷｅｂアクセス制御部３５にアクセス要求を行う。
【００８２】
Ｗｅｂアクセス制御部３５は、デバイスドライバ３２からのアクセス要求に応じて、第２のＷｅｂＡＰＩリスト４２を参照して、デバイスドライバ３２からアクセス要求のあったＵＲＬ「http://yyy.jp/read_ic」に対応するデバイス名「cardreader」を取得する。
【００８３】
更に、Ｗｅｂアクセス制御部３５は、デバイスリスト４３を参照して、読み出し元のＷｅｂアプリケーション３１に対応するデバイス名を取得する。認証印刷アプリケーション３１ｑの場合、デバイス名「printer」及び「cardreader」を取得する。
【００８４】
そして、Ｗｅｂアクセス制御部３５は、検知デバイスリスト４７にデバイスリスト４３から取得したデバイス名「printer」及び「cardreader」の全てがリストされていない場合、デバイスドライバ３２からのＵＲＬ「http://yyy.jp/read_ic」へのアクセスを行わない。アクセス要求は抑止される。
【００８５】
一方、デバイス名「printer」及び「cardreader」の全てが検知デバイスリスト４７にリストされている場合、Ｗｅｂアクセス制御部３５は、アクセス要求のあったＵＲＬ「http://yyy.jp/read_ic」にアクセスする。
【００８６】
次に、第２の方法では、Ｗｅｂアクセス制御部３５は、Ｗｅｂアプリケーション３１から直接ＵＲＬ「http://yyy.jp/read_ic」へのアクセス要求を受け付ける。この場合、Ｗｅｂアクセス制御部３５は、第２のＷｅｂＡＰＩリスト４２を参照して、ＵＲＬ「http://yyy.jp/read_ic」に対応付けられるデバイス名「cardreader」を取得する。
【００８７】
Ｗｅｂアクセス制御部３５は、デバイスリスト４３から、要求元の認証印刷アプリケーション３１ｑのアプリケーション名「authPrint」に対応付けられる全てのデバイス名「printer」及び「cardreaders」を取得する。
【００８８】
そして、Ｗｅｂアクセス制御部３５は、検知デバイスリスト４７にデバイスリスト４３から取得したデバイス名「printer」及び「cardreader」の全てがリストされていない場合、デバイスドライバ３２からのＵＲＬ「http://yyy.jp/read_ic」へのアクセスを行わない。アクセス要求は抑止される。
【００８９】
一方、デバイス名「printer」及び「cardreader」の全てが検知デバイスリスト４７にリストされている場合、Ｗｅｂアクセス制御部３５は、アクセス要求のあったＵＲＬ「http://yyy.jp/read_ic」にアクセスする。
【００９０】
次に、本実施例に係る端末３におけるアクセス制御処理の全体について説明する。図１５は、本実施例に係るアクセス制御処理の全体を説明するための図である。図１５において、デバイス検知部３７は、通信Ｉ／Ｆ１７ｂを介してアクセス可能な外部デバイス６０を発見する（ステップＳ２１１）。発見した外部デバイス６０に対応するＷｅｂアプリケーション３１及びデバイスドライバ３２が夫々Ｗｅｂサーバ１００等からダウンロードされる。
【００９１】
ＷｅｂＡＰＩ抽出部３０は、新たなデバイスドライバ３２のダウンロードを検知すると、ダウンロードされたデバイスドライバ３２を解析し、ＷｅｂＡＰＩリスト４０を作成する（ステップＳ２１２）。第１のＷｅｂＡＰＩリスト４１と第２のＷｅｂＡＰＩリスト４２とが作成され、記憶部１３０ｂに格納される。新たなデバイスドライバ３２のダウンロードがない場合には、このステップＳ２１２は省略される。
【００９２】
次に、アプリケーション解析部３４は、新たなＷｅｂアプリケーション３１のダウンロードを検知すると、ダウンロードされたＷｅｂアプリケーション３１を解析し、Ｗｅｂアプリケーション３１に関して、処理で利用される外部デバイス６０の一覧をデバイスリスト４３に追加する（ステップＳ２１３）。新たなＷｅｂアプリケーション３１のダウンロードがない場合には、このステップＳ２１３は省略される。
【００９３】
Ｗｅｂアプリケーション実行部３３は、Ｗｅｂアプリケーション３１を起動し、Ｗｅｂアプリケーション３１から外部デバイス６０へのアクセス要求を受け付ける（ステップＳ２１４）。
【００９４】
Ｗｅｂアクセス制御部３４は、アクセス要求で指定されたＵＲＬを取得し、ＵＲＬからデバイス名を取得する（ステップＳ２１５）。また、Ｗｅｂアクセス制御部３４は、デバイスリスト４３からＷｅｂアプリケーション３１が利用する外部デバイス６０のデバイス名を取得する（ステップＳ２１６）。
【００９５】
そして、Ｗｅｂアクセス制御部３４は、ステップＳ２１６で取得した全てのデバイス名が、検知デバイスリスト４７に存在するか否かを判断する（ステップＳ２１７）。存在する場合（ステップＳ２１７のＹｅｓ）、Ｗｅｂアクセス制御部３４は、外部デバイス６０へのアクセスを許可する（ステップＳ２１８）。よって、Ｗｅｂアプリケーション実行部３３は、外部デバイス６０へアクセスしてジョブを実行する（ステップＳ２１９）。その後、このアクセス制御処理は終了する。
【００９６】
一方、取得した全てのデバイス名が検知デバイスリスト４７に存在しない場合（ステップＳ２１７のＮｏ）、Ｗｅｂアクセス制御部３５は、同じＷｅｂＡＰＩ６０ａを公開する他の外部デバイスがあるか否かを判断する（ステップＳ２２０）。
【００９７】
他の外部デバイス６０がある場合（ステップＳ２２０のＹｅｓ）、Ｗｅｂアクセス制御部３５は、更に、他の外部デバイス６０への切り替えが可能か否かを判断する（ステップＳ２２１）。判断方法の例として、図１７に示すような確認画面Ｇ８１をユーザＩ／Ｆ１６ｂに表示し、ユーザＩ／Ｆ１６ｂから受信したユーザの指示（ＯＫ又はＮＧ）に応じた処理を行う。
【００９８】
ユーザの指示がＯＫである場合（ステップＳ２２１のＯＫ）、他の外部デバイス６０への切り替えが許可されたと判断して、Ｗｅｂアクセス制御部３５は、アクセス先を他のデバイスに切り替えて、アクセスを許可する（ステップＳ２２２）。このアクセス許可により、Ｗｅｂアプリケーション実行部３３は、外部デバイス６０へアクセスしてジョブを実行する（ステップＳ２１９）。その後、このアクセス制御処理は終了する。
【００９９】
一方、他の外部デバイス６０がない場合（ステップＳ２２０のＮｏ）、又は、ユーザの指示がＮＧである場合（ステップＳ２２１のＮＧ）、Ｗｅｂアクセス制御部３５は、要求された外部デバイス６０へのアクセスを遮断する（ステップＳ２２３）。その後、このアクセス制御処理は終了する。
【０１００】
図１６は、デバイス検知部によるデバイス検知処理を説明するためのフローチャート図である。図１６において、デバイス検知部３７は、端末３の電源オンにより端末３の起動を検知する（ステップＳ２５１）。デバイス検知部３７は、ステップＳ２５２からＳ２５５までの処理を、端末３の電源がオフされるまで、所定間隔で繰り返す。
【０１０１】
デバイス検知部３７は、外部デバイス６０のスキャンを開始し（ステップＳ２５２）、外部デバイス６０を発見する（ステップＳ２５３）。デバイス検知部３７は、新たな外部デバイスを発見すると、検知デバイスリスト４７に追加し（ステップＳ２５４）、外部デバイス６０のスキャンを停止する（ステップＳ２５５）。デバイス検知部３７は、所定時間後に、ステップＳ２５２から上述した同様の処理を繰り返す。
【０１０２】
図１７は、確認画面の例を示す図である。図１７において、確認画面Ｇ８１は、メッセージ表示領域８１ａ、ＯＫボタン８１ｂ、及びＮＧボタン８１ｃを有する。メッセージ表示領域８１ａには、ユーザから外部デバイス６０の切り替えの可否を確認するメッセージが表示される。一例として、「デバイスｘｘｘをデバイスｙｙｙに切替えて、実行を継続できます。継続する場合はＯＫ、継続しない場合はＮＧを選択してください。」等のメッセージが表示される。
【０１０３】
ＯＫボタン８１ｂは、ユーザが外部デバイス６０を切り替えて、Ｗｅｂアプリケーション３１を実行することを許諾する場合に、ユーザによって選択されるボタンである。ＯＫボタン８１ｂの選択に応じて、Ｗｅｂアクセス制御部３５は、アクセス先を他のデバイスに切り替えて、アクセスを許可する（図１５のステップＳ２２２）。Ｗｅｂアプリケーション３１の実行が継続される。
【０１０４】
ＮＧボタン８１ｃは、ユーザが外部デバイス６０を切り替えることを許可しない場合に、ユーザによって選択されるボタンである。ＮＧボタン８１ｃの選択に応じて、Ｗｅｂアクセス制御部３５は、アクセス要求で指定された外部デバイス６０へのアクセスを遮断する（図１５のステップＳ２２３）。Ｗｅｂアプリケーション３１の実行が遮断される。
【０１０５】
また、図１５のステップＳ２２３において、外部デバイス６０へのアクセスを遮断した場合には、図１８に示すような通知画面Ｇ８２をユーザＩ／Ｆ１６ｂに表示してもよい。
【０１０６】
図１８は、通知画面の例を示す図である。図１８において、通知画面Ｇ８２は、メッセージ表示領域８２ａ、及びＯＫボタン８２ｂを有する。メッセージ表示領域８２ａには、ユーザにＷｅｂアプリケーション３１による処理の実行が停止したことを通知するメッセージが表示される。一例として、「デバイスｘｘｘが見つからないため、実行を停止しました。再度実行する場合は、デバイスｘｘｘの状態を確認してください。」等のメッセージが表示される。
【０１０７】
ＯＫボタン８２ｂは、ユーザが実行の停止を確認後に選択されるボタンである。ＯＫボタン８２ｂの選択に応じて、本実施例に係るアクセス制御処理は終了する。
【０１０８】
次に、本実施例に係るアクセス制御処理が行われない場合と、本実施例に係るアクセス制御処理が行われる場合との処理シーケンスの違いを説明する。図１９は、本実施例に係るアクセス制御処理の有無による処理シーケンスの違いを説明するための図である。図１９では、認証印刷アプリケーション３１ｑの実行を例として、処理シーケンスの違いを説明する。
【０１０９】
図１９（Ａ）は、本実施例に係るアクセス制御処理が行われない場合の処理シーケンスの一例を示している。図１９（Ａ）において、端末３'は、本実施例に係るアクセス制御処理が行われない端末である。端末３'は、認証印刷アプリケーション３１ｑからの印刷要求に応じて（ステップＳ４０１）、認証情報８ａを読み出すための認証情報読出要求をカードリーダ６１へ行う（ステップＳ４０２）。
【０１１０】
カードリーダ６１は、認証情報読出要求に応じて、ＩＣカード８ｃから認証情報８ａを読み出して（ステップＳ４０３）、認証情報応答を端末３'に行う（ステップＳ４０４）。端末３'では、認証情報応答によって、ＩＣカード８ｃから読み出した認証情報８ａが認証印刷アプリケーション３１ｑに通知される。
【０１１１】
認証印刷アプリケーション３１ｑは、ＩＣカード８ｃの認証情報８ａを内部に保持する（ステップＳ４０５）。そして、認証印刷アプリケーション３１ｑは、端末３の記憶部１３０ｂから取得した認証情報８ｔと、ＩＣカード８ｃの認証情報８ａとを比較してユーザ認証を行う（ステップＳ４０６）。認証印刷アプリケーション３１ｑは、認証が成功すると、印刷要求をプリンタ６２に対して行う（ステップＳ４０７）。
【０１１２】
しかしながら、プリンタ６２にアクセスできない状態である場合、端末３'は、プリンタ６２との通信接続できないため、プリンタ６２を見つけることができない。印刷要求に対する応答待ちによりタイムアウトすると、端末３'は、実行エラーをユーザＩ／Ｆ１６ｂに表示して（ステップＳ４０８）、認証印刷アプリケーション３１ｑによる認証印刷処理を終了する。
【０１１３】
上述したように、図１９（Ａ）の処理シーケンスでは、結果、プリンタ６２を発見することができず、プリンタ６２による印刷は行えないにも係らず、ステップＳ４０５にて認証印刷アプリケーション３１ｑは、ＩＣカード８ｃの認証情報８ａを保持できてしまう。
【０１１４】
その結果、認証情報８ａが不必要にクラウドや外部デバイスに送信されてしまう恐れがありセキュリティに問題がある。また、プリンタ６２に利用不可能な状態で、ＩＣカード８ｃの認証情報８ａを取得することのみに、認証印刷アプリケーション３１ｑが利用されてしまう恐れがある。
【０１１５】
更に、仮に、ユーザ認証が成功したとしても、ステップＳ４０７における、利用できないプリンタ６２への印刷要求等のアクセスは、端末３'の資源を無駄に消費するため不必要なアクセスである。
【０１１６】
図１９（Ｂ）は、本実施例に係るアクセス制御処理が行われる場合の処理シーケンスの一例を示している。図１９（Ｂ）において、端末３では、認証印刷アプリケーション３１ｑ印刷要求に応じて（ステップＳ５０１）、Ｗｅｂアクセス制御部３５がデバイスリスト４３と検知デバイスリスト４７とを用いて、利用するデバイスが存在するか否かをチェックする（ステップＳ５０２）。プリンタ６２が存在しないことを、端末３の内部で検知する。
【０１１７】
Ｗｅｂアクセス制御部３５は、カードリーダ６１へのデバイスアクセスを行わず、ユーザＩ／Ｆ１６ｂに実行エラーを表示する（ステップＳ５０３）。実行エラーの表示として、図１７の確認画面Ｇ８１、及び／又は、図１８の通知画面Ｇ８２等が表示される。
【０１１８】
図１９（Ｂ）の処理シーケンスでは、カードリーダ６１が存在するにも係らず、認証情報８ａの取得が行われない。従って、不必要に認証情報８ａがＷｅｂアプリケーション３１に保持されることがないため、外部デバイス６０へのアクセスにおけるセキュリティを向上させることができる。また、存在しないプリンタ６２へのアクセスも行われないため、図１９（Ａ）の処理シーケンスに比べて、端末３の資源を無駄にすることがない。
【０１１９】
本発明は、具体的に開示された実施例に限定されるものではなく、特許請求の範囲から逸脱することなく、主々の変形や変更が可能である。
【０１２０】
以上の実施形態に関し、更に以下の付記を開示する。
（付記１）
複数のＷｅｂＡＰＩにアクセスし１つの機能を実現するマッシュアップ方法において、
Ｗｅｂアプリケーションから外部デバイスのＷｅｂＡＰＩへアクセスするためのドライバの記述を解析して抽出した該Ｗｅｂアプリケーションが利用する該ＷｅｂＡＰＩを示すＷｅｂＡＰＩリストを作成し、記憶部に保持し、
前記Ｗｅｂアプリケーションを解析して、前記Ｗｅｂアプリケーションがアクセスする前記ＷｅｂＡＰＩを有する前記外部デバイスを推定して一覧にした外部デバイスリストを作成して前記記憶部に保持し、
前記外部デバイスリストを参照して、マッシュアップして実現する前記Ｗｅｂアプリケーションの処理で利用される前記ＷｅｂＡＰＩを有する前記外部デバイスが存在しない場合、前記Ｗｅｂアプリケーションに係る各前記ＷｅｂＡＰＩへのアクセスを制限する
処理をコンピュータが行うマッシュアップ方法。
（付記２）
前記アクセスの制限は、
デバイス検知により検知した前記外部デバイスを一覧にした検知デバイスリストに、前記外部デバイスリストを参照することによって得られた前記Ｗｅｂアプリケーションで利用される各前記外部デバイスが存在するか否かを判断し、
前記前記Ｗｅｂアプリケーションで利用される前記外部デバイスの１以上が存在しない場合、該Ｗｅｂアプリケーションで利用される各前記外部デバイスへのアクセスを制限する
ことを特徴とする付記１記載のマッシュアップ方法。
（付記３）
前記アクセスの制限は、
前記前記Ｗｅｂアプリケーションで利用される前記外部デバイスの各々が前記検知デバイスリストに存在する場合、該Ｗｅｂアプリケーションに係る各前記ＷｅｂＡＰＩへのアクセスを許可する
ことを特徴とする付記２記載のマッシュアップ方法。
（付記４）
前記ＷｅｂＡＰＩリストは、第１のＷｅｂＡＰＩリストと、第２のＷｅｂＡＰＩリストとを有し、
前記ＷｅｂＡＰＩリストの作成では、
前記ドライバの記述から、前記ＷｅｂＡＰＩを読み出すための関数を抽出して前記外部デバイスのデバイス名と対応付けて前記第１のＷｅｂＡＰＩリストを作成し、前記ＷｅｂＡＰＩを読み出すためのＵＲＬと前記デバイス名と対応付けて前記第２のＷｅｂＡＰＩリストと作成する
ことを特徴とする付記１乃至３のいずれか１項記載のマッシュアップ方法。
（付記５）
前記外部デバイスリストの作成では、
前記Ｗｅｂアプリケーションの記述内において、同一関数内の複数のＷｅｂＡＰＩに対応する夫々の外部デバイスを該Ｗｅｂアプリケーションの実行で利用される外部デバイスであると推定する
ことを特徴とする付記１乃至４のいずれか１項記載のマッシュアップ方法。
（付記６）
前記外部デバイスリストの作成では、
前記Ｗｅｂアプリケーション毎に、該Ｗｅｂアプリケーションのアプリケーション名と、推定した外部デバイスとを対応付けて前記外部デバイスリストを作成する
ことを特徴とする付記５項記載のマッシュアップ方法。
（付記７）
前記アクセスの制限は、
前記前記Ｗｅｂアプリケーションで利用される前記外部デバイスの１以上が存在しない場合、同じＷｅｂＡＰＩを公開する他の外部デバイスが存在するか否かを判断し、
前記他のデバイスが存在する場合、前記他の外部デバイスへの切り替え可能か否かを確認する確認画面をユーザＩ／Ｆし、該ユーザＩ／Ｆから該他の外部デバイスへの切り替えが可能である旨の情報を受信すると、該他の外部デバイスへアクセスを許可する
ことを特徴とする付記２項記載のマッシュアップ方法。
（付記８）
前記アクセスの制限は、
前記他のデバイスが存在しない場合、該Ｗｅｂアプリケーションで利用される各前記外部デバイスへのアクセスが可能になるまで、該外部デバイスへのアクセスを遮断する
ことを特徴とする付記１乃至７のいずれか一項記載のマッシュアップ方法。
（付記９）
複数のＷｅｂＡＰＩにアクセスし１つの機能を実現するＷｅｂアプリケーションから外部デバイスのＷｅｂＡＰＩへアクセスするためのドライバの記述を解析して抽出した該Ｗｅｂアプリケーションが利用する該ＷｅｂＡＰＩを示すＷｅｂＡＰＩリストを作成し、記憶部に保持し、
前記ＷｅｂＡＰＩリストを参照して、前記Ｗｅｂアプリケーションがアクセスする前記ＷｅｂＡＰＩを有する前記外部デバイスを一覧にした外部デバイスリストを作成して前記記憶部に保持し、
前記外部デバイスリストを参照して、マッシュアップして実現する前記Ｗｅｂアプリケーションの処理で利用される前記ＷｅｂＡＰＩを有する前記外部デバイスが存在しない場合、前記Ｗｅｂアプリケーションに係る各前記ＷｅｂＡＰＩへのアクセスを制限する
処理をコンピュータが行うマッシュアッププログラム。
（付記１０）
複数のＷｅｂＡＰＩにアクセスし１つの機能を実現するＷｅｂアプリケーションから外部デバイスのＷｅｂＡＰＩへアクセスするためのドライバの記述を解析して抽出した該Ｗｅｂアプリケーションが利用する該ＷｅｂＡＰＩを示すＷｅｂＡＰＩリストを作成し、記憶部に保持する抽出部と、
前記ＷｅｂＡＰＩリストを参照して、前記Ｗｅｂアプリケーションがアクセスする前記ＷｅｂＡＰＩを有する前記外部デバイスを一覧にした外部デバイスリストを作成して前記記憶部に保持する解析部と、
前記外部デバイスリストを参照して、マッシュアップして実現する前記Ｗｅｂアプリケーションの処理で利用される前記ＷｅｂＡＰＩを有する前記外部デバイスが存在しない場合、前記Ｗｅｂアプリケーションに係る各前記ＷｅｂＡＰＩへのアクセスを制限するアクセス制御部と
処理をコンピュータが行う端末。
【符号の説明】
【０１２１】
２              ネットワーク
３              端末
５              Ｗｅｂサービス提供装置
８ａ、８ｔ      認証情報
３０            ＷｅｂＡＰＩ抽出部
３１            Ｗｅｂアプリケーション
３１ｑ          認証印刷アプリケーション
３１ｒ          残高確認アプリケーション
３２            デバイスドライバ
３３            Ｗｅｂアプリケーション実行部
３４            アプリケーション解析部
３５            Ｗｅｂアクセス制御部
３７            デバイス検知部
４０            ＷｅｂＡＰＩリスト
４１            第１のＷｅｂＡＰＩリスト
４２            第２のＷｅｂＡＰＩリスト
４３            デバイスリスト
４７            検知デバイスリスト
６０            外部デバイス
６０ａ          ＷｅｂＡＰＩ
６１            カードリーダ
６２            プリンタ
６３            ディスプレイ
１０００        システム
【図１】
0006455278.tif 000002
【図２】
0006455278.tif 000003
【図３】
0006455278.tif 000004
【図４】
0006455278.tif 000005
【図５】
0006455278.tif 000006
【図６】
0006455278.tif 000007
【図７】
0006455278.tif 000008
【図８】
0006455278.tif 000009
【図９】
0006455278.tif 000010
【図１０】
0006455278.tif 000011
【図１１】
0006455278.tif 000012
【図１２】
0006455278.tif 000013
【図１３】
0006455278.tif 000014
【図１４】
0006455278.tif 000015
【図１５】
0006455278.tif 000016
【図１６】
0006455278.tif 000017
【図１７】
0006455278.tif 000018
【図１８】
0006455278.tif 000019
【図１９】
0006455278.tif 000020