(57)【特許請求の範囲】
【請求項１】
通信ネットワークを介して接続可能な端末に対して、スクリプトを含むＷｅｂページを送信するＷｅｂサーバであって、
表示対象のＷｅｂページの内容に応じてダウンロードさせる対象スクリプトを管理する管理スクリプトを、前記Ｗｅｂページに埋め込み、当該ＷｅｂページをＷｅｂページ記憶手段に記憶させる管理スクリプト埋込手段と、
前記端末からの前記Ｗｅｂページのリクエストを受け付けたことに応じて、前記Ｗｅｂページ記憶手段に記憶されている前記Ｗｅｂページを前記端末に送信するＷｅｂページ送信手段と、を備え、
前記管理スクリプトは、前記端末に、
前記Ｗｅｂサーバのドメインに応じて割り当てられた前記端末の保存領域に、前記対象スクリプトが記憶されているか否かを確認する際に、前記対象スクリプトのファイル名及びバージョン番号を識別情報として、前記保存領域に前記対象スクリプトが記憶されているか否かを確認する存在確認ステップと、
前記保存領域に前記対象スクリプトが記憶されている場合に、当該対象スクリプトを当該保存領域から読み出して、展開して実行する第１実行ステップと、
前記保存領域に前記対象スクリプトが記憶されていない場合に、当該対象スクリプトの取得を前記Ｗｅｂサーバに要求する対象スクリプト要求ステップと、
前記Ｗｅｂサーバから前記対象スクリプト要求ステップにおいて要求した、前記対象スクリプトを受信する対象スクリプト受信ステップと、
前記対象スクリプト受信ステップにおいて受信した前記対象スクリプトを、展開して実行する第２実行ステップと、
前記対象スクリプト受信ステップにおいて受信した前記対象スクリプトを、当該対象スクリプトを識別する前記識別情報と共に前記保存領域に記憶させる対象スクリプト記憶ステップと、
を実行させる、
Ｗｅｂサーバ。
【請求項２】
前記端末の保存領域は、ＨＴＭＬ５のＷｅｂ  Ｓｔｏｒａｇｅのローカルストレージにより実装される請求項１に記載のＷｅｂサーバ。
【請求項３】
前記対象スクリプトを記憶する対象スクリプト記憶手段と、
前記端末から前記対象スクリプトの取得要求を受け付ける対象スクリプト要求受付手段と、
前記対象スクリプト要求受付手段により、前記対象スクリプトの取得要求を受け付けたことに応じて、前記対象スクリプト記憶手段に記憶されている対象スクリプトのうち、当該取得要求に対応する対象スクリプトを前記端末に送信する対象スクリプト送信手段と、を更に備える請求項１又は２に記載のＷｅｂサーバ。
【請求項４】
前記対象スクリプト記憶手段及び前記端末の保存領域は、前記対象スクリプトを共通のキーを有するｋｅｙ＝ｖａｌｕｅ形式で記憶する請求項３に記載のＷｅｂサーバ。
【請求項５】
前記対象スクリプト記憶手段及び前記端末の保存領域は、前記対象スクリプトに対応するＵＲＬを含むファイル名を共通のキーとして記憶する請求項４に記載のＷｅｂサーバ。
【請求項６】
通信ネットワークを介して接続可能な端末に対して、スクリプトを含むＷｅｂページを送信するＷｅｂサーバが実行する方法であって、
前記Ｗｅｂサーバが、表示対象のＷｅｂページの内容に応じてダウンロードさせる対象スクリプトを管理する管理スクリプトを、前記Ｗｅｂページに埋め込み、当該Ｗｅｂページを、前記Ｗｅｂサーバが備えるＷｅｂページ記憶手段に記憶させる管理スクリプト埋込ステップと、
前記Ｗｅｂサーバが、前記端末からの前記Ｗｅｂページのリクエストを受け付けたことに応じて、前記Ｗｅｂページ記憶手段に記憶されている前記Ｗｅｂページを前記端末に送信するＷｅｂページ送信ステップと、を含み、
前記管理スクリプトは、前記端末に、
前記Ｗｅｂサーバのドメインに応じて割り当てられた前記端末の保存領域に、前記対象スクリプトが記憶されているか否かを確認する際に、前記対象スクリプトのファイル名及びバージョン番号を識別情報として、前記保存領域に前記対象スクリプトが記憶されているか否かを確認する存在確認ステップと、
前記保存領域に前記対象スクリプトが記憶されている場合に、当該対象スクリプトを当該保存領域から読み出して、展開して実行する第１実行ステップと、
前記保存領域に前記対象スクリプトが記憶されていない場合に、当該対象スクリプトの取得を前記Ｗｅｂサーバに要求する対象スクリプト要求ステップと、
前記Ｗｅｂサーバから前記対象スクリプト要求ステップにおいて要求した、前記対象スクリプトを受信する対象スクリプト受信ステップと、
前記対象スクリプト受信ステップにおいて受信した前記対象スクリプトを、展開して実行する第２実行ステップと、
前記対象スクリプト受信ステップにおいて受信した前記対象スクリプトを、当該対象スクリプトを識別する前記識別情報と共に前記保存領域に記憶させる対象スクリプト記憶ステップと、
を実行させる方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、スクリプトプログラムを含むＷｅｂページを端末に高速表示させるＷｅｂサーバ及びその方法に関する。
【背景技術】
【０００２】
近年、Ｗｅｂページにおけるサービスの向上等を目的として、Ｗｅｂページのリッチ化が盛んに行われている。
すなわち、Ｗｅｂページに対して画像や動画を表示させたり、ＪａｖａＳｃｒｉｐｔ（登録商標）等のスクリプトプログラムによりＷｅｂページを提供するＷｅｂサーバとの非同期通信を実現したりすることによって、Ｗｅｂページを多彩に表現することが行われている。
【０００３】
しかしながら、上述のようにＷｅｂページを多彩に表現するためにスクリプトプログラムが肥大化することに伴い、各Ｗｅｂページの情報量は、肥大化する傾向にある。このため、通信回線速度が遅い携帯電話機等の端末では、スクリプトプログラムを含むＷｅｂページの受信に多くの時間がかかり、Ｗｅｂページの表示操作を行ってから表示されるまでに、多くの時間がかかってしまう場合がある。
【０００４】
このような問題に対して、例えば、特許文献１では、Ｗｅｂブラウザで画面表示されるＷｅｂページのデータを携帯端末側にキャッシュしておき、同一又は関連するＷｅｂページを表示する際に当該キャッシュ機能を利用して、Ｗｅｂページの初期画面表示の高速化を実現する方法が提案されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００８−２１１４３３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ところで、Ｗｅｂサイトを構成する同一ドメイン内の複数の異なるＷｅｂページには、共通して使用するスクリプトプログラムが埋め込まれている場合がある。
【０００７】
このような場合に、特許文献１に提案されている方法を用いてＷｅｂブラウザで表示したＷｅｂページのデータを端末側にキャッシュしておいたとしても、上記のように異なるＷｅｂページを読み込む際にはキャッシュの効果を期待することはできない。すなわち、共通のスクリプトプログラムを含むＷｅｂページがキャッシュされているにもかかわらず、Ｗｅｂページとしては異なるために、このような関係にあるＷｅｂページについては当該共通のスクリプトプログラムを含めてＷｅｂページ全体を再度受信することになる。
【０００８】
また、近年、Ｗｅｂページの更新は短時間に頻繁に行われているために、特許文献１に提案されている方法を用いてあるＷｅｂページの内容をキャッシュしておいたとしても、更新をするたびに再度当該Ｗｅｂページ全体を受信する必要がある。よって、上述のように異なるＷｅｂページを訪問する場合、特許文献１に提案されている方法を用いても、Ｗｅｂページに係るデータの受信量を抑制することができず、Ｗｅｂページの表示操作を行ってから表示されるまでに、多くの時間を必要としてしまう。
【０００９】
そこで、端末において、Ｗｅｂページに係るデータの受信量を抑制し、Ｗｅｂページの表示操作を行ってから表示されるまでの時間を短縮することができるＷｅｂサーバが求められている。
【００１０】
本発明は、端末において、スクリプトプログラムを含むＷｅｂページについて、一度受信したスクリプトプログラムの再受信を回避し、Ｗｅｂページの表示操作を行ってから表示されるまでの時間を短縮することができるＷｅｂサーバ及びその方法を提供することを目的とする。
【課題を解決するための手段】
【００１１】
（１）通信ネットワークを介して接続可能な端末に対して、スクリプトを含むＷｅｂページを送信するＷｅｂサーバであって、表示対象のＷｅｂページの内容に応じてダウンロードさせる対象スクリプトを管理する管理スクリプトを、前記Ｗｅｂページに埋め込み、当該ＷｅｂページをＷｅｂページ記憶手段に記憶させる管理スクリプト埋込手段と、前記端末からの前記Ｗｅｂページのリクエストを受け付けたことに応じて、前記Ｗｅｂページ記憶手段に記憶されている前記Ｗｅｂページを前記端末に送信するＷｅｂページ送信手段と、を備え、前記管理スクリプトは、前記端末に、前記Ｗｅｂサーバのドメインに応じて割り当てられた前記端末の保存領域に、前記対象スクリプトが記憶されているか否かを確認する際に、前記対象スクリプトのファイル名及びバージョン番号を識別情報として、前記保存領域に前記対象スクリプトが記憶されているか否かを確認する存在確認ステップと、前記保存領域に前記対象スクリプトが記憶されている場合に、当該対象スクリプトを当該保存領域から読み出して、展開して実行する第１実行ステップと、前記保存領域に前記対象スクリプトが記憶されていない場合に、当該対象スクリプトの取得を前記Ｗｅｂサーバに要求する対象スクリプト要求ステップと、前記Ｗｅｂサーバから前記対象スクリプト要求ステップにおいて要求した、前記対象スクリプトを受信する対象スクリプト受信ステップと、前記対象スクリプト受信ステップにおいて受信した前記対象スクリプトを、展開して実行する第２実行ステップと、前記対象スクリプト受信ステップにおいて受信した前記対象スクリプトを、当該対象スクリプトを識別する前記識別情報と共に前記保存領域に記憶させる対象スクリプト記憶ステップと、を実行させる、Ｗｅｂサーバ。
【００１２】
（１）のＷｅｂサーバは、管理スクリプト埋込手段により、表示対象のＷｅｂページの内容に応じてダウンロードさせる対象スクリプトを管理する管理スクリプトを、Ｗｅｂページに埋め込み、当該ＷｅｂページをＷｅｂページ記憶手段に記憶させ、Ｗｅｂページ送信手段により、端末からのＷｅｂページのリクエストを受け付けたことに応じて、Ｗｅｂページ記憶手段に記憶されているＷｅｂページを端末に送信する。
【００１３】
よって、（１）のＷｅｂサーバは、対象スクリプトをＷｅｂページに含ませないので、Ｗｅｂページのデータ量を削減することができる。また、表示対象のＷｅｂページの内容に応じてダウンロードさせる対象スクリプトを管理する管理スクリプトにより、対象スクリプトを受信させるか否かを決定させるので、対象スクリプトを単にＷｅｂページに含ませて送信する場合に比べて、端末におけるＷｅｂページに係るデータの受信量を抑制することができる。
【００１４】
また、（１）のＷｅｂサーバの埋込手段によりＷｅｂページに埋め込まれる管理スクリプトは、以下の処理を端末に実行させる。すなわち、端末は、Ｗｅｂサーバのドメインに応じて割り当てられた端末の保存領域に、対象スクリプトが存在するか否かを確認し、保存領域に対象スクリプトが存在する場合に、当該保存領域に存在する対象スクリプトを読み出して実行し、保存領域に対象スクリプトが存在しない場合に、対象スクリプトの取得をＷｅｂサーバに要求して、Ｗｅｂサーバから対象スクリプトを受信し、受信した対象スクリプトを保存領域に記憶させ、受信した対象スクリプトを読み出して実行する。
【００１５】
よって、端末側では、Ｗｅｂページの表示に必要な対象スクリプトを、Ｗｅｂページを受信するごとに、Ｗｅｂサーバから受信する必要がないので、端末におけるＷｅｂページに係るデータの受信量を抑制することができる。すなわち、Ｗｅｂサーバは、管理スクリプトをＷｅｂページの要求ごとに送信する必要があるものの、対象スクリプトの送信回数を抑制することができるので、ユーザ端末に送信するＷｅｂページのデータ量を削減することができる。そして、上述のように、管理スクリプトは、対象スクリプトの内容によらず共通のアルゴリズムを採用できるので、比較的容量が大きくなる対象スクリプトに比較して、極めて小さな容量で実現することができる。
【００１６】
（２）前記端末の保存領域は、ＨＴＭＬ５のＷｅｂ  Ｓｔｏｒａｇｅのローカルストレージにより実装される（１）に記載のＷｅｂサーバ。
【００１７】
（２）のＷｅｂサーバによれば、端末の保存領域は、Ｗｅｂサーバのドメインに応じて割り当てられたＨＴＭＬ５のＷｅｂ  Ｓｔｏｒａｇｅのローカルストレージにより実装される。よって、（２）のＷｅｂサーバは、標準技術である、ＨＴＭＬ５のＷｅｂ  Ｓｔｏｒａｇｅのローカルストレージにより、広範囲の端末に適用することができ、端末側に対象スクリプトを永続的に記憶させることができるため、同一セッションが終了して、再度アクセスした場合においても、Ｗｅｂページの表示操作を行ってから表示されるまでの時間を短縮することができる。
【００１８】
（３）前記対象スクリプトを記憶する対象スクリプト記憶手段と、前記端末から前記対象スクリプトの取得要求を受け付ける対象スクリプト要求受付手段と、前記対象スクリプト要求受付手段により、前記対象スクリプトの取得要求を受け付けたことに応じて、前記対象スクリプト記憶手段に記憶されている対象スクリプトのうち、当該取得要求に対応する対象スクリプトを前記端末に送信する対象スクリプト送信手段と、を更に備える（１）又は（２）に記載のＷｅｂサーバ。
【００１９】
（３）のＷｅｂサーバは、対象スクリプト送信手段により、対象スクリプト要求受付手段が対象スクリプトの取得要求を受け付けたことに応じて、対象スクリプト記憶手段に記憶されている対象スクリプトのうち、当該取得要求に対応する対象スクリプトを端末に送信する。よって、（３）のＷｅｂサーバは、端末における管理スクリプトの処理に応じて、対象スクリプトを端末に送信することができる。
【００２０】
（４）前記対象スクリプト記憶手段及び前記端末の保存領域は、前記対象スクリプトを共通のキーを有するｋｅｙ＝ｖａｌｕｅ形式で記憶する（３）に記載のＷｅｂサーバ。
【００２１】
（４）のＷｅｂサーバは、対象スクリプトを、端末の保存領域と共通のキーを有するｋｅｙ＝ｖａｌｕｅ形式で保存できるようにデータを圧縮した状態で記憶するので、端末に保存するためにデータの形式を分析、変換する必要がない。したがって、対象スクリプトを端末に送信する場合に、当該共通のｋｅｙ＝ｖａｌｕｅ形式で対象スクリプトを記憶しない場合に比べて、当該Ｗｅｂサーバ及び端末の処理を省力化することにより、Ｗｅｂページの表示操作を行ってから表示されるまでの時間を更に短縮することができる。
【００２２】
（５）前記対象スクリプト記憶手段及び前記端末の保存領域は、前記対象スクリプトに対応するＵＲＬを含むファイル名を共通のキーとして記憶する（４）に記載のＷｅｂサーバ。
【００２３】
（５）のＷｅｂサーバによれば、対象スクリプト記憶手段及び端末の保存領域は、共通のキーとしてのＵＲＬを含むファイル名を、対象スクリプトの識別情報として使用することができる。よって、端末の保存領域において、新たに識別用の情報を記憶する領域を確保することが不要になる。そして、キーはＷｅｂ上のファイルの場所を示すＵＲＬを含むため、端末は、キーから対応するダウンロード先を新たに指定する必要がない。したがって、対象スクリプトをダウンロードするまでの時間をより短縮することにより、Ｗｅｂページの表示操作を行ってから表示されるまでの時間を更に短縮することができる。
【００２４】
（６）通信ネットワークを介して接続可能な端末に対して、スクリプトを含むＷｅｂページを送信するＷｅｂサーバが実行する方法であって、前記Ｗｅｂサーバが、表示対象のＷｅｂページの内容に応じてダウンロードさせる対象スクリプトを管理する管理スクリプトを、前記Ｗｅｂページに埋め込み、当該Ｗｅｂページを、前記Ｗｅｂサーバが備えるＷｅｂページ記憶手段に記憶させる管理スクリプト埋込ステップと、前記Ｗｅｂサーバが、前記端末からの前記Ｗｅｂページのリクエストを受け付けたことに応じて、前記Ｗｅｂページ記憶手段に記憶されている前記Ｗｅｂページを前記端末に送信するＷｅｂページ送信ステップと、を含み、前記管理スクリプトは、前記端末に、前記Ｗｅｂサーバのドメインに応じて割り当てられた前記端末の保存領域に、前記対象スクリプトが記憶されているか否かを確認する際に、前記対象スクリプトのファイル名及びバージョン番号を識別情報として、前記保存領域に前記対象スクリプトが記憶されているか否かを確認する存在確認ステップと、前記保存領域に前記対象スクリプトが記憶されている場合に、当該対象スクリプトを当該保存領域から読み出して、展開して実行する第１実行ステップと、前記保存領域に前記対象スクリプトが記憶されていない場合に、当該対象スクリプトの取得を前記Ｗｅｂサーバに要求する対象スクリプト要求ステップと、前記Ｗｅｂサーバから前記対象スクリプト要求ステップにおいて要求した、前記対象スクリプトを受信する対象スクリプト受信ステップと、前記対象スクリプト受信ステップにおいて受信した前記対象スクリプトを、展開して実行する第２実行ステップと、前記対象スクリプト受信ステップにおいて受信した前記対象スクリプトを、当該対象スクリプトを識別する前記識別情報と共に前記保存領域に記憶させる対象スクリプト記憶ステップと、を実行させる方法。
【００２５】
（６）に記載の方法によれば、当該方法に係る発明を実施することにより、（１）と同様の効果が期待できる。
【発明の効果】
【００２６】
本発明によれば、端末において、スクリプトプログラムを含むＷｅｂページについて、一度受信したスクリプトプログラムの再受信を回避し、Ｗｅｂページの表示操作を行ってから表示されるまでの時間を短縮することができる。
【図面の簡単な説明】
【００２７】
【図１】本実施形態に係るＷｅｂサーバ及びユーザ端末の機能概要を示す図である。
【図２】本実施形態に係るユーザ端末に設けられるブラウザが解釈することが可能な形式のスクリプトの一例を示す図である。
【図３】本実施形態に係るユーザ端末に設けられるブラウザが解釈することが不可能な形式のスクリプトの一例を示す図である。
【図４】本実施形態に係るＷｅｂ  Ｓｔｏｒａｇｅのローカルストレージに記憶されている内容の一例を示す図である。
【図５】本実施形態に係る管理スクリプトの一例を示す図である。
【図６】本実施形態に係るＷｅｂサーバの制御部及びユーザ端末の制御部における処理を示すフローチャートである。
【図７】図６に続くフローチャートである。
【発明を実施するための形態】
【００２８】
以下、本実施形態について図を参照しながら説明する。
【００２９】
［機能構成］
図１は、本実施形態に係るＷｅｂサーバ１及びユーザ端末２の機能概要を示す図である。Ｗｅｂサーバ１は、通信ネットワークを介して、ユーザ端末２（端末）に接続可能であり、スクリプトプログラムを含むＷｅｂページをユーザ端末２に高速表示させるＷｅｂサーバである。
【００３０】
本実施形態は、コンピュータ（Ｗｅｂサーバ１及びユーザ端末２）及びその周辺装置に適用される。本実施形態における各部は、コンピュータ及びその周辺装置が備えるハードウェア並びにこのハードウェアを制御するソフトウェアによって構成される。
【００３１】
上記ハードウェアには、制御部としてのＣＰＵの他、記憶部、通信部、表示部及び入力部が含まれる。記憶部としては、例えば、メモリ（ＲＡＭ、ＲＯＭ等）、ハードディスクドライブ（ＨＤＤ）及び光ディスク（ＣＤ、ＤＶＤ等）ドライブが挙げられる。通信部としては、例えば、各種有線及び無線インターフェース装置が挙げられる。表示部としては、例えば、液晶ディスプレイ、プラズマディスプレイ等の各種ディスプレイが挙げられる。入力部としては、例えば、キーボード及びポインティング・デバイス（マウス、トラッキングボール等）が挙げられる。
【００３２】
上記ソフトウェアには、上記ハードウェアを制御するコンピュータ・プログラムやデータが含まれる。コンピュータ・プログラムやデータは、記憶部により記憶され、制御部により適宜実行、参照される。また、コンピュータ・プログラムやデータは、通信ネットワークを介して配布することも可能であり、ＣＤ−ＲＯＭ等のコンピュータ可読媒体に記録して配布することも可能である。
【００３３】
Ｗｅｂサーバ１は、制御部１０と、記憶部２０と、を備える。
Ｗｅｂサーバ１の制御部１０は、圧縮部１１と、管理スクリプト埋込部１２（管理スクリプト埋込手段）と、リクエスト受付部１３と、Ｗｅｂページ送信部１４（Ｗｅｂページ送信手段）と、対象スクリプト要求受付部１５（対象スクリプト要求受付手段）と、対象スクリプト送信部１６（対象スクリプト送信手段）と、を備える。また、Ｗｅｂサーバ１の記憶部２０は、Ｗｅｂページを記憶するＷｅｂページ記憶部２１（Ｗｅｂページ記憶手段）と、対象スクリプトを記憶する対象スクリプト記憶部２２（対象スクリプト記憶手段）と、を備える。
【００３４】
圧縮部１１は、Ｗｅｂページの表示に必要とし、ユーザ端末２に設けられるブラウザが解釈することが可能な形式の対象スクリプトプログラム（以下、対象スクリプトプログラムを、単に対象スクリプトという）を、ｋｅｙ＝ｖａｌｕｅ形式のｖａｌｕｅ型として保存可能な形式に圧縮し、対象スクリプトをユーザ端末２の保存領域５１と共通のキーを有するｋｅｙ＝ｖａｌｕｅ形式で保存できるようにデータを圧縮した状態で対象スクリプト記憶部２２に記憶させる。対象スクリプトは、表示対象のＷｅｂページの内容に応じて、ユーザ端末２にダウンロードさせるスクリプトである。
【００３５】
ここで、ユーザ端末２に設けられるブラウザが解釈することが可能な形式の対象スクリプトは、図２に示すような、ＪａｖａＳｃｒｉｐｔ（登録商標）であり、当該対象スクリプトは、図３に示すようなｋｅｙ＝ｖａｌｕｅ形式に圧縮されてユーザ端末２に送信され、後述の保存領域５１に記憶される。
【００３６】
管理スクリプト埋込部１２は、対象スクリプトを管理する管理スクリプトを、Ｗｅｂページに埋め込み、このＷｅｂページをＷｅｂページ記憶部２１に記憶させる。管理スクリプトの詳細な機能については後述する。
【００３７】
リクエスト受付部１３は、ユーザ端末２から、Ｗｅｂページのリクエストを受け付ける。
【００３８】
Ｗｅｂページ送信部１４は、ユーザ端末２からのＷｅｂページのリクエストを受け付けたことに応じて、Ｗｅｂページ記憶部２１に記憶されているＷｅｂページをユーザ端末２に送信する。具体的には、Ｗｅｂページ送信部１４は、リクエスト受付部１３により、ユーザ端末２からＷｅｂページのリクエストを受け付けたことに応じて、Ｗｅｂページ記憶部２１に記憶されているＷｅｂページのうち、このリクエストに対応するＷｅｂページをユーザ端末２に送信する。
【００３９】
対象スクリプト要求受付部１５は、後述するユーザ端末２からの対象スクリプトの取得要求を受け付ける。
【００４０】
対象スクリプト送信部１６は、対象スクリプト要求受付部１５により、ユーザ端末２から対象スクリプトの取得要求を受け付けたことに応じて、対象スクリプト記憶部２２に記憶されている対象スクリプトのうち、この取得要求に対応する対象スクリプトをユーザ端末２に送信する。
【００４１】
ユーザ端末２は、入力部３１と、表示部３２と、制御部４０と、記憶部５０と、を備える。
【００４２】
入力部３１は、ユーザから、ユーザ端末２の操作入力を受け付ける。表示部３２は、ユーザ端末２が備える機能に関する情報を表示し、例えば、Ｗｅｂページを表示するためのブラウザを表示する。
【００４３】
制御部４０は、入力部３１により、ユーザからＷｅｂページのリクエスト操作を受け付けたことに応じて、ＷｅｂページのリクエストをＷｅｂサーバ１に送信する。また、制御部４０は、Ｗｅｂページを受信したことに応じて、Ｗｅｂページを表示部３２のブラウザに表示させる。具体的には、制御部４０は、Ｗｅｂページを表示部３２のブラウザに表示させる際に、このＷｅｂページに管理スクリプトや対象スクリプト等を含むスクリプトが含まれている場合、このスクリプトを実行し、実行結果に基づいてＷｅｂページを表示部３２のブラウザに表示させる。
【００４４】
記憶部５０は、Ｗｅｂサーバのドメインに応じて割り当てられる保存領域５１を備える。この保存領域５１は、例えば、ＨＴＭＬ５のローカルキャッシュ機能である、Ｗｅｂ  Ｓｔｏｒａｇｅのローカルストレージにより実装され、Ｗｅｂサーバのドメインごとに、このドメインに対応する対象スクリプトを記憶する。なお、ＨＴＭＬ５のＷｅｂ  Ｓｔｏｒａｇｅのローカルストレージは、クライアントサイド、すなわち、ユーザ端末２側にデータを永続的に記憶するための仕組みであり、ｋｅｙ＝ｖａｌｕｅ形式のデータを記憶可能なローカルストレージである。つまり、対象スクリプト記憶部２２及びユーザ端末２の保存領域５１は、対象スクリプトを共通のキーを有するｋｅｙ＝ｖａｌｕｅ形式で記憶する。
【００４５】
図４は、本実施形態に係るＷｅｂ  Ｓｔｏｒａｇｅのローカルストレージに記憶される内容の例を示す図である。Ｗｅｂ  Ｓｔｏｒａｇｅ機能では、Ｗｅｂサーバのドメインごとに対象スクリプトが記憶されており、図４に示される例では、ドメイン「＊＊＊．ｃｏ．ｊｐ」における対象スクリプトが記憶されている。このＷｅｂ  Ｓｔｏｒａｇｅでは、ｋｅｙ＝ｖａｌｕｅ形式のデータを記憶しており、図４に示される例では、対象スクリプト記憶部２２及びユーザ端末２の保存領域５１における共通のＫｅｙ（キー）として対象スクリプトのＵＲＬを含むファイル名及びバージョン番号を記憶しており、例えば、対象スクリプトが記憶されているか否かを確認する処理において、このファイル名が参照される。また、図４に示される例では、Ｖａｌｕｅとして、ファイルのバージョン番号に対応した対象スクリプト本体を記憶している。
【００４６】
続いて、Ｗｅｂページに含まれ、制御部４０において実行される管理スクリプトについて、詳細に説明する。
【００４７】
図５は、本実施形態に係る管理スクリプトの一例を示す図である。
この管理スクリプトは、対象スクリプトのファイル名と、この対象スクリプトのバージョン番号を指定して実行させるスクリプトである。この管理スクリプトは、上述のように、管理スクリプト埋込部１２により、Ｗｅｂページに埋め込まれるものであり、また、対象スクリプトのファイル名及びバージョン番号を識別情報として、記憶領域５１に存在するか否かが判定され、実行される。
【００４８】
図５に示されるように、管理スクリプトは、本実施形態において、Ｗｅｂサーバのドメインごとに共通して使用する機能の処理を定義する関数定義部Ａと、当該関数定義部Ａにおいて定義された管理スクリプトの関数に対して、当該管理スクリプトの関数が埋め込まれたＷｅｂページごとに必要となる個別の対象スクリプトのファイル名及びバージョン番号を引数として渡して当該管理スクリプトの関数を実行させる関数実行部Ｂと、を備える。
【００４９】
関数実行部Ｂにより、関数定義部Ａに定義されている関数に対して、引数として、対象スクリプトの名称と、この対象スクリプトのバージョン番号とが渡されると、管理スクリプトは以下の処理を実行する。
【００５０】
まず、管理スクリプトは、Ｋｅｙとしての対象スクリプトのファイル名に基づいて、保存領域５１に、対象スクリプトが記憶されているか否かを確認する処理を制御部４０に実行させる。図５に示される例では、コードＣ１により、保存領域５１に、対象スクリプトが記憶されているか否かの確認が実行される。
【００５１】
続いて、管理スクリプトは、保存領域５１に対象スクリプトが記憶されている場合に、この対象スクリプトのバージョン番号をチェックする処理を制御部４０に実行させる。図５に示される例では、コードＣ２により、対象スクリプトのバージョンが最新のものか否かのチェックが実行される。
【００５２】
続いて、管理スクリプトは、保存領域５１に対象スクリプトが記憶されている場合に、この対象スクリプトを保存領域５１から読み出して展開して制御部４０に実行させる。図５に示される例では、コードＣ３により、保存領域５１に記憶されている対象スクリプトのバージョン番号が、引数として渡されたバージョン番号よりも大きいと判定された場合に、コードＣ３により、対象スクリプトの実行が行われる。具体的には、コードＣ３に示される関数ｅｖａｌにより、保存領域５１にｋｅｙ＝ｖａｌｕｅ形式で記憶され、図４に示されるＶａｌｕｅ形式の対象スクリプトが読み出されて展開され、例えば、図２に示される対象スクリプトとして実行される。
【００５３】
一方、管理スクリプトは、保存領域５１に対象スクリプトが記憶されていない場合に、対象スクリプトの取得をＷｅｂサーバ１に要求する処理を制御部４０に実行させる。続いて、管理スクリプトは、Ｗｅｂサーバ１から対象スクリプトを受信（ダウンロード）し、受信した対象スクリプトを、展開して実行させる。図５に示される例では、コードＣ５により、Ｗｅｂサーバ１への対象スクリプトの要求、対象スクリプトの受信を行い、コードＣ４により保存領域５１に当該対象スクリプトを保存すると共に、当該対象スクリプトの実行が行われる。
【００５４】
ここで、保存領域５１は、例えば、対象スクリプトをダウンロードするドメインごとに確保され、対象スクリプトのファイル名及びバージョン番号をＫｅｙとすることができる。図５に示される例では、コードＣ４により、保存領域５１への対象スクリプトの記憶が行われる。
【００５５】
［フローチャート］
図６及び図７は、本実施形態に係るＷｅｂサーバ１の制御部１０及びユーザ端末２の制御部４０における処理を示すフローチャートである。なお、ここでは、Ｗｅｂページ記憶部２１にＷｅｂページが予め記憶され、対象スクリプト記憶部２２に対象スクリプトが予め記憶されているものとする。
【００５６】
ステップＳ１において、ユーザ端末２の制御部４０は、入力部３１により、ユーザからＷｅｂページのリクエスト操作を受け付けたことに応じて、ＷｅｂページのリクエストをＷｅｂサーバ１に送信する。
【００５７】
ステップＳ２において、Ｗｅｂサーバ１の制御部１０（リクエスト受付部１３）は、ユーザ端末２から、Ｗｅｂページのリクエストを受け付ける。
【００５８】
ステップＳ３において、Ｗｅｂサーバ１の制御部１０（Ｗｅｂページ送信部１４）は、ステップＳ２においてユーザ端末２からのＷｅｂページのリクエストを受け付けたことに応じて、Ｗｅｂページ記憶部２１に記憶されているＷｅｂページをユーザ端末２に送信する。このＷｅｂページには、管理スクリプトが含まれている。
【００５９】
ステップＳ４において、ユーザ端末２の制御部４０は、Ｗｅｂサーバ１からＷｅｂページを受信する。
【００６０】
図７に移り、ユーザ端末２の制御部４０は、受信したＷｅｂページに含まれる管理プログラムを実行する。なお、図７において破線で囲まれた処理、すなわち、ステップＳ５〜Ｓ８、Ｓ１１〜Ｓ１３の処理は、管理スクリプトを読み込むことにより実行されるものである。
【００６１】
ステップＳ５において、ユーザ端末２の制御部４０は、保存領域５１に、対象スクリプトが記憶されているか否かを確認する。具体的には、ユーザ端末２の制御部４０は、管理スクリプトの名称（ファイル名）を識別情報として、この対象スクリプトが保存領域５１に存在するか否かを判定する。ユーザ端末２の制御部４０は、この判定がＹＥＳの場合、処理をステップＳ６に移し、この判定がＮＯの場合、処理をステップＳ８に移す。
【００６２】
ステップＳ６において、ユーザ端末２の制御部４０は、保存領域５１から、対象スクリプトを取得する。
【００６３】
ステップＳ７において、ユーザ端末２の制御部４０は、取得した対象スクリプトのファイル名及びバージョン番号をチェックする処理を実行し、その後、対象スクリプトを実行する。ここで、対象スクリプトは、ｋｅｙ＝ｖａｌｕｅ形式で保存領域５１に保存されており、スクリプト（図３参照）自体はｖａｌｕｅとして保存されている。そのため、ユーザ端末２の制御部４０は、このスクリプトを、復元（展開）して実行する。この処理が終了すると、ユーザ端末２の制御部４０は、処理をステップＳ１４に移す。
【００６４】
ステップＳ８において、ユーザ端末２の制御部４０は、Ｗｅｂサーバ１に対象スクリプトの取得要求を行う。
【００６５】
ステップＳ９において、Ｗｅｂサーバ１の制御部１０（対象スクリプト要求受付部１５）は、ユーザ端末２から、対象スクリプトの取得要求を受け付ける。
【００６６】
ステップＳ１０において、Ｗｅｂサーバ１の制御部１０（対象スクリプト送信部１６）は、ステップＳ９において、ユーザ端末２から対象スクリプトの取得要求を受け付けたことに応じて、対象スクリプト記憶部２２に記憶されている対象スクリプトのうち、この取得要求に対応する対象スクリプトをユーザ端末２に送信する。
【００６７】
ステップＳ１１において、ユーザ端末２の制御部４０は、Ｗｅｂサーバ１から対象スクリプトを受信する。
【００６８】
ステップＳ１２において、ユーザ端末２の制御部４０は、受信した対象スクリプトを、この対象スクリプトのファイル名及びバージョン番号を識別情報として保存領域５１に記憶させる。
【００６９】
ステップＳ１３において、ユーザ端末２の制御部４０は、受信した対象スクリプトを実行する。ここで、ユーザ端末２の制御部４０は、ステップＳ７における処理と同様に、ｋｅｙ＝ｖａｌｕｅ形式で受信した対象スクリプトを、復元（展開）して実行する。
【００７０】
ステップＳ１４において、ユーザ端末２の制御部４０は、実行した対象スクリプトの結果に基づいて、表示部３２のブラウザにＷｅｂページを表示させる。
【００７１】
［計算結果］
続いて、従来の手法（Ｗｅｂページの受信の都度対象スクリプトを受信する手法）と、本実施形態の手法（管理スクリプトを所定のドメインにおけるＷｅｂページに共通して埋め込むことにより受信すると共に、できる限りユーザ端末２の保存領域５１に記憶されている対象スクリプトを実行して対象スクリプトの受信回数を抑制する手法）とにより、Ｗｅｂページの表示操作を行ってから表示されるまでの時間を計算した結果（理論値）について説明する。
【００７２】
前提条件として、Ｗｅｂページを構成する画像が８０ＫＢ（キロバイト：Ｋｉｌｏ  Ｂｙｔｅｓ）、Ｗｅｂページ表示用の対象スクリプトが７８ＫＢ、ｃｓｓ（Ｃａｓｃａｄｉｎｇ  Ｓｔｙｌｅ  Ｓｈｅｅｔｓ）が４４ＫＢ、管理スクリプトが０．５７ＫＢ、これらの構成以外のｈｔｍｌ文書が２９ＫＢである場合、すなわち、Ｗｅｂページのデータ量が合計で約２３２ＫＢであることとする。すなわち、管理スクリプトの容量は、対象スクリプトの容量に対して、約７％ときわめて小さいものとする。また、通信速度は、一般的な携帯電話機の通信速度を想定して２６０ｋｂｐｓ（ｋｉｌｏ  ｂｉｔ  ｐｅｒ  ｓｅｃｏｎｄ）であることとする。また、端末側の表示処理にかかる時間は、その他の処理に比べて軽微であり、かつ、比較対象で共通であるので無視できるものとする。また、本実施形態の手法では、ユーザ端末２に表示用のスクリプト（対象スクリプト）が記憶されていることとして計算を行う。
【００７３】
従来の手法では、このＷｅｂページのデータをすべて受信するので、Ｗｅｂページの表示操作を行ってから表示されるまでの時間が約７．１秒となる。これに対し、本実施形態の手法では、Ｗｅｂページ表示用のスクリプト（対象スクリプト）を受信することが不要になるので、合計で１５４ＫＢ受信することとなる。よって、本実施形態の手法では、Ｗｅｂページの表示操作を行ってから表示されるまでの時間が約４．７秒となる。
【００７４】
このように、本実施形態の手法では、上述の条件において、従来の手法に比べて約２．４秒（３３．８％）の高速化を実現することができた。
【００７５】
以上のように、本実施形態によれば、Ｗｅｂサーバ１は、管理スクリプト埋込部１２により、表示対象のＷｅｂページの内容に応じてダウンロードさせる対象スクリプトを管理する管理スクリプトを、Ｗｅｂページに埋め込み、当該ＷｅｂページをＷｅｂページ記憶部２１に記憶させ、Ｗｅｂページ送信部１４により、ユーザ端末２からのＷｅｂページのリクエストを受け付けたことに応じて、Ｗｅｂページ記憶部２１に記憶されているＷｅｂページをユーザ端末２に送信する。
【００７６】
更に、Ｗｅｂサーバ１は、表示対象のＷｅｂページの内容に応じてダウンロードさせる対象スクリプトを管理する管理スクリプトにより、対象スクリプトを受信させるか否かを決定させるので、対象スクリプトを単にＷｅｂページに含ませて送信する場合に比べて、ユーザ端末２におけるＷｅｂページに係るデータの受信量を抑制することができる。
【００７７】
すなわち、管理スクリプト埋込部１２によりＷｅｂページに埋め込まれる管理スクリプトは、以下の処理をユーザ端末２に実行させる。すなわち、ユーザ端末２は、Ｗｅｂサーバのドメインに応じて割り当てられたユーザ端末２の保存領域５１に、対象スクリプトが存在するか否かを確認し、保存領域５１に対象スクリプトが存在する場合に、当該保存領域５１に存在する対象スクリプトを読み出して実行し、保存領域５１に対象スクリプトが存在しない場合に、対象スクリプトの取得をＷｅｂサーバ１に要求して、Ｗｅｂサーバから対象スクリプトを受信（ダウンロード）し、受信した対象スクリプトを保存領域５１に記憶させ、受信した対象スクリプトを読み出して実行する。
【００７８】
よって、ユーザ端末２側では、Ｗｅｂサーバのドメインに応じて割り当てられたユーザ端末２の保存領域５１に存在している場合には、Ｗｅｂページの表示に必要な対象スクリプトを、Ｗｅｂページを受信するごとに、Ｗｅｂサーバ１から受信する必要がないので、ユーザ端末２におけるＷｅｂページに係るデータの受信量を抑制することができる。すなわち、Ｗｅｂサーバ１は、管理スクリプトをＷｅｂページの要求ごとに送信する必要があるものの、対象スクリプトの送信回数を抑制することができるので、ユーザ端末２に送信するＷｅｂページのデータ量を削減することができる。そして、上述のように、管理スクリプトは、対象スクリプトの内容によらず共通のアルゴリズムを採用できるので、比較的容量が大きくなる対象スクリプトに比較して、極めて小さな容量で実現することができる。
【００７９】
なお、保存領域５１は、Ｗｅｂページを送信するドメインごとに対象スクリプトを記憶するので、同一ドメインにおいて共通する、比較的容量の小さな管理スクリプトを運用することができる。したがって、当該ドメインにおいて送信するＷｅｂページごとに、比較的容量の大きな対象スクリプトの内容が異なっている場合においても、それ以前に他のＷｅｂページで使用し、保存領域５１に記憶した対象スクリプトはダウンロードする必要がなくなるので、同一ドメインにおいてＷｅｂページの要求を行えば行うほど上述の効果は顕著なものとなる。
【００８０】
また、ユーザ端末２の保存領域５１は、Ｗｅｂサーバのドメインに応じて割り当てられたＨＴＭＬ５のＷｅｂ  Ｓｔｏｒａｇｅのローカルストレージにより実装される。よって、Ｗｅｂサーバ１は、標準技術である、ＨＴＭＬ５のＷｅｂ  Ｓｔｏｒａｇｅのローカルストレージにより、ユーザ端末２側に対象スクリプトを永続的に記憶させることができるため、同一セッションが終了して、再度アクセスした場合においても、Ｗｅｂページの表示操作を行ってから表示されるまでの時間を短縮することができる。
【００８１】
また、Ｗｅｂサーバ１は、対象スクリプト送信部１６により、対象スクリプト要求受付部１５が対象スクリプトの取得要求を、ユーザ端末２から受け付けたことに応じて、対象スクリプト記憶部２２に記憶されている対象スクリプトのうち、当該取得要求に対応する対象スクリプトをユーザ端末２に送信する。よって、Ｗｅｂサーバ１は、ユーザ端末２における管理スクリプトの処理に応じて、対象スクリプトをユーザ端末２に送信することができる。
【００８２】
また、Ｗｅｂサーバ１は、対象スクリプトを、ユーザ端末２の保存領域５１と共通のキーを有するｋｅｙ＝ｖａｌｕｅ形式で保存できるようにデータを圧縮した状態で記憶するので、ユーザ端末２に保存するためにデータの形式を分析、変換する必要がない。したがって、対象スクリプトをユーザ端末２に送信する場合に、当該共通のｋｅｙ＝ｖａｌｕｅ形式で対象スクリプトを記憶しない場合に比べて、当該Ｗｅｂサーバ１及びユーザ端末２の処理を省力化することにより、Ｗｅｂページの表示操作を行ってから表示されるまでの時間を更に短縮することができる。
【００８３】
また、対象スクリプト記憶部２２及びユーザ端末２の保存領域５１は、共通のキーとしてのＵＲＬを含むファイル名を、対象スクリプトの識別情報として使用することができる。よって、ユーザ端末２の保存領域５１において、新たに識別用の情報を記憶する領域を確保することが不要になる。そして、キーはＷｅｂ上のファイルの場所を示すＵＲＬを含むため、ユーザ端末２は、キーから対応するダウンロード先を新たに指定する必要がない。したがって、Ｗｅｂサーバ１は、対象スクリプトをダウンロードするまでの時間をより短縮することにより、Ｗｅｂページの表示操作を行ってから表示されるまでの時間を更に短縮することができる。
【００８４】
以上、本発明の実施形態について説明したが、本発明は前述した実施形態に限るものではない。また、本発明の実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、本発明の実施形態に記載されたものに限定されるものではない。
【符号の説明】
【００８５】
１  Ｗｅｂサーバ
２  ユーザ端末（端末）
１０、４０  制御部
１１  圧縮部
１２  管理スクリプト埋込部（管理スクリプト埋込手段）
１３  リクエスト受付部
１４  Ｗｅｂページ送信部（Ｗｅｂページ送信手段）
１５  対象スクリプト要求受付部（対象スクリプト要求受付手段）
１６  対象スクリプト送信部（対象スクリプト送信手段）
２０、５０  記憶部
２１  Ｗｅｂページ記憶部（Ｗｅｂページ記憶手段）
２２  対象スクリプト記憶部（対象スクリプト記憶手段）
３１  入力部
３２  表示部
５１  保存領域
【図１】
0005231500.tif 000002
【図２】
0005231500.tif 000003
【図３】
0005231500.tif 000004
【図４】
0005231500.tif 000005
【図５】
0005231500.tif 000006
【図６】
0005231500.tif 000007
【図７】
0005231500.tif 000008