JP2009187466A - プロキシシステム及び中継方法 - Google Patents
プロキシシステム及び中継方法 Download PDFInfo
- Publication number
- JP2009187466A JP2009187466A JP2008029198A JP2008029198A JP2009187466A JP 2009187466 A JP2009187466 A JP 2009187466A JP 2008029198 A JP2008029198 A JP 2008029198A JP 2008029198 A JP2008029198 A JP 2008029198A JP 2009187466 A JP2009187466 A JP 2009187466A
- Authority
- JP
- Japan
- Prior art keywords
- manifest
- data
- server
- client
- unit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
- H04L67/5681—Pre-fetching or pre-delivering data based on network characteristics
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
Abstract
【課題】プリフェッチによってクライアントへのデータ取得の高速化が可能な状況の拡大を図るプロキシシステム及び中継方法を提供すること。
【解決手段】マニフェスト解析部114は、マニフェスト属性記憶部115に記憶されたマニフェストの属性データを解析する。サーバ受付部111は、マニフェスト解析部114による解析結果に応じて又はクライアント受付部111からの要求に応じてサーバ120からマニフェストデータ又はマニフェスト付随データを取得する。キャッシュ部113は、サーバ受付部111が取得したマニフェストデータ又はマニフェスト付随データをキャッシュする。クライアント受付部112は、クライアント130から要求されたデータがキャッシュ部113にキャッシュされている場合は当該キャッシュされているデータを取得してクライアント130へ送信する。
【選択図】図2
【解決手段】マニフェスト解析部114は、マニフェスト属性記憶部115に記憶されたマニフェストの属性データを解析する。サーバ受付部111は、マニフェスト解析部114による解析結果に応じて又はクライアント受付部111からの要求に応じてサーバ120からマニフェストデータ又はマニフェスト付随データを取得する。キャッシュ部113は、サーバ受付部111が取得したマニフェストデータ又はマニフェスト付随データをキャッシュする。クライアント受付部112は、クライアント130から要求されたデータがキャッシュ部113にキャッシュされている場合は当該キャッシュされているデータを取得してクライアント130へ送信する。
【選択図】図2
Description
本発明は、プロキシシステム及び中継方法に関し、より詳細には、マニフェスト又はマニフェストに付随するデータをキャッシュするプロキシシステム及び中継方法に関する。
アプリケーションシステムの形態として、Webアプリケーションシステムが知られている。Webアプリケーションシステムが用いるクライアント上のファイル(又はファイル以外のデータ。以下同様。)をサーバ上のファイルと同期させるメカニズムとして、マニフェストを用いる方法がある。マニフェストを用いる方法においては、クライアントがサーバからデータを高速に取得可能であることが必要である。クライアントがデータを高速に取得可能とするために、クライアントが要求したデータに基づいてクライアントが今後要求するデータを特定し、当該データをクライアントの要求前にサーバから取得(以下、「プリフェッチ」と呼ぶ。)し、プロキシシステムに保持する技術が知られている(例えば、特許文献1)。
しかしながら、上記従来技術には次のような問題があった。すなわち、1)クライアントがデータを要求した後にそのデータに付随するデータをプリフェッチするため、クライアントが初めて要求したデータはその要求の際にプリフェッチされていない。更に、2)サーバと上記従来技術によるプロキシシステム間の通信速度が低速である場合には、プリフェッチによるデータ取得を高速化する効果を得にくい。
本発明の課題は、プリフェッチによってクライアントへのデータ取得の高速化が可能な状況の拡大を図るプロキシシステム及び中継方法を提供することである。
上記課題を解決するために、本発明に係るプロキシシステムは、サーバ及びクライアント間の通信を中継するプロキシシステムであって、前記サーバが保持するマニフェストデータに対応するマニフェストの属性データが記憶されるマニフェスト属性記憶部と、前記マニフェスト属性記憶部に記憶されたマニフェストの属性データを解析するマニフェスト解析部と、前記マニフェスト解析部による解析結果に応じて、前記サーバからマニフェストデータ又はマニフェスト付随データを取得するサーバ受付部と、前記サーバ受付部が取得したマニフェストデータ又はマニフェスト付随データをキャッシュするキャッシュ部と、前記クライアントからのマニフェストデータ又はマニフェスト付随データの取得要求に応じて、当該要求されたデータを前記キャッシュ部から取得して当該クライアントへ送信するクライアント受付部とを有することを特徴とする。
また、上記課題を解決するために、本発明に係る中継方法は、サーバ及びクライアント間の通信を中継する中継方法であって、前記サーバが保持するマニフェストデータに対応するマニフェストの属性データが記憶されるマニフェスト属性記憶ステップと、前記マニフェスト属性記憶ステップで記憶されたマニフェストの属性データを解析するマニフェスト解析ステップと、前記マニフェスト解析ステップによる解析結果に応じて、前記サーバからマニフェストデータ又はマニフェスト付随データを取得するサーバ受付ステップと、前記サーバ受付ステップが取得したマニフェストデータ又はマニフェスト付随データをキャッシュするキャッシュステップと、前記クライアントからのマニフェストデータ又はマニフェスト付随データの取得要求に応じて、当該要求されたデータを前記キャッシュステップから取得して当該クライアントへ送信するクライアント受付ステップとを有することを特徴とする。
これらの構成によれば、クライアントがマニフェストデータを要求しているか否かに関わらず、マニフェスト解析部又はステップは、マニフェスト属性記憶部又はステップから取得した各マニフェストの属性を元に、マニフェストデータ又はマニフェスト付随データをサーバから取得するようにサーバ受付部又はステップに対して要求し、キャッシュ部又はステップはマニフェストデータ又はマニフェスト付随データを保持できる。これにより、クライアントが初めて要求したマニフェストデータ又はマニフェスト付随データであっても既にキャッシュ部又はステップはマニフェストデータ又はマニフェスト付随データを保持しており、サーバにデータ要求をすることなく直ぐにクライアントにマニフェストデータ又はマニフェスト付随データを送信できる。また、サーバとプロキシシステム間の通信速度よりクライアントとプロキシシステム間の通信速度の方が低速な場合においても、クライアントがマニフェスト付随データを要求する前にキャッシュ部はマニフェスト付随データを保持できる。
また、前記サーバ上に保持されているマニフェストデータが更新されているか否かを確認し、更新されていた場合は当該確認結果を前記マニフェスト解析部に通知する更新通知部を有し、前記マニフェスト解析部は、前記更新通知部からの通知に基づいて、前記マニフェスト属性記憶部に記憶されたマニフェストの属性データを解析することが好適である。
同様に、前記サーバ上に保持されているマニフェストデータが更新されているか否かを確認し、更新されていた場合は当該確認結果を前記マニフェスト解析ステップに通知する更新通知ステップを有し、前記マニフェスト解析ステップは、前記更新通知ステップからの通知に基づいて、前記マニフェスト属性記憶ステップで記憶されたマニフェストの属性データを解析することが好適である。
また、本発明に係るプロキシシステムにおいて、前記更新通知部は、前記サーバのファイルを横断的にクローリングして、マニフェストデータが更新されているか否かを確認することが好適である。
同様に、本発明に係る中継方法において、前記更新通知ステップは、前記サーバのファイルを横断的にクローリングして、マニフェストデータが更新されているか否かを確認することが好適である。
また、本発明に係るプロキシシステムにおいて、前記更新通知部は、前記サーバから通知を受けることによって当該サーバが保持するマニフェストが更新されたことを確認することが好適である。
同様に、本発明に係る中継方法において、前記更新通知ステップは、前記サーバから通知を受けることによって当該サーバが保持するマニフェストが更新されたことを確認することが好適である。
また、本発明に係るプロキシシステムにおいて、前記マニフェスト解析部は、前記マニフェスト属性記憶部に記憶されたマニフェストの属性データを解析して前記マニフェストデータ又はマニフェスト付随データの所在を示すURI(Uniform Resource Identifier)を生成し、前記サーバ受付部は、前記マニフェスト解析部が生成したURIを用いて前記サーバからマニフェストデータ又はマニフェスト付随データを取得することが好適である。
同様に、本発明に係る中継方法において、前記マニフェスト解析ステップは、前記マニフェスト属性記憶ステップで記憶されたマニフェストの属性データを解析して前記マニフェストデータ又はマニフェスト付随データの所在を示すURIを生成し、前記サーバ受付ステップは、前記マニフェスト解析ステップが生成したURIを用いて前記サーバからマニフェストデータ又はマニフェスト付随データを取得することが好適である。
これらの構成により、マニフェストデータ又はマニフェスト付随データの所在を一意に決定してサーバに対してデータ取得要求をすることができる。
また、本発明に係るプロキシシステムにおいて、前記マニフェスト属性記憶部は、マニフェストの属性データを構造的な形式で記憶することが好適である。
同様に、本発明に係る中継方法において、前記マニフェスト属性記憶ステップは、マニフェストの属性データを構造的な形式で記憶することが好適である。
これらの構成により、構造的に記載されたマニフェストデータ又はマニフェスト付随データの内容をその構造を保ったまま保持することができる。
本発明によれば、プリフェッチによってクライアントへのデータ取得の高速化が可能な状況の拡大を図るプロキシシステム及び中継方法を提供することができる。
以下、図面を参照して、本発明の好適な一実施形態を詳細に説明するが、様々な修正を加えた形態又は代替形態によって本発明を実施可能である。本発明を以下に説明する特定の実施形態に限定する意図はなく、本発明は特許請求の範囲によって定義される本発明の趣旨及び範囲内に含まれる全ての変更形態、均等形態、及び代替形態におよぶ。以下に説明する実施形態は、本発明の具体的な発明形態の特徴を強調するために選択されたものである。
本発明における同一の符号は、図の記述全体を通して同一の要素を指す。
要素が「接続」又は「統合」されるものとして言及されるとき、これらの要素は相互に直接接続又は統合されていることを示し、また、1つ又は複数の介在要素があってもよい。
まず、図1に、本発明の実施形態に係るプロキシシステムのハードウェア構成を示す。プロキシシステム110は、各種装置間の通信の間に介在し、当該通信を中継するコンピュータ装置である。プロキシシステム110は、CPU(Central Processing Unit)501、RAM(Random Access Memory)502、ROM(Read Only Memory)503、通信モジュール504、補助記憶装置505、入力装置506、出力装置507を備える。
CPU501は、ROM503、又は補助記憶装置505等に記憶された制御プログラム等のデータをRAM502に展開し、当該プログラム等に従って各種演算処理を行い、プロキシシステム110の各部の動作を集中制御するプロセッサである。通信モジュール504は、ネットワークカード等の通信デバイスであり、通信パスNに接続された他の装置と各種データの送受信を行う。補助記憶装置505は、ハードディスク等の大容量記憶媒体である。入力装置506は、キーボード又はマウス等の入力デバイスである。出力装置507は、ディスプレイなどの出力デバイスである。
次に、本発明の実施形態に係るプロキシシステム110を備えるデータ転送システムの構成及び動作について説明する。
図2に、データ転送システムの構成を示す。データ転送システム100は、プロキシシステム110、サーバ120、クライアント130を備えて構成される。プロキシシステム110は、サーバ120及びクライアント130と通信パスによって接続されて、サーバ120及びクライアント130間の通信を中継する。各通信パスは有線或いは無線を問わず、通信パスの間にネットワークが介在してもよい。図示しないが、プロキシシステム110は、複数のサーバ又はクライアントと接続しうる。
サーバ120は、ワークステーション等のサーバ装置又は複数のサーバ装置で構成されたシステムである。サーバ120は、そのサービス又は機能としてWebサービス121を有し、Webサービス121等に関係するマニフェストデータ等を保持又は配信等する。
ここで、マニフェストデータとは、Webサービス121等のサーバ120が提供するサービスや機能をクライアント130で実行する際に、クライアント上にダウンロードする必要があるデータ(ファイル等)についての情報を含んだデータである。マニフェストデータは、例えば、HTML(HyperText Markup Language)やXML(Extensible Markup Language)のような構造的なテキストの形式で記述されている。マニフェストデータは、そのデータ構成として、「マニフェストの属性」及び「マニフェスト付随データ」を含む。マニフェストの属性としては、例えば、マニフェストデータのバージョン情報、記述形式に関する情報、マニフェストが存在するURI、又はマニフェスト付随データの一覧等が含まれる。マニフェスト付随データとしては、例えば、クライアントにキャッシュすべきファイルのURI、そのファイルをクライアントにキャッシュする際の保存名、又はそのファイルをキャッシュすべきか否かのデータが含まれる。
クライアント130は、ブラウザ131の機能等を有し、サーバ120が提供するサービスや機能を実行可能な携帯電話等のクライアント端末装置である。
プロキシシステム110は、機能的な構成として、サーバ受付部(サーバ受付ステップ)111、クライアント受付部(クライアント受付ステップ)112、キャッシュ部(キャッシュステップ)113、マニフェスト解析部(マニフェスト解析ステップ)114、及びマニフェスト属性記憶部(マニフェスト属性記憶ステップ)115を有する。各機能は、前述のプロキシシステム110を構成するハードウェア各部の動作の共同によって実現される。
サーバ受付部111は、クライアント受付部112又はマニフェスト解析部114からサーバ120のデータ取得の要求を受け付ける。サーバ受付部111は、通信モジュール504を介して、受けた要求に応じた特定のデータの取得要求をサーバ120に対して行い、その応答として要求したデータをサーバ120から取得する。サーバ受付部111は、クライアント受付部112からの要求に応じてデータを取得した場合、クライアント受付部112へ取得したデータを送信し、更に当該データをキャッシュ部113にキャッシュする。マニフェスト解析部114からの要求に応じてデータを取得した場合、取得したデータをキャッシュ部113にキャッシュする。
クライアント受付部112は、通信モジュール504を介して、クライアント130のブラウザ131からデータ取得要求を受け付ける。要求されたデータがキャッシュ部113にキャッシュされている場合、クライアント受付部112は、キャッシュ113から該当するデータを取得して、通信モジュール504を介してブラウザ131へ当該データを送信する。要求されたデータがキャッシュ部113にキャッシュされていない場合、クライアント受付部112は、サーバ受付部111から該当するデータを取得して、通信モジュール504を介してブラウザ131へ当該データを送信する。
キャッシュ部113は、サーバ受付部111から受信したデータを補助記憶装置505等の記憶媒体に記憶することによって、当該データを保持(キャッシュ)する。また、キャッシュ部113は、クライアント受付部112からデータの要求を受け付け、要求されたデータを保持している場合は、当該データをクライアント受付部112へ送信する。キャッシュ部113に保持されるデータとしては、例えば、マニフェストデータ等のクライアントへ送信するデータが含まれる。例えば、マニフェストデータは、XMLなどの構造的な形式でキャッシュ部113に記憶されている。
マニフェスト解析部114は、マニフェストの属性をマニフェスト属性記憶部115から取り出し、任意のマニフェストの解析を行い、当該解析結果に基づいてサーバ受付部111にデータ取得要求を行う。
例えば、マニフェスト解析部114は、マニフェスト属性記憶部115に記憶されたデータを解析することによってマニフェストの解析をする。その解析結果によってそのマニフェスト付随データをキャッシュ部113に新たにキャッシュすべきと判断した場合、マニフェストが存在するURIからマニフェスト付随データが存在するURIを組み立てる。マニフェスト解析部114は、サーバ受付部111にデータ取得要求をする際に、当該要求と共に組み立てたマニフェストのURI及びマニフェスト付随データのURIを送信する。
マニフェスト属性記憶部115は、マニフェストの属性データを補助記憶装置505等の記憶媒体に記憶することによって、当該データを保持する。マニフェスト属性記憶部115に保持されるマニフェストの属性の例としては、マニフェストが存在するURI、マニフェスト解析部114がマニフェストのデータ取得要求を送信した日時、マニフェストのバージョン、マニフェスト付随データの一覧が挙げられる。サーバ120のサービスが開始された際、又はプロキシシステム110のサービスが開始された際などに、マニフェスト属性記憶部115にWebサービス121に関係する全てのマニフェストの属性が保持される。例えば、マニフェストの属性データは、XMLなどの構造的な形式でマニフェスト属性記憶部115に記憶されている。
次に、本実施形態に係るプロキシシステム110の動作及び中継方法について説明する。
図3に、プロキシシステム110がマニフェスト又はマニフェスト付随データをプリフェッチしクライアント130へ送信する際に、プロキシシステム110がサーバ120及びクライアント130と行う相互作用及びプロキシシステム110内で行われる処理の一例を時系列に示す。プロキシシステム110内の処理の全体制御はCPU501が行う。
マニフェスト又はマニフェスト付随データのプリフェッチを行うために、まず、マニフェスト解析部114は、マニフェスト属性記憶部115からマニフェストの属性を取得する(S301)。
次いで、マニフェスト解析部114は、取得したマニフェストの属性を解析する。解析の結果、マニフェストデータをキャッシュする必要があると判断した場合には、その解析結果からマニフェスト又はマニフェスト付随データのURIを生成し、生成したURIをサーバ受付部111へ送信する(S302)。
マニフェストデータをキャッシュする必要があると判断した場合とは、例えば、キャッシュ部113が最新のキャッシュを保持していない場合や、キャッシュすべきとマニフェストに示されているがまだキャッシュされていないファイルがある場合などである。マニフェスト解析部114の解析結果からマニフェスト又はマニフェスト付随データのURIを生成する方法としては、例えば、マニフェストの属性の解析結果に基づいて、マニフェスト属性記憶部115に記憶されたマニフェストが存在するURIを取得する。
次いで、サーバ受付部111は、受信したURIを用いてサーバ120に対してマニフェスト又はマニフェスト付随データの要求を行う(S303)。
次いで、サーバ120は、受信した要求に係るURIに対応するマニフェスト又はマニフェスト付随データをサーバ受付部111へ送信する(S304)。サーバ受付部111及びサーバ120間の通信(S303及びS304)は、サーバ受付部111が、S302においてマニフェスト解析部114が送信したマニフェスト又はマニフェスト付随データのURIに存在するデータを全て取得するまで続けられる。
次いで、サーバ受付部111は、受信したマニフェスト又はマニフェスト付随データをキャッシュ部113に保持(キャッシュ)させる(S305)。
以上、S301からS305の手順により、クライアント130からのマニフェスト又はマニフェスト付随データの要求の前に、プリフェッチは完了する。
その後、クライアント130はマニフェスト又はマニフェスト付随データを取得するために、クライアント130はマニフェスト又はマニフェスト付随データの要求をクライアント受付部112へ送信する(S306)。
次いで、クライアント受付部112は、キャッシュ部113に対してマニフェスト又はマニフェスト付随データの要求を行う(S307)。
次いで、キャッシュ部113において、マニフェスト又はマニフェスト付随データの要求に該当するデータが検索される。マニフェスト又はマニフェスト付随データの要求に該当するデータが存在する場合、キャッシュ部113は要求への応答としてマニフェスト又はマニフェスト付随データをクライアント受付部112へ送信する。マニフェスト又はマニフェスト付随データの要求に該当するデータが存在しない場合、キャッシュ部113は要求に対してデータが存在しないことを示す応答をクライアント受付部112へ送信する(S308)。
次いで、クライアント受付部112は、受信したキャッシュ部113からの応答にマニフェスト又はマニフェスト付随データが含まれていた場合、受信したマニフェスト又はマニフェスト付随データをクライアント130へ送信する(S309)。
また、クライアント受付部112は、受信したキャッシュ部113からの応答にマニフェスト又はマニフェスト付随データが含まれていなかった場合、サーバ受付部111に対してマニフェスト又はマニフェスト付随データの要求を行う。サーバ受付部111は、クライアント受付部112からの要求に応じて、サーバ120からマニフェスト又はマニフェスト付随データを取得し、当該取得したデータをクライアント受付部112へ送信する。クライアント受付部112は、サーバ受付部111から受信したマニフェスト又はマニフェスト付随データをクライアント130へ送信する。
以上、S306からS309の手順により、プロキシシステム110は、クライアント130から要求されたデータがキャッシュ113にキャッシュされている場合、データ取得のためにサーバ120と通信せずに、要求に対する応答としてデータをクライアント130へ送信する。
なお、説明の便宜上、クライアント受付部112は、S301からS305のプリフェッチの完了後、マニフェスト又はマニフェスト付随データの要求(S306)をクライアント130から受信することとして説明しているが、プリフェッチの完了がS306の開始のきっかけとなるわけではない。S306は任意のタイミングでクライアント230によって開始され、S306で要求されたマニフェスト又はマニフェストデータが既にプリフェッチされている場合に、クライアント受付部212は、要求されたマニフェスト又はマニフェストデータをキャッシュ部213から受信して、クライアント130へ送信する。以降の変形例においても同様である。
以上のように、本実施形態におけるプロキシシステム110によれば、マニフェスト解析部114はクライアント130からの要求が送信される前に任意のタイミングでマニフェストの解析を行い、マニフェスト又はマニフェスト付随データのURIをサーバ受付部111に送信する。その後、サーバ受付部111はマニフェスト又はマニフェスト付随データをサーバ120から取得してキャッシュ部113に保持することによりプリフェッチする。従って、クライアント130からの要求があるか否かに関わらずキャッシュ部113にマニフェスト又はマニフェスト付随データが保持されるため、クライアント受付部112はサーバ受付部に要求を送信することなくクライアント130にマニフェスト又はマニフェスト付随データを送信する。その結果、クライアント130におけるマニフェスト又はマニフェスト付随データの要求の送信から当該要求に対する応答の受信までの時間が低減される。
次に、本実施形態に係るプロキシシステムの変形例について説明する。
本変形例に係るプロキシシステムのハードウェア構成は、前述の図1と同様である。
図4に、本変形例に係るプロキシシステムを備えるデータ転送システムの構成を示す。本データ転送システム200は、図2に示したデータ転送システムと同様にサーバ220及びクライアント230を備え、図2のプロキシシステム110に機能構成として更新通知部216を更に加えたプロキシシステム210を備えて構成される。プロキシシステム210とサーバ220及びクライアント230間の通信の方法は、図2のデータ転送システムと同様である。
プロキシシステム210によるプリフェッチにおいて、マニフェスト解析部214がマニフェストを解析してマニフェスト又はマニフェスト付随データのURIをサーバ受付部211に送信する処理、サーバ受付部211がサーバ220に対してマニフェスト又はマニフェスト付随データの要求の送信及び当該要求に対する応答の受信する処理、及びキャッシュ部213がマニフェスト又はマニフェスト付随データの保持を行う処理は、図1のプロキシシステム110と同様である。
更新通知部216は、マニフェスト解析部214を通じてマニフェストの属性を取得し、マニフェストの属性からマニフェストのURIを一意に決定し、通信モジュール504を介してサーバ210に存在するマニフェストが更新されているかを定期的に確認する。例えば、更新通知部216は、サーバ220(又はプロキシシステム210と通信する他のサーバ。以下同様。)が保持するファイルを横断的に検索(以下、クローリングとする。)してサーバ220のマニフェストが更新されていることを確認する。更新通知部216は、サーバ220に保持されたマニフェストが更新されていることを確認した際に、マニフェスト解析部214に対してマニフェストが更新されたことを示すマニフェスト更新通知を送信する。また、更新通知部216は、サーバ220からマニフェストが更新された旨の通知を受けることによってマニフェストが更新されたことを確認することとしてもよい。
次に、本変形例に係るプロキシシステム210の動作及び中継方法について説明する。
図5に、プロキシシステム210がサーバ220に保持されたマニフェストの更新を把握し、マニフェスト又はマニフェスト付随データをプリフェッチし、クライアント230へ送信する際に、プロキシシステム210がサーバ220及びクライアント230と行う相互作用及びプロキシシステム210内で行われる処理の一例を時系列に示す。プロキシシステム210内の処理の全体制御はCPU501が行う。
マニフェスト又はマニフェスト付随データのプリフェッチを行うために、まず、クライアント230からのマニフェストの要求をきっかけとせずに、更新通知部216はサーバ220に存在するマニフェストが更新されているか否かを定期的に確認し、マニフェストが更新されていることを確認した際に、更新がされたことをマニフェスト解析部214に通知する(S401)。
次いで、マニフェスト解析部214は、マニフェスト属性記憶部215からマニフェストの属性を取得する(S402)。
次いで、マニフェスト解析部214は、取得したマニフェストの属性からマニフェスト又はマニフェスト付随データのURIを生成し、生成したURIをサーバ受付部111へ送信する(S403)。
次いで、サーバ受付部211は、受信したURIを用いてサーバ220に対してマニフェスト又はマニフェスト付随データの要求を行う(S404)。
次いで、サーバ220は、受信した要求に係るURIに対応するマニフェスト又はマニフェスト付随データをサーバ受付部211へ送信する(S405)。サーバ受付部211及びサーバ220間の通信(S404及びS405)は、サーバ受付部211が、S403においてマニフェスト解析部214が送信したマニフェスト又はマニフェスト付随データのURIに存在するデータを全て取得するまで続けられる。
次いで、サーバ受付部211は、受信したマニフェスト又はマニフェスト付随データをキャッシュ部213に保持(キャッシュ)させる(S406)。またこの際に、サーバ受付部211は、受信したマニフェストの属性をマニフェスト属性記憶部115に保持させることとしてもよい。
以上、S401からS406の手順により、クライアント230からのマニフェスト又はマニフェスト付随データの要求をきっかけとせずに、プロキシシステム210はサーバに存在するマニフェストが更新されたことを確認し、最新のマニフェスト又はマニフェスト付随データでプリフェッチを完了する。
その後、クライアント230はマニフェスト又はマニフェスト付随データを取得するために、クライアント230はマニフェスト又はマニフェスト付随データの要求をクライアント受付部212へ送信する(S407)。
次いで、クライアント受付部212は、キャッシュ部213に対してマニフェスト又はマニフェスト付随データの要求を行う(S408)。
次いで、キャッシュ部213において、マニフェスト又はマニフェスト付随データの要求に該当するデータが検索される。マニフェスト又はマニフェスト付随データの要求に該当するデータが存在する場合、キャッシュ部213は要求への応答としてマニフェスト又はマニフェスト付随データをクライアント受付部212へ送信する。マニフェスト又はマニフェスト付随データの要求に該当するデータが存在しない場合、キャッシュ部213は要求に対してデータが存在しないことを示す応答をクライアント受付部112へ送信する(S409)。
次いで、クライアント受付部212は、受信したキャッシュ部213からの応答にマニフェスト又はマニフェスト付随データが含まれていた場合、受信したマニフェスト又はマニフェスト付随データをクライアント230へ送信する(S410)。
また、クライアント受付部212は、受信したキャッシュ部213からの応答にマニフェスト又はマニフェスト付随データが含まれていなかった場合、サーバ受付部211に対してマニフェスト又はマニフェスト付随データの要求を行う。サーバ受付部211は、クライアント受付部212からの要求に応じて、サーバ220からマニフェスト又はマニフェスト付随データを取得し、当該取得したデータをクライアント受付部212へ送信する。クライアント受付部212は、サーバ受付部211から受信したマニフェスト又はマニフェスト付随データをクライアント230へ送信する。
以上のS407からS410の手順により、プロキシシステム210は、クライアント230から要求されたデータがキャッシュ213にキャッシュされている場合、データ取得のためにサーバ220と通信せずに、要求に対する応答としてデータをクライアント230へ送信する。
以上のように、本変形例におけるプロキシシステム210によれば、クライアント230からのマニフェスト又はマニフェスト付随データの要求をきっかけとせずに、プロキシシステム210はサーバに存在するマニフェストが更新されたことを確認し、最新のマニフェスト又はマニフェスト付随データでプリフェッチをする。従って、クライアント230からの要求があるか否かに関わらずキャッシュ部213に最新のマニフェスト又はマニフェスト付随データが保持されるため、クライアント受付部212はサーバ受付部に要求を送信することなくクライアント230に最新のマニフェスト又はマニフェスト付随データを送信する。
本変形例は更に、更新通知部216が、マニフェスト解析部214を通じてマニフェストの属性を取得し、取得したマニフェストの属性から一意に特定されたマニフェストのURIを元にサーバに含まれるWebページを取得し、かかるWebページに関連するWebページ又はマニフェストへのリンク情報を機能的に辿ることができることとしてもよい。そのようにすることで、更新通知部216は、最初に提示された以外の新規のマニフェストの所在を発見し、キャッシュ部213に新規のマニフェストをキャッシュすることができ、更にマニフェスト解析部214を通じてマニフェスト属性記憶部215にマニフェストの属性を新しく記憶できる。
本変形例は更に、次のような変形としてもよい。すなわち、更新通知部216から送信されマニフェスト解析部214が受信する更新通知にはマニフェストのURIが含まれており、マニフェスト解析部214は、受信したURIと同一のURIである属性を保持するマニフェストをマニフェスト属性記憶部215から取得する。次いで、マニフェスト解析部214は、取得したマニフェスト又はそのマニフェストに対応するマニフェスト付随データのURIをサーバ受付部211に送信する。次いで、サーバ受付部211は、サーバ220からマニフェスト又はマニフェスト付随データを受信して当該受信したデータをキャッシュ部213にキャッシュすることにより、マニフェスト又はマニフェスト付随データを更新しても良い。そのようにすることで、サーバ受付部211がサーバ220の更新確認をしてキャッシュ部213のマニフェスト又はマニフェスト付随データを更新する際の無駄なトラフィック量を低減させることができる。
100、200 データ転送システム
110、210 プロキシシステム
111、211 サーバ受付部
112、212 クライアント受付部
113、213 キャッシュ部
114、214 マニフェスト解析部
115、215 マニフェスト属性記憶部
216、216 更新通知部
120、220 サーバ
121、221 Webサービス
501 CPU
502 RAM
503 ROM
504 通信モジュール
505 補助記憶装置
506 入力装置
507 出力装置
N 通信パス
110、210 プロキシシステム
111、211 サーバ受付部
112、212 クライアント受付部
113、213 キャッシュ部
114、214 マニフェスト解析部
115、215 マニフェスト属性記憶部
216、216 更新通知部
120、220 サーバ
121、221 Webサービス
501 CPU
502 RAM
503 ROM
504 通信モジュール
505 補助記憶装置
506 入力装置
507 出力装置
N 通信パス
Claims (14)
- サーバ及びクライアント間の通信を中継するプロキシシステムであって、
前記サーバが保持するマニフェストデータに対応するマニフェストの属性データが記憶されるマニフェスト属性記憶部と、
前記マニフェスト属性記憶部に記憶されたマニフェストの属性データを解析するマニフェスト解析部と、
前記マニフェスト解析部による解析結果に応じて、前記サーバからマニフェストデータ又はマニフェスト付随データを取得するサーバ受付部と、
前記サーバ受付部が取得したマニフェストデータ又はマニフェスト付随データをキャッシュするキャッシュ部と、
前記クライアントからのマニフェストデータ又はマニフェスト付随データの取得要求に応じて、当該要求されたデータを前記キャッシュ部から取得して当該クライアントへ送信するクライアント受付部と
を有することを特徴とするプロキシシステム。 - 前記サーバ受付部は、前記マニフェスト解析部による解析結果に応じて、又は前記クライアント受付部からの要求に応じて、前記サーバからマニフェストデータ又はマニフェスト付随データを取得し、
前記クライアント受付部は、前記クライアントから要求されたデータが前記キャッシュ部にキャッシュされていない場合、前記サーバ受付部に対して当該要求されたデータの取得要求をして、得られたデータを当該クライアントへ送信すること
を特徴とする請求項1に記載のプロキシシステム。 - 前記サーバ上に保持されているマニフェストデータが更新されているか否かを確認し、更新されていた場合は当該確認結果を前記マニフェスト解析部に通知する更新通知部を有し、
前記マニフェスト解析部は、前記更新通知部からの通知に基づいて、前記マニフェスト属性記憶部に記憶されたマニフェストの属性データを解析すること
を特徴とする請求項1又は請求項2に記載のプロキシシステム。 - 前記更新通知部は、前記サーバのファイルを横断的にクローリングして、マニフェストデータが更新されているか否かを確認することを特徴とする請求項3に記載のプロキシシステム。
- 前記更新通知部は、前記サーバから通知を受けることによって当該サーバが保持するマニフェストが更新されたことを確認することを特徴とする請求項3に記載のプロキシシステム。
- 前記マニフェスト解析部は、前記マニフェスト属性記憶部に記憶されたマニフェストの属性データを解析して前記マニフェストデータ又はマニフェスト付随データの所在を示すURIを生成し、
前記サーバ受付部は、前記マニフェスト解析部が生成したURIを用いて前記サーバからマニフェストデータ又はマニフェスト付随データを取得すること
を特徴とする請求項1から請求項3のいずれか1項に記載のプロキシシステム。 - 前記マニフェスト属性記憶部は、マニフェストの属性データを構造的な形式で記憶することを特徴とする請求項1から請求項3のいずれか1項に記載のプロキシシステム。
- サーバ及びクライアント間の通信を中継する中継方法であって、
前記サーバが保持するマニフェストデータに対応するマニフェストの属性データが記憶されるマニフェスト属性記憶ステップと、
前記マニフェスト属性記憶ステップで記憶されたマニフェストの属性データを解析するマニフェスト解析ステップと、
前記マニフェスト解析ステップによる解析結果に応じて、前記サーバからマニフェストデータ又はマニフェスト付随データを取得するサーバ受付ステップと、
前記サーバ受付ステップが取得したマニフェストデータ又はマニフェスト付随データをキャッシュするキャッシュステップと、
前記クライアントからのマニフェストデータ又はマニフェスト付随データの取得要求に応じて、当該要求されたデータを前記キャッシュステップから取得して当該クライアントへ送信するクライアント受付ステップと
を有することを特徴とする中継方法。 - 前記サーバ受付ステップは、前記マニフェスト解析ステップによる解析結果に応じて、又は前記クライアント受付ステップからの要求に応じて、前記サーバからマニフェストデータ又はマニフェスト付随データを取得し、
前記クライアント受付ステップは、前記クライアントから要求されたデータが前記キャッシュステップにキャッシュされていない場合、前記サーバ受付ステップに対して当該要求されたデータの取得要求をして、得られたデータを当該クライアントへ送信すること
を特徴とする請求項8に記載の中継方法。 - 前記サーバ上に保持されているマニフェストデータが更新されているか否かを確認し、更新されていた場合は当該確認結果を前記マニフェスト解析ステップに通知する更新通知ステップを有し、
前記マニフェスト解析ステップは、前記更新通知ステップからの通知に基づいて、前記マニフェスト属性記憶ステップで記憶されたマニフェストの属性データを解析すること
を特徴とする請求項8又は請求項9に記載の中継方法。 - 前記更新通知ステップは、前記サーバのファイルを横断的にクローリングして、マニフェストデータが更新されているか否かを確認することを特徴とする請求項10に記載の中継方法。
- 前記更新通知ステップは、前記サーバから通知を受けることによって当該サーバが保持するマニフェストが更新されたことを確認することを特徴とする請求項10に記載の中継方法。
- 前記マニフェスト解析ステップは、前記マニフェスト属性記憶ステップで記憶されたマニフェストの属性データを解析して前記マニフェストデータ又はマニフェスト付随データの所在を示すURIを生成し、
前記サーバ受付ステップは、前記マニフェスト解析ステップが生成したURIを用いて前記サーバからマニフェストデータ又はマニフェスト付随データを取得すること
を特徴とする請求項8から請求項10のうちいずれか1項に記載の中継方法。 - 前記マニフェスト属性記憶ステップは、マニフェストの属性データを構造的な形式で記憶することを特徴とする請求項8から請求項10のうちいずれか1項に記載の中継方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008029198A JP2009187466A (ja) | 2008-02-08 | 2008-02-08 | プロキシシステム及び中継方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008029198A JP2009187466A (ja) | 2008-02-08 | 2008-02-08 | プロキシシステム及び中継方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2009187466A true JP2009187466A (ja) | 2009-08-20 |
Family
ID=41070609
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008029198A Pending JP2009187466A (ja) | 2008-02-08 | 2008-02-08 | プロキシシステム及び中継方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2009187466A (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015230564A (ja) * | 2014-06-04 | 2015-12-21 | キヤノン株式会社 | 情報処理端末、キャッシュ制御方法及びウェブシステム |
JP2016533062A (ja) * | 2013-07-03 | 2016-10-20 | コニンクリーケ・ケイピーエヌ・ナムローゼ・フェンノートシャップ | セグメント化コンテンツのストリーミング |
US10225306B2 (en) | 2011-12-29 | 2019-03-05 | Koninklijke Kpn N.V. | Controlled streaming of segmented content |
US10523723B2 (en) | 2014-06-06 | 2019-12-31 | Koninklijke Kpn N.V. | Method, system and various components of such a system for selecting a chunk identifier |
US11477262B2 (en) | 2014-02-13 | 2022-10-18 | Koninklijke Kpn N.V. | Requesting multiple chunks from a network node on the basis of a single request message |
-
2008
- 2008-02-08 JP JP2008029198A patent/JP2009187466A/ja active Pending
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10225306B2 (en) | 2011-12-29 | 2019-03-05 | Koninklijke Kpn N.V. | Controlled streaming of segmented content |
JP2016533062A (ja) * | 2013-07-03 | 2016-10-20 | コニンクリーケ・ケイピーエヌ・ナムローゼ・フェンノートシャップ | セグメント化コンテンツのストリーミング |
US10171528B2 (en) | 2013-07-03 | 2019-01-01 | Koninklijke Kpn N.V. | Streaming of segmented content |
US10609101B2 (en) | 2013-07-03 | 2020-03-31 | Koninklijke Kpn N.V. | Streaming of segmented content |
US11477262B2 (en) | 2014-02-13 | 2022-10-18 | Koninklijke Kpn N.V. | Requesting multiple chunks from a network node on the basis of a single request message |
JP2015230564A (ja) * | 2014-06-04 | 2015-12-21 | キヤノン株式会社 | 情報処理端末、キャッシュ制御方法及びウェブシステム |
US10523723B2 (en) | 2014-06-06 | 2019-12-31 | Koninklijke Kpn N.V. | Method, system and various components of such a system for selecting a chunk identifier |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106489145B (zh) | web网站的访问方法、装置及Web网站系统 | |
EP2724251B1 (en) | Methods for making ajax web applications bookmarkable and crawlable and devices thereof | |
US20090037517A1 (en) | Method and system to share content between web clients | |
EP2958025A1 (en) | Output function dividing system | |
JP2009140290A (ja) | コンテンツ中継装置、コンテンツ中継システム及びコンテンツ中継方法並びにプログラム | |
US10419573B2 (en) | Methods, devices and computer programs enabling data to be pushed in a network environment comprising proxies | |
AU2008355023A1 (en) | Generating sitemaps | |
JP2009187466A (ja) | プロキシシステム及び中継方法 | |
JP2015052821A (ja) | 通信装置および通信方法 | |
JP5604016B1 (ja) | スクリプトのキャッシュ方法及びそれを適用した情報処理装置 | |
CN106411978B (zh) | 一种资源缓存方法及装置 | |
CN110674435A (zh) | 页面访问方法、服务器、终端、电子设备及可读存储介质 | |
JP2007272742A (ja) | 通信端末及び通信方法 | |
US10771578B2 (en) | Webpage loading method and apparatus | |
KR101356836B1 (ko) | 브라우저 상에서 실행되는 서비스의 정보를 공유하는 방법, 장치 및 시스템 | |
JP2007079988A (ja) | Wwwブラウザ、htmlページ共有システムおよびhtmlページ共有方法 | |
KR100644547B1 (ko) | 이동통신단말기의 하이퍼텍스트 데이터 캐싱 방법 및 이를위한 이동통신단말기 | |
JP5332117B2 (ja) | Wwwコンテンツ取得システム及びwwwコンテンツ取得方法 | |
JP2012059060A (ja) | スクリプトプログラムを含むWebページを端末に高速表示させるWebサーバ及びその方法 | |
KR101537222B1 (ko) | 오프라인 실행을 위한 웹 페이지 사전 캐싱 시스템 및 방법 | |
JP2009080587A (ja) | データ転送サーバ | |
JP2005107662A (ja) | Wwwシステム処理方法およびシステム | |
JP5901267B2 (ja) | 情報処理装置およびその制御方法、並びにプログラム | |
JP2009176176A (ja) | ウェブページ配信装置 | |
CN107451182A (zh) | 基于Appcache 的文件缓存方法 |