(57)【要約】【課題】プリフェッチによってクライアントへのデータ取得の高速化が可能な状況の拡大を図るプロキシシステム及び中継方法を提供すること。【解決手段】マニフェスト解析部１１４は、マニフェスト属性記憶部１１５に記憶されたマニフェストの属性データを解析する。サーバ受付部１１１は、マニフェスト解析部１１４による解析結果に応じて又はクライアント受付部１１１からの要求に応じてサーバ１２０からマニフェストデータ又はマニフェスト付随データを取得する。キャッシュ部１１３は、サーバ受付部１１１が取得したマニフェストデータ又はマニフェスト付随データをキャッシュする。クライアント受付部１１２は、クライアント１３０から要求されたデータがキャッシュ部１１３にキャッシュされている場合は当該キャッシュされているデータを取得してクライアント１３０へ送信する。【選択図】図２
2009187466.tif 000002
【特許請求の範囲】
【請求項１】
サーバ及びクライアント間の通信を中継するプロキシシステムであって、
前記サーバが保持するマニフェストデータに対応するマニフェストの属性データが記憶されるマニフェスト属性記憶部と、
前記マニフェスト属性記憶部に記憶されたマニフェストの属性データを解析するマニフェスト解析部と、
前記マニフェスト解析部による解析結果に応じて、前記サーバからマニフェストデータ又はマニフェスト付随データを取得するサーバ受付部と、
前記サーバ受付部が取得したマニフェストデータ又はマニフェスト付随データをキャッシュするキャッシュ部と、
前記クライアントからのマニフェストデータ又はマニフェスト付随データの取得要求に応じて、当該要求されたデータを前記キャッシュ部から取得して当該クライアントへ送信するクライアント受付部と
を有することを特徴とするプロキシシステム。
【請求項２】
前記サーバ受付部は、前記マニフェスト解析部による解析結果に応じて、又は前記クライアント受付部からの要求に応じて、前記サーバからマニフェストデータ又はマニフェスト付随データを取得し、
前記クライアント受付部は、前記クライアントから要求されたデータが前記キャッシュ部にキャッシュされていない場合、前記サーバ受付部に対して当該要求されたデータの取得要求をして、得られたデータを当該クライアントへ送信すること
を特徴とする請求項１に記載のプロキシシステム。
【請求項３】
前記サーバ上に保持されているマニフェストデータが更新されているか否かを確認し、更新されていた場合は当該確認結果を前記マニフェスト解析部に通知する更新通知部を有し、
前記マニフェスト解析部は、前記更新通知部からの通知に基づいて、前記マニフェスト属性記憶部に記憶されたマニフェストの属性データを解析すること
を特徴とする請求項１又は請求項２に記載のプロキシシステム。
【請求項４】
前記更新通知部は、前記サーバのファイルを横断的にクローリングして、マニフェストデータが更新されているか否かを確認することを特徴とする請求項３に記載のプロキシシステム。
【請求項５】
前記更新通知部は、前記サーバから通知を受けることによって当該サーバが保持するマニフェストが更新されたことを確認することを特徴とする請求項３に記載のプロキシシステム。
【請求項６】
前記マニフェスト解析部は、前記マニフェスト属性記憶部に記憶されたマニフェストの属性データを解析して前記マニフェストデータ又はマニフェスト付随データの所在を示すＵＲＩを生成し、
前記サーバ受付部は、前記マニフェスト解析部が生成したＵＲＩを用いて前記サーバからマニフェストデータ又はマニフェスト付随データを取得すること
を特徴とする請求項１から請求項３のいずれか１項に記載のプロキシシステム。
【請求項７】
前記マニフェスト属性記憶部は、マニフェストの属性データを構造的な形式で記憶することを特徴とする請求項１から請求項３のいずれか１項に記載のプロキシシステム。
【請求項８】
サーバ及びクライアント間の通信を中継する中継方法であって、
前記サーバが保持するマニフェストデータに対応するマニフェストの属性データが記憶されるマニフェスト属性記憶ステップと、
前記マニフェスト属性記憶ステップで記憶されたマニフェストの属性データを解析するマニフェスト解析ステップと、
前記マニフェスト解析ステップによる解析結果に応じて、前記サーバからマニフェストデータ又はマニフェスト付随データを取得するサーバ受付ステップと、
前記サーバ受付ステップが取得したマニフェストデータ又はマニフェスト付随データをキャッシュするキャッシュステップと、
前記クライアントからのマニフェストデータ又はマニフェスト付随データの取得要求に応じて、当該要求されたデータを前記キャッシュステップから取得して当該クライアントへ送信するクライアント受付ステップと
を有することを特徴とする中継方法。
【請求項９】
前記サーバ受付ステップは、前記マニフェスト解析ステップによる解析結果に応じて、又は前記クライアント受付ステップからの要求に応じて、前記サーバからマニフェストデータ又はマニフェスト付随データを取得し、
前記クライアント受付ステップは、前記クライアントから要求されたデータが前記キャッシュステップにキャッシュされていない場合、前記サーバ受付ステップに対して当該要求されたデータの取得要求をして、得られたデータを当該クライアントへ送信すること
を特徴とする請求項８に記載の中継方法。
【請求項１０】
前記サーバ上に保持されているマニフェストデータが更新されているか否かを確認し、更新されていた場合は当該確認結果を前記マニフェスト解析ステップに通知する更新通知ステップを有し、
前記マニフェスト解析ステップは、前記更新通知ステップからの通知に基づいて、前記マニフェスト属性記憶ステップで記憶されたマニフェストの属性データを解析すること
を特徴とする請求項８又は請求項９に記載の中継方法。
【請求項１１】
前記更新通知ステップは、前記サーバのファイルを横断的にクローリングして、マニフェストデータが更新されているか否かを確認することを特徴とする請求項１０に記載の中継方法。
【請求項１２】
前記更新通知ステップは、前記サーバから通知を受けることによって当該サーバが保持するマニフェストが更新されたことを確認することを特徴とする請求項１０に記載の中継方法。
【請求項１３】
前記マニフェスト解析ステップは、前記マニフェスト属性記憶ステップで記憶されたマニフェストの属性データを解析して前記マニフェストデータ又はマニフェスト付随データの所在を示すＵＲＩを生成し、
前記サーバ受付ステップは、前記マニフェスト解析ステップが生成したＵＲＩを用いて前記サーバからマニフェストデータ又はマニフェスト付随データを取得すること
を特徴とする請求項８から請求項１０のうちいずれか１項に記載の中継方法。
【請求項１４】
前記マニフェスト属性記憶ステップは、マニフェストの属性データを構造的な形式で記憶することを特徴とする請求項８から請求項１０のうちいずれか１項に記載の中継方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プロキシシステム及び中継方法に関し、より詳細には、マニフェスト又はマニフェストに付随するデータをキャッシュするプロキシシステム及び中継方法に関する。
【背景技術】
【０００２】
アプリケーションシステムの形態として、Ｗｅｂアプリケーションシステムが知られている。Ｗｅｂアプリケーションシステムが用いるクライアント上のファイル（又はファイル以外のデータ。以下同様。）をサーバ上のファイルと同期させるメカニズムとして、マニフェストを用いる方法がある。マニフェストを用いる方法においては、クライアントがサーバからデータを高速に取得可能であることが必要である。クライアントがデータを高速に取得可能とするために、クライアントが要求したデータに基づいてクライアントが今後要求するデータを特定し、当該データをクライアントの要求前にサーバから取得（以下、「プリフェッチ」と呼ぶ。）し、プロキシシステムに保持する技術が知られている（例えば、特許文献１）。
【０００３】
【特許文献１】特開２０００−５７０４１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記従来技術には次のような問題があった。すなわち、１）クライアントがデータを要求した後にそのデータに付随するデータをプリフェッチするため、クライアントが初めて要求したデータはその要求の際にプリフェッチされていない。更に、２）サーバと上記従来技術によるプロキシシステム間の通信速度が低速である場合には、プリフェッチによるデータ取得を高速化する効果を得にくい。
【０００５】
本発明の課題は、プリフェッチによってクライアントへのデータ取得の高速化が可能な状況の拡大を図るプロキシシステム及び中継方法を提供することである。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、本発明に係るプロキシシステムは、サーバ及びクライアント間の通信を中継するプロキシシステムであって、前記サーバが保持するマニフェストデータに対応するマニフェストの属性データが記憶されるマニフェスト属性記憶部と、前記マニフェスト属性記憶部に記憶されたマニフェストの属性データを解析するマニフェスト解析部と、前記マニフェスト解析部による解析結果に応じて、前記サーバからマニフェストデータ又はマニフェスト付随データを取得するサーバ受付部と、前記サーバ受付部が取得したマニフェストデータ又はマニフェスト付随データをキャッシュするキャッシュ部と、前記クライアントからのマニフェストデータ又はマニフェスト付随データの取得要求に応じて、当該要求されたデータを前記キャッシュ部から取得して当該クライアントへ送信するクライアント受付部とを有することを特徴とする。
【０００７】
また、上記課題を解決するために、本発明に係る中継方法は、サーバ及びクライアント間の通信を中継する中継方法であって、前記サーバが保持するマニフェストデータに対応するマニフェストの属性データが記憶されるマニフェスト属性記憶ステップと、前記マニフェスト属性記憶ステップで記憶されたマニフェストの属性データを解析するマニフェスト解析ステップと、前記マニフェスト解析ステップによる解析結果に応じて、前記サーバからマニフェストデータ又はマニフェスト付随データを取得するサーバ受付ステップと、前記サーバ受付ステップが取得したマニフェストデータ又はマニフェスト付随データをキャッシュするキャッシュステップと、前記クライアントからのマニフェストデータ又はマニフェスト付随データの取得要求に応じて、当該要求されたデータを前記キャッシュステップから取得して当該クライアントへ送信するクライアント受付ステップとを有することを特徴とする。
【０００８】
これらの構成によれば、クライアントがマニフェストデータを要求しているか否かに関わらず、マニフェスト解析部又はステップは、マニフェスト属性記憶部又はステップから取得した各マニフェストの属性を元に、マニフェストデータ又はマニフェスト付随データをサーバから取得するようにサーバ受付部又はステップに対して要求し、キャッシュ部又はステップはマニフェストデータ又はマニフェスト付随データを保持できる。これにより、クライアントが初めて要求したマニフェストデータ又はマニフェスト付随データであっても既にキャッシュ部又はステップはマニフェストデータ又はマニフェスト付随データを保持しており、サーバにデータ要求をすることなく直ぐにクライアントにマニフェストデータ又はマニフェスト付随データを送信できる。また、サーバとプロキシシステム間の通信速度よりクライアントとプロキシシステム間の通信速度の方が低速な場合においても、クライアントがマニフェスト付随データを要求する前にキャッシュ部はマニフェスト付随データを保持できる。
【０００９】
また、前記サーバ上に保持されているマニフェストデータが更新されているか否かを確認し、更新されていた場合は当該確認結果を前記マニフェスト解析部に通知する更新通知部を有し、前記マニフェスト解析部は、前記更新通知部からの通知に基づいて、前記マニフェスト属性記憶部に記憶されたマニフェストの属性データを解析することが好適である。
【００１０】
同様に、前記サーバ上に保持されているマニフェストデータが更新されているか否かを確認し、更新されていた場合は当該確認結果を前記マニフェスト解析ステップに通知する更新通知ステップを有し、前記マニフェスト解析ステップは、前記更新通知ステップからの通知に基づいて、前記マニフェスト属性記憶ステップで記憶されたマニフェストの属性データを解析することが好適である。
【００１１】
また、本発明に係るプロキシシステムにおいて、前記更新通知部は、前記サーバのファイルを横断的にクローリングして、マニフェストデータが更新されているか否かを確認することが好適である。
【００１２】
同様に、本発明に係る中継方法において、前記更新通知ステップは、前記サーバのファイルを横断的にクローリングして、マニフェストデータが更新されているか否かを確認することが好適である。
【００１３】
また、本発明に係るプロキシシステムにおいて、前記更新通知部は、前記サーバから通知を受けることによって当該サーバが保持するマニフェストが更新されたことを確認することが好適である。
【００１４】
同様に、本発明に係る中継方法において、前記更新通知ステップは、前記サーバから通知を受けることによって当該サーバが保持するマニフェストが更新されたことを確認することが好適である。
【００１５】
また、本発明に係るプロキシシステムにおいて、前記マニフェスト解析部は、前記マニフェスト属性記憶部に記憶されたマニフェストの属性データを解析して前記マニフェストデータ又はマニフェスト付随データの所在を示すＵＲＩ（Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｉｄｅｎｔｉｆｉｅｒ）を生成し、前記サーバ受付部は、前記マニフェスト解析部が生成したＵＲＩを用いて前記サーバからマニフェストデータ又はマニフェスト付随データを取得することが好適である。
【００１６】
同様に、本発明に係る中継方法において、前記マニフェスト解析ステップは、前記マニフェスト属性記憶ステップで記憶されたマニフェストの属性データを解析して前記マニフェストデータ又はマニフェスト付随データの所在を示すＵＲＩを生成し、前記サーバ受付ステップは、前記マニフェスト解析ステップが生成したＵＲＩを用いて前記サーバからマニフェストデータ又はマニフェスト付随データを取得することが好適である。
【００１７】
これらの構成により、マニフェストデータ又はマニフェスト付随データの所在を一意に決定してサーバに対してデータ取得要求をすることができる。
【００１８】
また、本発明に係るプロキシシステムにおいて、前記マニフェスト属性記憶部は、マニフェストの属性データを構造的な形式で記憶することが好適である。
【００１９】
同様に、本発明に係る中継方法において、前記マニフェスト属性記憶ステップは、マニフェストの属性データを構造的な形式で記憶することが好適である。
【００２０】
これらの構成により、構造的に記載されたマニフェストデータ又はマニフェスト付随データの内容をその構造を保ったまま保持することができる。
【発明の効果】
【００２１】
本発明によれば、プリフェッチによってクライアントへのデータ取得の高速化が可能な状況の拡大を図るプロキシシステム及び中継方法を提供することができる。
【発明を実施するための最良の形態】
【００２２】
以下、図面を参照して、本発明の好適な一実施形態を詳細に説明するが、様々な修正を加えた形態又は代替形態によって本発明を実施可能である。本発明を以下に説明する特定の実施形態に限定する意図はなく、本発明は特許請求の範囲によって定義される本発明の趣旨及び範囲内に含まれる全ての変更形態、均等形態、及び代替形態におよぶ。以下に説明する実施形態は、本発明の具体的な発明形態の特徴を強調するために選択されたものである。
【００２３】
本発明における同一の符号は、図の記述全体を通して同一の要素を指す。
【００２４】
要素が「接続」又は「統合」されるものとして言及されるとき、これらの要素は相互に直接接続又は統合されていることを示し、また、１つ又は複数の介在要素があってもよい。
【００２５】
まず、図１に、本発明の実施形態に係るプロキシシステムのハードウェア構成を示す。プロキシシステム１１０は、各種装置間の通信の間に介在し、当該通信を中継するコンピュータ装置である。プロキシシステム１１０は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）５０１、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）５０２、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）５０３、通信モジュール５０４、補助記憶装置５０５、入力装置５０６、出力装置５０７を備える。
【００２６】
ＣＰＵ５０１は、ＲＯＭ５０３、又は補助記憶装置５０５等に記憶された制御プログラム等のデータをＲＡＭ５０２に展開し、当該プログラム等に従って各種演算処理を行い、プロキシシステム１１０の各部の動作を集中制御するプロセッサである。通信モジュール５０４は、ネットワークカード等の通信デバイスであり、通信パスＮに接続された他の装置と各種データの送受信を行う。補助記憶装置５０５は、ハードディスク等の大容量記憶媒体である。入力装置５０６は、キーボード又はマウス等の入力デバイスである。出力装置５０７は、ディスプレイなどの出力デバイスである。
【００２７】
次に、本発明の実施形態に係るプロキシシステム１１０を備えるデータ転送システムの構成及び動作について説明する。
【００２８】
図２に、データ転送システムの構成を示す。データ転送システム１００は、プロキシシステム１１０、サーバ１２０、クライアント１３０を備えて構成される。プロキシシステム１１０は、サーバ１２０及びクライアント１３０と通信パスによって接続されて、サーバ１２０及びクライアント１３０間の通信を中継する。各通信パスは有線或いは無線を問わず、通信パスの間にネットワークが介在してもよい。図示しないが、プロキシシステム１１０は、複数のサーバ又はクライアントと接続しうる。
【００２９】
サーバ１２０は、ワークステーション等のサーバ装置又は複数のサーバ装置で構成されたシステムである。サーバ１２０は、そのサービス又は機能としてＷｅｂサービス１２１を有し、Ｗｅｂサービス１２１等に関係するマニフェストデータ等を保持又は配信等する。
【００３０】
ここで、マニフェストデータとは、Ｗｅｂサービス１２１等のサーバ１２０が提供するサービスや機能をクライアント１３０で実行する際に、クライアント上にダウンロードする必要があるデータ（ファイル等）についての情報を含んだデータである。マニフェストデータは、例えば、ＨＴＭＬ（ＨｙｐｅｒＴｅｘｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）やＸＭＬ（Ｅｘｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）のような構造的なテキストの形式で記述されている。マニフェストデータは、そのデータ構成として、「マニフェストの属性」及び「マニフェスト付随データ」を含む。マニフェストの属性としては、例えば、マニフェストデータのバージョン情報、記述形式に関する情報、マニフェストが存在するＵＲＩ、又はマニフェスト付随データの一覧等が含まれる。マニフェスト付随データとしては、例えば、クライアントにキャッシュすべきファイルのＵＲＩ、そのファイルをクライアントにキャッシュする際の保存名、又はそのファイルをキャッシュすべきか否かのデータが含まれる。
【００３１】
クライアント１３０は、ブラウザ１３１の機能等を有し、サーバ１２０が提供するサービスや機能を実行可能な携帯電話等のクライアント端末装置である。
【００３２】
プロキシシステム１１０は、機能的な構成として、サーバ受付部（サーバ受付ステップ）１１１、クライアント受付部（クライアント受付ステップ）１１２、キャッシュ部（キャッシュステップ）１１３、マニフェスト解析部（マニフェスト解析ステップ）１１４、及びマニフェスト属性記憶部（マニフェスト属性記憶ステップ）１１５を有する。各機能は、前述のプロキシシステム１１０を構成するハードウェア各部の動作の共同によって実現される。
【００３３】
サーバ受付部１１１は、クライアント受付部１１２又はマニフェスト解析部１１４からサーバ１２０のデータ取得の要求を受け付ける。サーバ受付部１１１は、通信モジュール５０４を介して、受けた要求に応じた特定のデータの取得要求をサーバ１２０に対して行い、その応答として要求したデータをサーバ１２０から取得する。サーバ受付部１１１は、クライアント受付部１１２からの要求に応じてデータを取得した場合、クライアント受付部１１２へ取得したデータを送信し、更に当該データをキャッシュ部１１３にキャッシュする。マニフェスト解析部１１４からの要求に応じてデータを取得した場合、取得したデータをキャッシュ部１１３にキャッシュする。
【００３４】
クライアント受付部１１２は、通信モジュール５０４を介して、クライアント１３０のブラウザ１３１からデータ取得要求を受け付ける。要求されたデータがキャッシュ部１１３にキャッシュされている場合、クライアント受付部１１２は、キャッシュ１１３から該当するデータを取得して、通信モジュール５０４を介してブラウザ１３１へ当該データを送信する。要求されたデータがキャッシュ部１１３にキャッシュされていない場合、クライアント受付部１１２は、サーバ受付部１１１から該当するデータを取得して、通信モジュール５０４を介してブラウザ１３１へ当該データを送信する。
【００３５】
キャッシュ部１１３は、サーバ受付部１１１から受信したデータを補助記憶装置５０５等の記憶媒体に記憶することによって、当該データを保持（キャッシュ）する。また、キャッシュ部１１３は、クライアント受付部１１２からデータの要求を受け付け、要求されたデータを保持している場合は、当該データをクライアント受付部１１２へ送信する。キャッシュ部１１３に保持されるデータとしては、例えば、マニフェストデータ等のクライアントへ送信するデータが含まれる。例えば、マニフェストデータは、ＸＭＬなどの構造的な形式でキャッシュ部１１３に記憶されている。
【００３６】
マニフェスト解析部１１４は、マニフェストの属性をマニフェスト属性記憶部１１５から取り出し、任意のマニフェストの解析を行い、当該解析結果に基づいてサーバ受付部１１１にデータ取得要求を行う。
【００３７】
例えば、マニフェスト解析部１１４は、マニフェスト属性記憶部１１５に記憶されたデータを解析することによってマニフェストの解析をする。その解析結果によってそのマニフェスト付随データをキャッシュ部１１３に新たにキャッシュすべきと判断した場合、マニフェストが存在するＵＲＩからマニフェスト付随データが存在するＵＲＩを組み立てる。マニフェスト解析部１１４は、サーバ受付部１１１にデータ取得要求をする際に、当該要求と共に組み立てたマニフェストのＵＲＩ及びマニフェスト付随データのＵＲＩを送信する。
【００３８】
マニフェスト属性記憶部１１５は、マニフェストの属性データを補助記憶装置５０５等の記憶媒体に記憶することによって、当該データを保持する。マニフェスト属性記憶部１１５に保持されるマニフェストの属性の例としては、マニフェストが存在するＵＲＩ、マニフェスト解析部１１４がマニフェストのデータ取得要求を送信した日時、マニフェストのバージョン、マニフェスト付随データの一覧が挙げられる。サーバ１２０のサービスが開始された際、又はプロキシシステム１１０のサービスが開始された際などに、マニフェスト属性記憶部１１５にＷｅｂサービス１２１に関係する全てのマニフェストの属性が保持される。例えば、マニフェストの属性データは、ＸＭＬなどの構造的な形式でマニフェスト属性記憶部１１５に記憶されている。
【００３９】
次に、本実施形態に係るプロキシシステム１１０の動作及び中継方法について説明する。
【００４０】
図３に、プロキシシステム１１０がマニフェスト又はマニフェスト付随データをプリフェッチしクライアント１３０へ送信する際に、プロキシシステム１１０がサーバ１２０及びクライアント１３０と行う相互作用及びプロキシシステム１１０内で行われる処理の一例を時系列に示す。プロキシシステム１１０内の処理の全体制御はＣＰＵ５０１が行う。
【００４１】
マニフェスト又はマニフェスト付随データのプリフェッチを行うために、まず、マニフェスト解析部１１４は、マニフェスト属性記憶部１１５からマニフェストの属性を取得する（Ｓ３０１）。
【００４２】
次いで、マニフェスト解析部１１４は、取得したマニフェストの属性を解析する。解析の結果、マニフェストデータをキャッシュする必要があると判断した場合には、その解析結果からマニフェスト又はマニフェスト付随データのＵＲＩを生成し、生成したＵＲＩをサーバ受付部１１１へ送信する（Ｓ３０２）。
【００４３】
マニフェストデータをキャッシュする必要があると判断した場合とは、例えば、キャッシュ部１１３が最新のキャッシュを保持していない場合や、キャッシュすべきとマニフェストに示されているがまだキャッシュされていないファイルがある場合などである。マニフェスト解析部１１４の解析結果からマニフェスト又はマニフェスト付随データのＵＲＩを生成する方法としては、例えば、マニフェストの属性の解析結果に基づいて、マニフェスト属性記憶部１１５に記憶されたマニフェストが存在するＵＲＩを取得する。
【００４４】
次いで、サーバ受付部１１１は、受信したＵＲＩを用いてサーバ１２０に対してマニフェスト又はマニフェスト付随データの要求を行う（Ｓ３０３）。
【００４５】
次いで、サーバ１２０は、受信した要求に係るＵＲＩに対応するマニフェスト又はマニフェスト付随データをサーバ受付部１１１へ送信する（Ｓ３０４）。サーバ受付部１１１及びサーバ１２０間の通信（Ｓ３０３及びＳ３０４）は、サーバ受付部１１１が、Ｓ３０２においてマニフェスト解析部１１４が送信したマニフェスト又はマニフェスト付随データのＵＲＩに存在するデータを全て取得するまで続けられる。
【００４６】
次いで、サーバ受付部１１１は、受信したマニフェスト又はマニフェスト付随データをキャッシュ部１１３に保持（キャッシュ）させる（Ｓ３０５）。
【００４７】
以上、Ｓ３０１からＳ３０５の手順により、クライアント１３０からのマニフェスト又はマニフェスト付随データの要求の前に、プリフェッチは完了する。
【００４８】
その後、クライアント１３０はマニフェスト又はマニフェスト付随データを取得するために、クライアント１３０はマニフェスト又はマニフェスト付随データの要求をクライアント受付部１１２へ送信する（Ｓ３０６）。
【００４９】
次いで、クライアント受付部１１２は、キャッシュ部１１３に対してマニフェスト又はマニフェスト付随データの要求を行う（Ｓ３０７）。
【００５０】
次いで、キャッシュ部１１３において、マニフェスト又はマニフェスト付随データの要求に該当するデータが検索される。マニフェスト又はマニフェスト付随データの要求に該当するデータが存在する場合、キャッシュ部１１３は要求への応答としてマニフェスト又はマニフェスト付随データをクライアント受付部１１２へ送信する。マニフェスト又はマニフェスト付随データの要求に該当するデータが存在しない場合、キャッシュ部１１３は要求に対してデータが存在しないことを示す応答をクライアント受付部１１２へ送信する（Ｓ３０８）。
【００５１】
次いで、クライアント受付部１１２は、受信したキャッシュ部１１３からの応答にマニフェスト又はマニフェスト付随データが含まれていた場合、受信したマニフェスト又はマニフェスト付随データをクライアント１３０へ送信する（Ｓ３０９）。
【００５２】
また、クライアント受付部１１２は、受信したキャッシュ部１１３からの応答にマニフェスト又はマニフェスト付随データが含まれていなかった場合、サーバ受付部１１１に対してマニフェスト又はマニフェスト付随データの要求を行う。サーバ受付部１１１は、クライアント受付部１１２からの要求に応じて、サーバ１２０からマニフェスト又はマニフェスト付随データを取得し、当該取得したデータをクライアント受付部１１２へ送信する。クライアント受付部１１２は、サーバ受付部１１１から受信したマニフェスト又はマニフェスト付随データをクライアント１３０へ送信する。
【００５３】
以上、Ｓ３０６からＳ３０９の手順により、プロキシシステム１１０は、クライアント１３０から要求されたデータがキャッシュ１１３にキャッシュされている場合、データ取得のためにサーバ１２０と通信せずに、要求に対する応答としてデータをクライアント１３０へ送信する。
【００５４】
なお、説明の便宜上、クライアント受付部１１２は、Ｓ３０１からＳ３０５のプリフェッチの完了後、マニフェスト又はマニフェスト付随データの要求（Ｓ３０６）をクライアント１３０から受信することとして説明しているが、プリフェッチの完了がＳ３０６の開始のきっかけとなるわけではない。Ｓ３０６は任意のタイミングでクライアント２３０によって開始され、Ｓ３０６で要求されたマニフェスト又はマニフェストデータが既にプリフェッチされている場合に、クライアント受付部２１２は、要求されたマニフェスト又はマニフェストデータをキャッシュ部２１３から受信して、クライアント１３０へ送信する。以降の変形例においても同様である。
【００５５】
以上のように、本実施形態におけるプロキシシステム１１０によれば、マニフェスト解析部１１４はクライアント１３０からの要求が送信される前に任意のタイミングでマニフェストの解析を行い、マニフェスト又はマニフェスト付随データのＵＲＩをサーバ受付部１１１に送信する。その後、サーバ受付部１１１はマニフェスト又はマニフェスト付随データをサーバ１２０から取得してキャッシュ部１１３に保持することによりプリフェッチする。従って、クライアント１３０からの要求があるか否かに関わらずキャッシュ部１１３にマニフェスト又はマニフェスト付随データが保持されるため、クライアント受付部１１２はサーバ受付部に要求を送信することなくクライアント１３０にマニフェスト又はマニフェスト付随データを送信する。その結果、クライアント１３０におけるマニフェスト又はマニフェスト付随データの要求の送信から当該要求に対する応答の受信までの時間が低減される。
【００５６】
次に、本実施形態に係るプロキシシステムの変形例について説明する。
【００５７】
本変形例に係るプロキシシステムのハードウェア構成は、前述の図１と同様である。
【００５８】
図４に、本変形例に係るプロキシシステムを備えるデータ転送システムの構成を示す。本データ転送システム２００は、図２に示したデータ転送システムと同様にサーバ２２０及びクライアント２３０を備え、図２のプロキシシステム１１０に機能構成として更新通知部２１６を更に加えたプロキシシステム２１０を備えて構成される。プロキシシステム２１０とサーバ２２０及びクライアント２３０間の通信の方法は、図２のデータ転送システムと同様である。
【００５９】
プロキシシステム２１０によるプリフェッチにおいて、マニフェスト解析部２１４がマニフェストを解析してマニフェスト又はマニフェスト付随データのＵＲＩをサーバ受付部２１１に送信する処理、サーバ受付部２１１がサーバ２２０に対してマニフェスト又はマニフェスト付随データの要求の送信及び当該要求に対する応答の受信する処理、及びキャッシュ部２１３がマニフェスト又はマニフェスト付随データの保持を行う処理は、図１のプロキシシステム１１０と同様である。
【００６０】
更新通知部２１６は、マニフェスト解析部２１４を通じてマニフェストの属性を取得し、マニフェストの属性からマニフェストのＵＲＩを一意に決定し、通信モジュール５０４を介してサーバ２１０に存在するマニフェストが更新されているかを定期的に確認する。例えば、更新通知部２１６は、サーバ２２０（又はプロキシシステム２１０と通信する他のサーバ。以下同様。）が保持するファイルを横断的に検索（以下、クローリングとする。）してサーバ２２０のマニフェストが更新されていることを確認する。更新通知部２１６は、サーバ２２０に保持されたマニフェストが更新されていることを確認した際に、マニフェスト解析部２１４に対してマニフェストが更新されたことを示すマニフェスト更新通知を送信する。また、更新通知部２１６は、サーバ２２０からマニフェストが更新された旨の通知を受けることによってマニフェストが更新されたことを確認することとしてもよい。
【００６１】
次に、本変形例に係るプロキシシステム２１０の動作及び中継方法について説明する。
【００６２】
図５に、プロキシシステム２１０がサーバ２２０に保持されたマニフェストの更新を把握し、マニフェスト又はマニフェスト付随データをプリフェッチし、クライアント２３０へ送信する際に、プロキシシステム２１０がサーバ２２０及びクライアント２３０と行う相互作用及びプロキシシステム２１０内で行われる処理の一例を時系列に示す。プロキシシステム２１０内の処理の全体制御はＣＰＵ５０１が行う。
【００６３】
マニフェスト又はマニフェスト付随データのプリフェッチを行うために、まず、クライアント２３０からのマニフェストの要求をきっかけとせずに、更新通知部２１６はサーバ２２０に存在するマニフェストが更新されているか否かを定期的に確認し、マニフェストが更新されていることを確認した際に、更新がされたことをマニフェスト解析部２１４に通知する（Ｓ４０１）。
【００６４】
次いで、マニフェスト解析部２１４は、マニフェスト属性記憶部２１５からマニフェストの属性を取得する（Ｓ４０２）。
【００６５】
次いで、マニフェスト解析部２１４は、取得したマニフェストの属性からマニフェスト又はマニフェスト付随データのＵＲＩを生成し、生成したＵＲＩをサーバ受付部１１１へ送信する（Ｓ４０３）。
【００６６】
次いで、サーバ受付部２１１は、受信したＵＲＩを用いてサーバ２２０に対してマニフェスト又はマニフェスト付随データの要求を行う（Ｓ４０４）。
【００６７】
次いで、サーバ２２０は、受信した要求に係るＵＲＩに対応するマニフェスト又はマニフェスト付随データをサーバ受付部２１１へ送信する（Ｓ４０５）。サーバ受付部２１１及びサーバ２２０間の通信（Ｓ４０４及びＳ４０５）は、サーバ受付部２１１が、Ｓ４０３においてマニフェスト解析部２１４が送信したマニフェスト又はマニフェスト付随データのＵＲＩに存在するデータを全て取得するまで続けられる。
【００６８】
次いで、サーバ受付部２１１は、受信したマニフェスト又はマニフェスト付随データをキャッシュ部２１３に保持（キャッシュ）させる（Ｓ４０６）。またこの際に、サーバ受付部２１１は、受信したマニフェストの属性をマニフェスト属性記憶部１１５に保持させることとしてもよい。
【００６９】
以上、Ｓ４０１からＳ４０６の手順により、クライアント２３０からのマニフェスト又はマニフェスト付随データの要求をきっかけとせずに、プロキシシステム２１０はサーバに存在するマニフェストが更新されたことを確認し、最新のマニフェスト又はマニフェスト付随データでプリフェッチを完了する。
【００７０】
その後、クライアント２３０はマニフェスト又はマニフェスト付随データを取得するために、クライアント２３０はマニフェスト又はマニフェスト付随データの要求をクライアント受付部２１２へ送信する（Ｓ４０７）。
【００７１】
次いで、クライアント受付部２１２は、キャッシュ部２１３に対してマニフェスト又はマニフェスト付随データの要求を行う（Ｓ４０８）。
【００７２】
次いで、キャッシュ部２１３において、マニフェスト又はマニフェスト付随データの要求に該当するデータが検索される。マニフェスト又はマニフェスト付随データの要求に該当するデータが存在する場合、キャッシュ部２１３は要求への応答としてマニフェスト又はマニフェスト付随データをクライアント受付部２１２へ送信する。マニフェスト又はマニフェスト付随データの要求に該当するデータが存在しない場合、キャッシュ部２１３は要求に対してデータが存在しないことを示す応答をクライアント受付部１１２へ送信する（Ｓ４０９）。
【００７３】
次いで、クライアント受付部２１２は、受信したキャッシュ部２１３からの応答にマニフェスト又はマニフェスト付随データが含まれていた場合、受信したマニフェスト又はマニフェスト付随データをクライアント２３０へ送信する（Ｓ４１０）。
【００７４】
また、クライアント受付部２１２は、受信したキャッシュ部２１３からの応答にマニフェスト又はマニフェスト付随データが含まれていなかった場合、サーバ受付部２１１に対してマニフェスト又はマニフェスト付随データの要求を行う。サーバ受付部２１１は、クライアント受付部２１２からの要求に応じて、サーバ２２０からマニフェスト又はマニフェスト付随データを取得し、当該取得したデータをクライアント受付部２１２へ送信する。クライアント受付部２１２は、サーバ受付部２１１から受信したマニフェスト又はマニフェスト付随データをクライアント２３０へ送信する。
【００７５】
以上のＳ４０７からＳ４１０の手順により、プロキシシステム２１０は、クライアント２３０から要求されたデータがキャッシュ２１３にキャッシュされている場合、データ取得のためにサーバ２２０と通信せずに、要求に対する応答としてデータをクライアント２３０へ送信する。
【００７６】
以上のように、本変形例におけるプロキシシステム２１０によれば、クライアント２３０からのマニフェスト又はマニフェスト付随データの要求をきっかけとせずに、プロキシシステム２１０はサーバに存在するマニフェストが更新されたことを確認し、最新のマニフェスト又はマニフェスト付随データでプリフェッチをする。従って、クライアント２３０からの要求があるか否かに関わらずキャッシュ部２１３に最新のマニフェスト又はマニフェスト付随データが保持されるため、クライアント受付部２１２はサーバ受付部に要求を送信することなくクライアント２３０に最新のマニフェスト又はマニフェスト付随データを送信する。
【００７７】
本変形例は更に、更新通知部２１６が、マニフェスト解析部２１４を通じてマニフェストの属性を取得し、取得したマニフェストの属性から一意に特定されたマニフェストのＵＲＩを元にサーバに含まれるＷｅｂページを取得し、かかるＷｅｂページに関連するＷｅｂページ又はマニフェストへのリンク情報を機能的に辿ることができることとしてもよい。そのようにすることで、更新通知部２１６は、最初に提示された以外の新規のマニフェストの所在を発見し、キャッシュ部２１３に新規のマニフェストをキャッシュすることができ、更にマニフェスト解析部２１４を通じてマニフェスト属性記憶部２１５にマニフェストの属性を新しく記憶できる。
【００７８】
本変形例は更に、次のような変形としてもよい。すなわち、更新通知部２１６から送信されマニフェスト解析部２１４が受信する更新通知にはマニフェストのＵＲＩが含まれており、マニフェスト解析部２１４は、受信したＵＲＩと同一のＵＲＩである属性を保持するマニフェストをマニフェスト属性記憶部２１５から取得する。次いで、マニフェスト解析部２１４は、取得したマニフェスト又はそのマニフェストに対応するマニフェスト付随データのＵＲＩをサーバ受付部２１１に送信する。次いで、サーバ受付部２１１は、サーバ２２０からマニフェスト又はマニフェスト付随データを受信して当該受信したデータをキャッシュ部２１３にキャッシュすることにより、マニフェスト又はマニフェスト付随データを更新しても良い。そのようにすることで、サーバ受付部２１１がサーバ２２０の更新確認をしてキャッシュ部２１３のマニフェスト又はマニフェスト付随データを更新する際の無駄なトラフィック量を低減させることができる。
【図面の簡単な説明】
【００７９】
【図１】プロキシシステムのハードウェア構成を示すブロック図である。
【図２】プロキシシステムを備えるデータ転送システムを示すシステム構成図である。
【図３】プロキシシステムがサーバ及びクライアントと行う相互作用及びプロキシシステム内で行われる処理を時系列に示すシーケンス図である。
【図４】プロキシシステムを備えるデータ転送システムの変形例を示すシステム構成図である。
【図５】プロキシシステムがサーバ及びクライアントと行う相互作用及びプロキシシステム内で行われる処理の変形例を時系列に示すシーケンス図である。
【符号の説明】
【００８０】
１００、２００  データ転送システム
１１０、２１０  プロキシシステム
１１１、２１１  サーバ受付部
１１２、２１２  クライアント受付部
１１３、２１３  キャッシュ部
１１４、２１４  マニフェスト解析部
１１５、２１５  マニフェスト属性記憶部
２１６、２１６  更新通知部
１２０、２２０  サーバ
１２１、２２１  Ｗｅｂサービス
５０１  ＣＰＵ
５０２  ＲＡＭ
５０３  ＲＯＭ
５０４  通信モジュール
５０５  補助記憶装置
５０６  入力装置
５０７  出力装置
Ｎ  通信パス
【図１】
2009187466.tif 000003
【図２】
2009187466.tif 000004
【図３】
2009187466.tif 000005
【図４】
2009187466.tif 000006
【図５】
2009187466.tif 000007