(57)【要約】【課題】効率的にＷｅｂアプリケーションを提供できる装置、方法及びプログラムを提供すること。【解決手段】携帯端末２は、所定の入力に基づいて、クライアント端末１へ提供するＷｅｂアプリケーションを判定し、当該Ｗｅｂアプリケーションに割り当てられているポート番号を、クライアント端末１へ通知する制御部２００と、割り当てられているポート番号を有効にした後、当該ポート番号に対するクライアント端末１からの要求に応じてＷｅｂアプリケーションを提供するＨＴＴＰサーバ部２０１と、を備える。【選択図】図３
2015090542.tif 000002
【特許請求の範囲】
【請求項１】
所定の入力に基づいて、端末へ提供するＷｅｂアプリケーションを判定し、当該Ｗｅｂアプリケーションに割り当てられているポート番号を、前記端末へ通知する制御部と、
前記割り当てられているポート番号を有効にした後、当該ポート番号に対する前記端末からの要求に応じて前記Ｗｅｂアプリケーションを提供する提供部と、を備えるＷｅｂアプリケーション提供装置。
【請求項２】
前記制御部は、前記端末から前記Ｗｅｂアプリケーションの利用要求を受信し、当該利用要求により示される前記Ｗｅｂアプリケーションを判定する請求項１に記載のＷｅｂアプリケーション提供装置。
【請求項３】
前記制御部は、前記ポート番号を含むＵＲＬを、前記端末へ通知する請求項１又は請求項２に記載のＷｅｂアプリケーション提供装置。
【請求項４】
前記制御部は、前記端末から前記Ｗｅｂアプリケーションの利用停止要求を受信し、当該利用停止要求に応じて、前記ポート番号を無効にする請求項１から請求項３のいずれかに記載のＷｅｂアプリケーション提供装置。
【請求項５】
前記提供部は、前記ポート番号を用いた通信が行われていないことを検知すると、所定時間の経過後に、当該ポート番号を無効にする請求項１から請求項４のいずれかに記載のＷｅｂアプリケーション提供装置。
【請求項６】
所定の識別信号の入力を受け付ける入力部を備え、
前記制御部は、前記識別信号に対応するＷｅｂアプリケーションに割り当てられているポート番号を、所定の端末へ通知する請求項１から請求項５のいずれかに記載のＷｅｂアプリケーション提供装置。
【請求項７】
ユーザの行動履歴データを記憶する記憶部と、
前記行動履歴データに基づいて、前記Ｗｅｂアプリケーションが利用される際のコンテキスト情報を学習する学習部と、を備え、
前記制御部は、現在のコンテキスト情報を取得すると、前記学習部による学習結果と照合することにより前記Ｗｅｂアプリケーションを判定する請求項１から請求項６のいずれかに記載のＷｅｂアプリケーション提供装置。
【請求項８】
Ｗｅｂアプリケーションを記憶する装置が、
所定の入力に基づいて、端末へ提供するＷｅｂアプリケーションを判定し、当該Ｗｅｂアプリケーションに割り当てられているポート番号を、前記端末へ通知する制御ステップと、
前記割り当てられているポート番号を有効にした後、当該ポート番号に対する前記端末からの要求に応じて前記Ｗｅｂアプリケーションを提供する提供ステップと、を実行するＷｅｂアプリケーション提供方法。
【請求項９】
Ｗｅｂアプリケーションを記憶する装置において、
所定の入力に基づいて、端末へ提供するＷｅｂアプリケーションを判定し、当該Ｗｅｂアプリケーションに割り当てられているポート番号を、前記端末へ通知する制御ステップと、
前記割り当てられているポート番号を有効にした後、当該ポート番号に対する前記端末からの要求に応じて前記Ｗｅｂアプリケーションを提供する提供ステップと、を実行させるためのＷｅｂアプリケーション提供プログラム。
【請求項１０】
Ｗｅｂブラウザを備えた端末において、
Ｗｅｂアプリケーション提供装置へ、利用するＷｅｂアプリケーションを識別するための利用要求を送信する送信ステップと、
前記利用要求に基づいて前記Ｗｅｂアプリケーション提供装置により判定されたＷｅｂアプリケーションに割り当てられ有効化されたポート番号を受信し、当該有効化されたポート番号から前記Ｗｅｂアプリケーションを取得する取得ステップと、を実行させるためのＷｅｂアプリケーション取得プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＷｅｂサーバにおいてＷｅｂアプリケーションを提供する方法に関する。
【背景技術】
【０００２】
近年、Ｗｅｂ技術の進化によって、これまでサーバ上で実行されていたＷｅｂアプリケーションがユーザエージェントであるＷｅｂブラウザ上で実行可能になっている。
ユーザエージェントは、ＷｅｂサーバからＷｅｂページだけでなく、実行可能なプログラムコードをダウンロードすることによってＷｅｂアプリケーションを動作させる。このとき、ユーザエージェントは、キャッシュを用いることでアプリケーションをオフラインで動作させることもできる（例えば、特許文献１参照）。
【０００３】
ユーザエージェントは、様々なＷｅｂサーバからプログラムコードをダウンロードすることで、オンラインかオフラインかを問わずに、多種多様なＷｅｂアプリケーションを実行させるため、同一生成元ポリシーというセキュリティの仕組みを備えている。
同一生成元ポリシーでは、スキーム、ホスト名、ポート番号の３つの要素で構成される生成元が同じＷｅｂアプリケーション間においてデータ交換又は通信等が認められる。一方、生成元が異なるＷｅｂアプリケーション同士は、互いに隔離された状態にされ、それぞれのデータが保護される。
各Ｗｅｂアプリケーションが同一生成元ポリシーによるデータ保護を享受するためには、Ｗｅｂアプリケーションそれぞれが固有の生成元を持つ必要がある。
【０００４】
一般的に、スキームには、ＨＴＴＰ又はＨＴＴＰＳが、ポート番号には、８０又は４４３が用いられる。このため、サブドメインを割り当てる等、ホスト名で生成元を区別することが多い。サブドメインでＷｅｂアプリケーションの生成元を区別する場合、Ｗｅｂサーバは、例えばバーチャルホスト機能を用いることでユーザエージェントからの要求を１つのＩＰアドレス及びポートで待ち受けることもできる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特表２０１０−５０８５８１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ところで、携帯端末においてテザリング機能を用いる場合等、プライベートＩＰアドレスに対するＤＮＳサーバが存在しない環境では、サブドメインを割り当てることができず、ホスト名による生成元の分離ができないため、ポート番号により生成元の分離が行われる。
この場合、Ｗｅｂサーバは、Ｗｅｂアプリケーションの数だけポート番号を区別し、これら全てのポートを開いてユーザエージェントからの要求を待ち続ける。
【０００７】
しかしながら、上記の構成は、インターネット上のＷｅｂサーバ又はＬＡＮ内のＰＣサーバ等を対象としたものであり、メモリ等のリソースが少ない携帯端末等の組み込み機器をＷｅｂサーバとして動作させる場合には不向きである。すなわち、Ｗｅｂサーバでは、ポートの数だけメモリを消費するため、もともと少ないメモリで動作する組み込み機器は、リソースの多くを消費してしまい、Ｗｅｂアプリケーションの数に制限が生じたり、他の動作に支障を来したりする虞があった。
【０００８】
本発明は、効率的にＷｅｂアプリケーションを提供できる装置、方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明に係るＷｅｂアプリケーション提供装置は、所定の入力に基づいて、端末へ提供するＷｅｂアプリケーションを判定し、当該Ｗｅｂアプリケーションに割り当てられているポート番号を、前記端末へ通知する制御部と、前記割り当てられているポート番号を有効にした後、当該ポート番号に対する前記端末からの要求に応じて前記Ｗｅｂアプリケーションを提供する提供部と、を備える。
【００１０】
前記制御部は、前記端末から前記Ｗｅｂアプリケーションの利用要求を受信し、当該利用要求により示される前記Ｗｅｂアプリケーションを判定してもよい。
【００１１】
前記制御部は、前記ポート番号を含むＵＲＬを、前記端末へ通知してもよい。
【００１２】
前記制御部は、前記端末から前記Ｗｅｂアプリケーションの利用停止要求を受信し、当該利用停止要求に応じて、前記ポート番号を無効にしてもよい。
【００１３】
前記提供部は、前記ポート番号を用いた通信が行われていないことを検知すると、所定時間の経過後に、当該ポート番号を無効にしてもよい。
【００１４】
前記Ｗｅｂアプリケーション提供装置は、所定の識別信号の入力を受け付ける入力部を備え、前記制御部は、前記識別信号に対応するＷｅｂアプリケーションに割り当てられているポート番号を、所定の端末へ通知してもよい。
【００１５】
前記Ｗｅｂアプリケーション提供装置は、ユーザの行動履歴データを記憶する記憶部と、前記行動履歴データに基づいて、前記Ｗｅｂアプリケーションが利用される際のコンテキスト情報を学習する学習部と、を備え、前記制御部は、現在のコンテキスト情報を取得すると、前記学習部による学習結果と照合することにより前記Ｗｅｂアプリケーションを判定してもよい。
【００１６】
本発明に係るＷｅｂアプリケーション提供方法は、Ｗｅｂアプリケーションを記憶する装置が、所定の入力に基づいて、端末へ提供するＷｅｂアプリケーションを判定し、当該Ｗｅｂアプリケーションに割り当てられているポート番号を、前記端末へ通知する制御ステップと、前記割り当てられているポート番号を有効にした後、当該ポート番号に対する前記端末からの要求に応じて前記Ｗｅｂアプリケーションを提供する提供ステップと、を実行する。
【００１７】
本発明に係るＷｅｂアプリケーション提供プログラムは、Ｗｅｂアプリケーションを記憶する装置において、所定の入力に基づいて、端末へ提供するＷｅｂアプリケーションを判定し、当該Ｗｅｂアプリケーションに割り当てられているポート番号を、前記端末へ通知する制御ステップと、前記割り当てられているポート番号を有効にした後、当該ポート番号に対する前記端末からの要求に応じて前記Ｗｅｂアプリケーションを提供する提供ステップと、を実行させる。
【００１８】
本発明に係るＷｅｂアプリケーション取得プログラムは、Ｗｅｂブラウザを備えた端末において、Ｗｅｂアプリケーション提供装置へ、利用するＷｅｂアプリケーションを識別するための利用要求を送信する送信ステップと、前記利用要求に基づいて前記Ｗｅｂアプリケーション提供装置により判定されたＷｅｂアプリケーションに割り当てられ有効化されたポート番号を受信し、当該有効化されたポート番号から前記Ｗｅｂアプリケーションを取得する取得ステップと、を実行させる。
【発明の効果】
【００１９】
本発明によれば、効率的にＷｅｂアプリケーションが提供される。
【図面の簡単な説明】
【００２０】
【図１】第１実施形態に係る携帯端末を含むシステム構成の第１の例を示す図である。
【図２】第１実施形態に係る携帯端末を含むシステム構成の第２の例を示す図である。
【図３】第１実施形態に係るＷｅｂブラウザ及びＷｅｂサーバの機能構成を示す図である。
【図４】第１実施形態に係るポート割当テーブルの一例を示す図である。
【図５】第１実施形態に係る生成元が分離されない場合のＷｅｂブラウザにおけるＷｅｂアプリケーションの挙動を示す図である。
【図６】第１実施形態に係る生成元が分離された場合のＷｅｂブラウザにおけるＷｅｂアプリケーションの挙動を示す図である。
【図７】第１実施形態に係るＷｅｂアプリケーションの提供方法を示すシーケンス図である。
【図８】第１実施形態に係るＷｅｂアプリケーション終了時の処理を示すシーケンス図である。
【図９】第２実施形態に係るＷｅｂブラウザ及びＷｅｂサーバの機能構成を示す図である。
【図１０】第３実施形態に係るＷｅｂブラウザ及びＷｅｂサーバの機能構成を示す図である。
【発明を実施するための形態】
【００２１】
［第１実施形態］
本発明の第１実施形態について説明する。
【００２２】
図１は、本実施形態に係る携帯端末２（Ｗｅｂアプリケーション提供装置）を含むシステム構成の第１の例を示す図である。
携帯端末２は、テザリング機能を用いてＷｉ−Ｆｉ、Ｂｌｕｅｔｏｏｔｈ（登録商標）、ＵＳＢ等の近距離通信でクライアント端末１と接続される。また、携帯端末２は、３Ｇ、ＬＴＥ、ＷｉＭＡＸ等の移動通信でインターネット３上のサーバ４と接続される。
【００２３】
図２は、本実施形態に係る携帯端末２を含むシステム構成の第２の例を示す図である。
携帯端末２及びクライアント端末１は、いずれもＷｉ−Ｆｉ等のアクセスポイント５を経由してインターネット３に接続し、アクセスポイント５を経由して通信を行う。
携帯端末２及びクライアント端末１は、近距離通信で構築されるＬＡＮ上の同じサブネットに属しており、一般的にそのＩＰアドレスは不定である。
【００２４】
携帯端末２は、例えば、スマートフォン又は携帯電話機等の組み込み機器であり、上述のシステム構成により、サーバ４から取得したＷｅｂアプリケーションを記憶する。さらに、携帯端末２においてＷｅｂサーバ２０が動作し、記憶しているＷｅｂアプリケーションを、クライアント端末１で動作するユーザエージェント（例えば、Ｗｅｂブラウザ１０）に提供する。
なお、クライアント端末１は、例えば、タブレット端末又はカーナビゲーション装置等、ユーザがＷｅｂアプリケーションを実際に実行させる通信端末であり、以下、Ｗｅｂブラウザ１０を備えた端末として説明する。
【００２５】
図３は、本実施形態に係るＷｅｂブラウザ１０及びＷｅｂサーバ２０の機能構成を示す図である。
【００２６】
Ｗｅｂブラウザ１０は、ＵＰｎＰ（Ｕｎｉｖｅｒｓａｌ  Ｐｌｕｇ  ａｎｄ  Ｐｌａｙ）等のサービス発見の仕組みを用いて、最初に表示するＷｅｂページ１００のＵＲＬを発見する。Ｗｅｂブラウザ１０は、Ｗｅｂページ１００をＷｅｂサーバ２０から得た後、Ｗｅｂサーバ２０からＷｅｂアプリケーションの一覧を取得し、Ｗｅｂページ１００にアプリケーションメニュー１０１として表示する。また、これらＷｅｂアプリケーションを実行する領域として、アプリ実行部１０２（例えば、ｉｆｒａｍｅ等のサンドボックス）がＷｅｂページ１００内に用意される。
【００２７】
Ｗｅｂサーバ２０は、制御部２００と、ＨＴＴＰサーバ部２０１（提供部）と、ポート割当ＤＢ２０２と、アプリケーションＤＢ２０３とを備える。
【００２８】
制御部２００は、Ｗｅｂページ１００から、Ｗｅｂアプリケーションの利用要求を受信する。例えば、Ｗｅｂブラウザ１０は、Ｗｅｂページ内のアプリケーションメニュー１０１から選択入力を受け付け、選択されたＷｅｂアプリケーションの識別データを含む利用要求を、Ｗｅｂサーバ２０へ送信する。
また、制御部２００は、クライアント端末１からＷｅｂアプリケーションの利用停止要求を受信し、ＨＴＴＰサーバ部２０１へ通知する。
【００２９】
なお、Ｗｅｂブラウザ１０とＷｅｂサーバ２０とは、例えば、サービスディスカバリー等のプロトコルを用いて、予め所定の制御チャネルで、Ｗｅｂアプリケーションを提供するＨＴＴＰ通信とは別の通信（例えばＷｅｂＳｏｃｋｅｔ通信、又は別ポートでのＨＴＴＰ通信）が確立されている。制御部２００は、この制御チャネルにより、Ｗｅｂブラウザ１０から明示的にＷｅｂアプリケーションの利用又は停止要求を受信する。
【００３０】
制御部２００は、Ｗｅｂブラウザ１０から受信した利用要求（所定の入力）に基づいて、クライアント端末１へ提供するＷｅｂアプリケーションを判定する。
制御部２００は、ポート割当ＤＢ２０２を参照して、Ｗｅｂアプリケーションに割り当てられているポート番号を判定し、このポート番号をクライアント端末１へ通知する。
具体的には、制御部２００は、ポート番号を含むＵＲＬを、クライアント端末１へ通知する。
【００３１】
ＨＴＴＰサーバ部２０１は、制御部２００により判定されたＷｅｂアプリケーションに割り当てられているポート番号を有効化した後、この有効化したポート番号に対するクライアント端末１からの要求に応じて、Ｗｅｂアプリケーションを提供する。
【００３２】
また、ＨＴＴＰサーバ部２０１は、制御部２００により受信した利用停止要求に応じて、該当のＷｅｂアプリケーション対応するポート番号を無効にする。
さらに、ＨＴＴＰサーバ部２０１は、Ｗｅｂアプリケーションに対応して有効にしたポート番号を用いた通信が行われていないことを検知すると、所定時間の経過後に、このポート番号を無効にする。
【００３３】
ポート割当ＤＢ２０２は、携帯端末２にインストールされているＷｅｂアプリケーションに対するポート番号の割り当てを定義したポート割当テーブルを記憶する。
アプリケーションＤＢ２０３は、サーバ４から取得したＷｅｂアプリケーション群を保持するストレージである。
【００３４】
図４は、本実施形態に係るポート割当テーブルの一例を示す図である。
このテーブルには、Ｗｅｂアプリケーションの識別データに対応づけて、割り当てられたポート番号、及びこのポート番号を含む生成元が記憶される。例えば、ＷｅｂアプリケーションＡには、ポート番号「５０００１」が割り当てられ、スキーム「ＨＴＴＰ」及びホスト「１９２．１６８．０．１」と共に生成元としてのＵＲＬ「ｈｔｔｐ：／／１９２．１６８．０．１：５０００１／」が記憶される。クライアント端末１のＷｅｂブラウザ１０は、このＵＲＬにアクセスし、ＷｅｂアプリケーションＡを取得する。
【００３５】
また、テーブルには、Ｗｅｂアプリケーション毎に参照カウンタが記憶される。参照カウンタは、Ｗｅｂブラウザからの利用要求に対して制御部２００によりカウントアップされる値であり、Ｗｅｂアプリケーションを利用しているＷｅｂブラウザ１０の数を表す。参照カウンタが０の場合、対応するポート番号は無効化され、１以上の場合は有効化されている。
【００３６】
図５は、本実施形態に係るＷｅｂサーバ２０において生成元が分離されない場合のＷｅｂブラウザ１０におけるＷｅｂアプリケーションの挙動を示す図である。
【００３７】
アプリケーションＡ及びＢが同一の生成元「ｈｔｔｐ：／／１９２．１６８．０．１：８０８０／」からダウンロードされた場合、例えば、アプリケーションＡは、アプリケーションＢにより書き換えが可能である。また、アプリケーションＢは、アプリケーションＡにより生成されたデータにアクセス可能であり、書き換え又は外部への送信等が可能となる。
【００３８】
図６本実施形態に係るＷｅｂサーバ２０において生成元が分離された場合のＷｅｂブラウザ１０におけるＷｅｂアプリケーションの挙動を示す図である。
【００３９】
アプリケーションＡ及びＢが異なる生成元「ｈｔｔｐ：／／１９２．１６８．０．１：５０００１／」及び「ｈｔｔｐ：／／１９２．１６８．０．１：５０００２／」からダウンロードされた場合、アプリケーションＡ及びＢは、同一生成元ポリシーによって互いに保護され、アプリケーション自体の書き換え、及びデータへのアクセスが不可能となる。
【００４０】
図７は、本実施形態に係るＷｅｂサーバ２０によるＷｅｂアプリケーションの提供方法を示すシーケンス図である。
【００４１】
ステップＳ１において、ユーザがＷｅｂブラウザ１０に表示されたアプリケーションメニュー１０１からＷｅｂアプリケーションを１つ選択すると、Ｗｅｂブラウザ１０は、Ｗｅｂアプリケーションの識別子を含む起動要求をＷｅｂサーバ２０へ送信する。
【００４２】
ステップＳ２において、Ｗｅｂサーバ２０の制御部２００は、Ｗｅｂブラウザ１０から起動要求を受信する。
【００４３】
ステップＳ３において、制御部２００は、ポート割当ＤＢ２０２を参照し、ポート割当テーブルからポート番号、生成元及び参照カウンタの情報を得る。
【００４４】
ステップＳ４において、制御部２００は、参照カウンタＲが０より大きいか否かを判定する。この判定がＮＯ（Ｒ＝０）の場合、該当のＷｅｂアプリケーションを利用しているＷｅｂブラウザ１０がなく、対応するポートは閉じられているため、処理はステップＳ５に移る。一方、判定がＹＥＳの場合、該当のＷｅｂアプリケーションを利用しているＷｅｂブラウザ１０が他にあり、既に対応するポートが開かれているため、処理はステップＳ６に移る。
【００４５】
ステップＳ５において、制御部２００は、ＨＴＴＰサーバ部２０１に対し、ステップＳ３で得られたポート番号を有効化するよう指示し、このポート番号を介してＷｅｂブラウザ１０からＨＴＴＰ要求を受けられるようにする。また、制御部２００は、参照カウンタＲの値を１にする。
このとき、携帯端末２において他のアプリケーションが既に対象のポート番号を使用している場合、制御部２００は、別の未使用のポート番号をＷｅｂアプリケーションに新たに割り当て、ポート割当テーブルを更新する。
【００４６】
ステップＳ６において、制御部２００は、既に有効化されているポート番号はそのまま維持させ、参照カウンタＲを１だけ増やす。
【００４７】
ステップＳ７において、制御部２００は、ステップＳ１の起動要求に対し、ステップＳ３で得られた生成元情報、及びＷｅｂアプリケーションのスタートページから成るＵＲＬ情報を応答する。
【００４８】
ステップＳ８において、Ｗｅｂブラウザ１０は、Ｗｅｂアプリケーションの起動要求に対してＵＲＬ情報が応答されたのを受けて、アプリ実行部１０２におけるページ遷移を開始する。
【００４９】
ステップＳ９において、Ｗｅｂブラウザ１０は、アプリ実行部１０２でＵＲＬに対するページ要求をＨＴＴＰサーバ部２０１に行う。
【００５０】
ステップＳ１０において、ＨＴＴＰサーバ部２０１は、Ｗｅｂブラウザ１０からページ要求を受信する。
【００５１】
ステップＳ１１において、ＨＴＴＰサーバ部２０１は、ページ要求されたＵＲＬに該当するＷｅｂアプリケーション内のページを、アプリケーションＤＢ２０３から取得する。
【００５２】
ステップＳ１２において、ＨＴＴＰサーバ部２０１は、ページ要求に対する応答としてＷｅｂページをＷｅｂブラウザ１０へ応答する。
【００５３】
ステップＳ１３において、Ｗｅｂブラウザ１０は、応答されたＷｅｂページをレンダリングし、アプリ実行部１０２に画面表示する。
【００５４】
図８は、本実施形態に係るＷｅｂサーバ２０によるＷｅｂアプリケーション終了時の処理を示すシーケンス図である。
【００５５】
ステップＳ２１において、Ｗｅｂブラウザ１０は、Ｗｅｂアプリケーションの動作を終了すると、Ｗｅｂアプリケーションの識別子を伴ってＷｅｂサーバ２０に対して、このＷｅｂアプリケーションの利用停止要求を送信する。
【００５６】
ステップＳ２２において、Ｗｅｂサーバ２０の制御部２００は、Ｗｅｂブラウザ１０からＷｅｂアプリケーションの利用停止要求を受信する。
【００５７】
ステップＳ２３において、制御部２００は、ポート割当テーブルを参照し、利用停止要求を受けたＷｅｂアプリケーションの参照カウンタＲが２より小さいか否かを判定する。この判定がＹＥＳ（Ｒ＝１）の場合、該当のＷｅｂアプリケーションを利用しているＷｅｂブラウザ１０が他にないため、処理はステップＳ２４に移る。一方、判定がＮＯの場合、該当のＷｅｂアプリケーションを利用しているＷｅｂブラウザ１０が他にあるため、処理はステップＳ２５に移る。
【００５８】
ステップＳ２４において、制御部２００は、ＨＴＴＰサーバ部２０１に対し、該当のポート番号を無効化するよう指示し、リソースを解放する。また、制御部２００は、参照カウンタＲの値を０にする。
【００５９】
ステップＳ２５において、制御部２００は、他のＷｅｂブラウザ１０によるＷｅｂアプリケーションの利用を妨げないように、有効化されているポート番号をそのまま維持させ、参照カウンタＲを１だけ減らす。
【００６０】
ステップＳ２６において、制御部２００は、Ｗｅｂブラウザ１０に対して、利用停止要求に対する応答を送信する。
【００６１】
ステップＳ２７において、Ｗｅｂブラウザ１０は、Ｗｅｂサーバ２０から利用停止要求に対する応答を受信する。
【００６２】
なお、制御部２００は、意図せず通信が切断された場合にポートが開き続けることを防ぐため、所定時間、例えば通信が切断されてからＷｅｂアプリケーションによる再接続に必要な時間だけ待機し、再接続がない場合はＷｅｂアプリケーションの動作が終了したと判断し、ポートを閉じるようＨＴＴＰサーバ部２０１へ指示する。
【００６３】
本実施形態によれば、携帯端末２は、クライアント端末１へ提供するＷｅｂアプリケーションに対応するポート番号のみを有効にするので、使用されるメモリ量が削減される。この結果、携帯端末２においてＷｅｂサーバ２０を効率的に動作させ、Ｗｅｂアプリケーションを提供することが可能となる。
【００６４】
例えば、本実施形態は、ユーザが持つスマートフォン（携帯端末２）に保存されたＷｅｂアプリケーション又はコンテンツを、ブラウザエンジンを搭載したカーナビゲーション等の車載機（クライアント端末１）で利用する場合に適用される。目的地検索、ルート案内、音楽といった様々なＷｅｂアプリケーションを動かす上で、スマートフォンは、少ないメモリで効率的にＷｅｂアプリケーション同士を分離できる。
【００６５】
さらに、不要なポートの開放は、不正侵入等のセキュリティリスクを高めることになるため、携帯端末２は、Ｗｅｂアプリケーションを利用するときだけ対応するポートを開くことでセキュリティリスクを低減できる。
【００６６】
携帯端末２は、クライアント端末１から利用するＷｅｂアプリケーションの識別子を受信することにより、Ｗｅｂアプリケーション及び対応するポート番号を容易に判定できる。
また、ポート番号を含むＵＲＬ情報をクライアント端末１へ通知するので、リダイレクト処理によって、クライアント端末１からＷｅｂアプリケーションへのアクセスが容易になる。
【００６７】
携帯端末２は、クライアント端末１からＷｅｂアプリケーションの利用停止要求を受信することにより、適時に対応するポート番号を無効化できるので、リソースの利用を効率化し、セキュリティリスクを低減できる。
【００６８】
携帯端末２は、有効化したポート番号を用いた通信が行われていないことを検知すると、所定時間の経過後に、このポート番号を無効化するので、意図せず通信が切断された場合にポートが開き続けることを回避できる。
【００６９】
［第２実施形態］
本発明の第２実施形態について説明する。
図９は、本実施形態に係るＷｅｂブラウザ１０及びＷｅｂサーバ２０の機能構成を示す図である。
【００７０】
本実施形態では、Ｗｅｂサーバ２０の制御部２００ａは、第１実施形態と異なり、Ｗｅｂブラウザ１０からＷｅｂアプリケーションの利用要求を受信しない。また、Ｗｅｂサーバ２０は、入力部２０４を備える。
【００７１】
入力部２０４は、所定の識別信号の入力を受け付けるセンサである。入力部２０４は、例えば、クライアント端末１とのペアリングに用いられるＮＦＣ（Ｎｅａｒ  Ｆｉｅｌｄ  Ｃｏｍｍｕｎｉｃａｔｉｏｎ）、Ｂｌｕｅｔｏｏｔｈ（登録商標）のビーコン、超音波等により、Ｗｅｂアプリケーションの識別信号を受信する。また、入力部２０４は、携帯端末２に対するユーザの操作入力を受け付けてもよい。
【００７２】
制御部２００ａは、入力部２０４により受け付けた識別信号に対応するＷｅｂアプリケーションを判定する。そして、制御部２００ａは、このＷｅｂアプリケーションに割り当てられているポート番号を有効にするようにＨＴＴＰサーバ部２０１を制御すると共に、このポート番号を、所定の端末へ通知する。通知先は、例えば、識別信号を受け付けた前後所定時間内に通信が確立したクライアント端末１であってよい。あるいは、通知先は、携帯端末２に予め登録されていてもよい。
【００７３】
本実施形態によれば、Ｗｅｂブラウザ１０等のユーザエージェントがＷｅｂサーバ２０へＷｅｂアプリケーションの利用を通知するのに代えて、携帯端末２は、ＮＦＣによるペアリング等のユーザ操作を契機にして所定のポートを有効にできる。また、携帯端末２は、ユーザによるＷｅｂアプリケーションの選択を待たずに、予めポート番号をクライアント端末１へ通知できる。
この結果、Ｗｅｂアプリケーションを選択する手順等、ユーザ操作が削減され、利便性が向上する。
【００７４】
［第３実施形態］
本発明の第３実施形態について説明する。
図１０は、本実施形態に係るＷｅｂブラウザ１０及びＷｅｂサーバ２０の機能構成を示す図である。
【００７５】
本実施形態では、Ｗｅｂサーバ２０の制御部２００ｂは、第１実施形態と異なり、Ｗｅｂブラウザ１０からＷｅｂアプリケーションの利用要求を受信しない。また、Ｗｅｂサーバ２０は、取得部２０５と、行動履歴ＤＢ２０６（記憶部）と、学習部２０７とを備える。
【００７６】
取得部２０５は、携帯端末２の現在の利用者、位置情報又は時刻情報等、携帯端末２が使用されている状況を示すコンテキスト情報を取得する。
【００７７】
行動履歴ＤＢ２０６は、取得部２０５により取得されたコンテキスト情報と、ＨＴＴＰサーバ部２０１により提供されたＷｅｂアプリケーションとの関係を、ユーザの行動履歴データとして記憶する。
【００７８】
学習部２０７は、行動履歴データに基づいて、Ｗｅｂアプリケーションが利用される可能性が高い位置情報又は時刻情報を学習する。
【００７９】
制御部２００ｂは、取得部２０５により取得されたコンテキスト情報を学習部２０７による学習結果と照合することにより、ユーザが利用したいＷｅｂアプリケーションを判定する。
【００８０】
本実施形態によれば、Ｗｅｂサーバ２０は、ユーザの行動履歴を把握し、時間帯又は場所等のコンテキスト毎に使われるＷｅｂアプリケーションを予測して対応するポートを有効化できる。また、Ｗｅｂサーバ２０は、コンテキストが変化したときに、これまで有効だったポートを無効化できる。
この結果、携帯端末２は、ユーザの利便性を向上し、かつ、効率的にＷｅｂアプリケーションを提供できる。
【００８１】
以上、本発明の実施形態について説明したが、本発明は前述した実施形態に限るものではない。また、本実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、本実施形態に記載されたものに限定されるものではない。
【００８２】
本実施形態に係るＷｅｂアプリケーション提供方法は、ソフトウェアにより実現される。ソフトウェアによって実現される場合には、このソフトウェアを構成するプログラムが、情報処理装置（コンピュータ）にインストールされる。また、これらのプログラムは、ＣＤ−ＲＯＭのようなリムーバブルメディアに記録されてユーザに配布されてもよいし、ネットワークを介してユーザのコンピュータにダウンロードされることにより配布されてもよい。
【符号の説明】
【００８３】
１  クライアント端末
２  携帯端末（Ｗｅｂアプリケーション提供装置）
１０  Ｗｅｂブラウザ
２０  Ｗｅｂサーバ
２００、２００ａ、２００ｂ  制御部
２０１  ＨＴＴＰサーバ部（提供部）
２０２  ポート割当ＤＢ
２０３  アプリケーションＤＢ
２０４  入力部
２０５  取得部
２０６  行動履歴ＤＢ（記憶部）
２０７  学習部
【図１】
2015090542.tif 000003
【図２】
2015090542.tif 000004
【図３】
2015090542.tif 000005
【図４】
2015090542.tif 000006
【図５】
2015090542.tif 000007
【図６】
2015090542.tif 000008
【図７】
2015090542.tif 000009
【図８】
2015090542.tif 000010
【図９】
2015090542.tif 000011
【図１０】
2015090542.tif 000012