JP4300220B2 - データ転送装置およびデータ転送方法 - Google Patents
データ転送装置およびデータ転送方法 Download PDFInfo
- Publication number
- JP4300220B2 JP4300220B2 JP2006121214A JP2006121214A JP4300220B2 JP 4300220 B2 JP4300220 B2 JP 4300220B2 JP 2006121214 A JP2006121214 A JP 2006121214A JP 2006121214 A JP2006121214 A JP 2006121214A JP 4300220 B2 JP4300220 B2 JP 4300220B2
- Authority
- JP
- Japan
- Prior art keywords
- reply
- cache
- identification information
- message
- header
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Information Transfer Between Computers (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
関する。
対して要求するクライアントとから構成される、クライアント・サーバ型の情報システム
が広く利用されている。特に、インターネット上でHTTPプロトコルを使って通信する
WEBサーバとクライアントとからなるWORLD WIDE WEBシステム(あるい
は単にWEBとも呼ばれる)は、大変広く利用されているクライアント・サーバ型の情報
システムである。通常、サーバ上ではサーバプログラムが動作し、クライアント上ではブ
ラウザなどの所定のツール(プログラム)が動作する。インターネット上で提供されるサ
ービスの内容も多岐に渡っており、ネットワーク経由で文字、静止画像、動画像、音声等
の情報(例えば、ホームページ、電子メール、デジタルコンテンツなど)や、プログラム
などを提供、配信あるいは転送などするサービス、また商品を販売するための電子店舗サ
ービス、座席や部屋等の予約サービス、種々の契約の仲介サービスなど、種々のサービス
が既に存在し、また次々と新たな形態のサービスが出現している。
れるサービスがどのような形態のものであろうと、基本的にはクライアント・サーバ間で
データ転送が行われることによってサービスが提供される。したがって、クライアントと
サーバとの間で通信に用いるネットワークの容量(バンド幅)が、システム全体のボトル
ネックになりやすい。そこで、通常、ネットワークの負荷を軽減させるためにキャッシュ
技術が用いられる。
するものが多く、最近アクセスしたデータをキャッシュしている。WEBではURLと呼
ばれる名前で情報やサービスを指定してアクセスがなされるので、クライアント上のキャ
ッシュは、過去にWEBサーバに要求した情報やサービスの結果として返されるデータの
うちでキャッシュ可能なものを、そのURLと対応させてキャッシュに記録している。こ
の場合、キャッシュ内にあるものと同じURLの情報やサービスのリクエストがあった際
に、そのキャッシュ内の応答データが古くなっていないと判断できるならば、そのデータ
を返すことで、WEBサーバとの間の通信を無くすことができる。
どで複数のユーザがいる場合、該LANとインターネットとの間にプロキシサーバを置き
、プロキシサーバにキャッシュ機構を設けるようにすることも多い。クライアント内のキ
ャッシュ(例えば、ブラウザのキャッシュ)は、当該クライアント・ユーザに専用のキャ
ッシュとして動作するが、LAN上のプロキシサーバのキャッシュは、複数のクライアン
ト・ユーザに共有のキャッシュとして動作する。そのため、後者では、過去に他人(他ク
ライアント)がアクセスしたURLに対してアクセスする際にもキャッシュが効く。
通信が行われる。HTTPプロトコルは、クライアントからサーバへ送る「リクエストメ
ッセージ」と、それに答えてサーバからクライアントへ応答を返す「リプライメッセージ
」とが組になっている。
クエストヘッダには、アクセスしたい情報やサービスを指定するURLやアクセスの種類
を示すメソッド名、その他アクセスに必要な各種の情報が入る。リクエストボディには、
サーバに送るデータを入れる。リクエストボディに入っているデータを「リクエストデー
タ」とも呼ぶ。
された情報や要求されたサービスの処理結果などのデータが入る。リプライボディに入っ
ているデータを「リプライデータ」とも呼ぶ。
ド」、ユーザの持つデータをサーバに書き込む「PUTメソッド」、リクエストに応じて
処理した結果を送り返してもらう「POSTメソッド」が、情報やサービスのアクセスに
用いられる主要なものである。その他、DELETEなどのメソッドが定義されている。
ッドのリプライメッセージのリプライボディは空である。POSTメソッドのリクエスト
メッセージのリクエストボディには、必要に応じてサーバ側での処理に用いる情報が入り
、POSTメソッドのリプライメッセージのリプライボディには、その処理の結果のデー
タが入る。
的データ」と、既にサーバ側で記憶しているデータをそのまま送り返す「静的データ」に
分けることができる。これらのうち、動的データについては、同じURLでも読み出す度
に内容が異なる可能性があるので、多くの場合、サーバはキャッシュ不可の指定をそのリ
プライメッセージのヘッダに入れて送り返す。したがって、WEBのデータでキャッシュ
の対象になるのは、静的データの部分である。この静的データは、不特定多数のユーザが
参照して構わない「共有データ」と、ユーザ認証することで特定のユーザだけがアクセス
できるようにアクセス制御を行う「プライベートデータ」に分けることができる。前者の
共有データは、どのようなキャッシュでもキャッシュ可能である。しかしながら、後者の
プライベートデータは、プロキシサーバなどの共有キャッシュでは、キャッシュ不可であ
る(プライベートデータは必ずサーバでユーザを認証して送り返す必要があるので)。た
だし、ブラウザなどの個人専用のキャッシュの場合には、プライベートデータでもキャッ
シュは可能である。
シュ不可の指定をリプライメッセージのヘッダに入れて結果を送り返す。そのため、通常
はキャッシュの対象にはならない。
。
は、WEBで公開される情報やサービスには、情報の更新頻度がそれほど高くなく、不特
定多数の人に公開されているものが多かったため、静的コンテンツの割合は非常に高く、
従来のキャッシュ技術でもネットワークの負荷の軽減に有効であった。
rovider)のように、ユーザがWEBブラウザを使って、ネットワーク経由でサー
バ上の情報やサービスにアクセスするシステムが普及するにつれて、下記のように従来の
キャッシュ技術では対応できないデータが増加している。
タが多い。
・帳票処理や検索などPOSTメソッドを使う場合が多い。
能しなくなってきている。
本発明は、上記事情を考慮してなされたもので、データ転送装置間を接続するネットワ
ークの負荷をより軽減することができるキャッシュ技術・圧縮技術を備えたデータ転送装
置、および、データ転送方法を提供することを目的とする。
セージにおいて付加される情報を反映することができるようになった。
より軽減することができるキャッシュ技術・圧縮技術を備えることができる。
セージにおいて付加される情報を反映することができるようになった。
係る発明としても成立する。
させるための(あるいはコンピュータを当該発明に相当する手段として機能させるための
、あるいはコンピュータに当該発明に相当する機能を実現させるための)プログラムとし
ても成立し、該プログラムを記録したコンピュータ読取り可能な記録媒体としても成立す
る。
保持しているデータについては、データを転送する代わりに対応する名前を転送すること
で、データ転送装置間の転送データ量を削減することができる。
れたものであり、HTTPプロトコルが使用されるような場合を例にとって説明するが、
もちろん、本発明は、WANがインターネット以外のものであっても、クライアントが支
社以外の例えば家庭内LAN等に設置されたものであっても、HTTPプロトコル以外の
プロトコルが使用されるものであっても適用可能である。
ものであり、特にここでは様々なネッワーク形態があることを示すためにそれぞれ異なる
ネットワーク形態を備える3つの会社を例示している。
支社内のローカルエリアネットワーク(LAN)16との間はそれぞれ、インターネット
や専用回線などの広域ネットワーク(WAN)14、支社間を接続する全社のLAN18
、通常プロキシ70、クライアント側プロキシ40等を介して接続されており、ASPサ
ーバセンター2内のサーバ20と、各支社4内のクライアント50とが、通信可能になっ
ている。ASPサーバセンター2内LAN12には1または複数のサーバが接続され、支
社内LAN16には1または複数のクライアントが接続される。また、各会社内の他のL
AN18にも、通常プロキシ70やクライアント側プロキシ40を介して、または直接、
複数のクライアント(図示しない)が接続される。
介して、様々なアプリケーションプログラムによるサービスを各会社へ提供し、ユーザは
支社4内に設置されたクライアント上のWEBブラウザ等を使ってそれらのサービスにア
クセスする。
N12との間のネットワークのうち、特にインターネットなどの広域ネットワーク14の
実効的な通信容量(バンド幅)は、サーバセンター内LAN12やユーザオフィス内LA
N16等よりも低く、そこが性能上のボトルネックになって通信遅延が発生し、アプリケ
ーションの応答性能が低下するという問題が発生する。
N14間に、サーバ側プロキシ30およびクライアント側プロキシ40という2つのモジ
ュールを設置し、それらの間で後述するフィンガープリント圧縮(FP圧縮)を行って通
信データ量を低減することで、広域ネットワーク40のボトルネックを解消する。
イアント50、通常プロキシ70は、いずれも、計算機上でソフトウェア(サーバプログ
ラム、サーバ側プロキシ・プログラム、クライアント側プロキシ・プログラム、クライア
ント・プログラム、通常プロキシ・プログラム)を動作させる形で実現することができる
。この場合に、必要に応じて計算機所望の機能を有するOSやドライバソフト、パケット
通信用ソフト、暗号ソフト等といったソフトウェア、あるいは通信インタフェース装置や
外部記憶装置や入出力装置等といったハードウェアが搭載あるいは接続される。また、こ
の場合に、ユーザあるいは管理者からの情報の入力やユーザへの情報の呈示等のために、
グラフィカル・ユーザ・インタフェース(GUI)を用いると好ましい。
て例えばWEBブラウザ等のプログラムが動作する。ユーザは、例えば、WEBブラウザ
からインターネットを介し情報転送あるいは注文受付等の所望のサービスを提供するサー
バにリクエストメッセージを出し、リプライメッセージを受けることによって、またはこ
れを適宜繰り返すことによって、サービスを利用する。もちろん、WEBブラウザ等の汎
用のソフトウェアではなく、特定のサービスを利用するための専用のソフトウェアなどの
他のものが用いられても構わない。また、クライアントは、汎用の計算機ではなく、例え
ばインターネット機能を有する携帯電話端末等でもよい。
して、当該サーバ・サイトに固有のサービスを提供する。
の両方に接続し、トランスペアレント・プロキシとして動作するように設置して実施する
ことができる。また、図2(a)のように、サーバセンター内LAN12上に設置して実
施することもできる。また、図3(a)のように、サーバ側プロキシ30の機能をサーバ
20に内蔵するように実施することもできる。
18との両方に接続し、トランスペアレント・プロキシとして動作するように設置して実
施することができる。また、図2(b)のように、支社内のLAN16上に設置して実施
することもできる。また、図3(b)のように、クライアント側プロキシ40の機能をク
ライアント50上で動作するブラウザ等に内蔵するように実施することもできる。あるい
は、ブラウザ等の動作するクライアント50上に、個人用のクライアント側プロキシ40
を動作させるように実施することもできる。
AN14とLAN18との中継を行うとともに、本社の複数のクライアント50(図示し
ない)のプロキシとして、更に設けられることもある(例えば、図1の真中の会社)。
18との間の中継を行うとともに、本社の複数のクライアント50(図示しない)のプロ
キシとして、更に設けられることもある(例えば、図1の上の会社)。なお、通常プロキ
シ70は、現在一般的に用いられているHTTPプロキシサーバのことを指しており、一
方サーバ側プロキシ30、クライアント側プロキシ40は、後述するFP圧縮を行って通
信データを削減する機能を有する新規のHTTPプロキシサーバのことを指している。
ーについて、図4及び図5を用いて説明する。
側プロキシ40へキャッシュする際の動作フローを示している。
憶されるWebコンテンツを読み出すために、そのWebコンテンツのURLを指定して
、リクエストを行う。
の通知を受け取ったサーバ20はリクエストされたWebコンテンツを読み出して、サー
バ側プロキシ30へ送信する(図4−2)。サーバ側プロキシ30は、受け取ったWeb
コンテンツのフィンガープリント(FP)を計算する(図4−3)。計算されたFPをW
ebコンテンツと対応で受けて保存する(図4−4)。また、サーバ側プロキシ30は受
け取ったWebコンテンツを支社へリプライする(図4−5)。
FP)を計算する(図4−6)。計算されたFPをWebコンテンツと対応で受けて保存
する(図4−7)。クライアント側プロキシ40は、Webコンテンツをクライアント5
0へ送信する(図4−8)。以上により、Webコンテンツがサーバ側プロキシ30およ
びクライアント側プロキシ40へそれぞれキャッシュされる。
シ40に、既にキャッシュされている際の動作フローを示している。
憶されるWebコンンテンツを読み出すために、そのWebコンテンツのURLを指定し
て、リクエストを行う。
の通知を受け取ったサーバ20はリクエストされたWebコンテンツを読み出して、サー
バ側プロキシ30へ送信する(図5−2)。サーバ側プロキシ30は、受け取ったWeb
ページのフィンガープリント(FP)を計算する(図5−3)。計算されたFPと同じF
Pが既にサーバ側プロキシ30内に保存されているか否かの検索を行う(図5−4)。こ
こでは、計算されたFPと同じFPが保存済みであるため、サーバ側プロキシ30は、受
け取ったWebコンテンツを支店へ送信するのではなく、代わりに、そのFPを支店へリ
プライする(図5−5)。クライアント側プロキシ40は、受け取ったFPで自装置内を
検索する(図5−6)。検索されて見つかったFPに対応付けて保存されるWebコンテ
ンツを読み出す(図5−7)。クライアント側プロキシ40は、自装置内から読み出した
Webページをクライアント50へ送信する(図5−8)。以上により、サーバ側プロキ
シ30からクライアント側プロキシ40へ送信されるべきWebコンテンツを少量のFP
に替えて送るから、特に、広域ネットワークのボトルネックを解消できる。
フィンガープリント・キャッシュ(FPキャッシュ)と呼ぶキャッシュ機構を持つ。フィ
ンガープリントキャッシュは、フィンガープリント(FP)と呼ぶ名前によって、HTT
Pプロトコルでやりとりされるデータを記録・管理する。
データ(図6の例ではコンテンツ)の内容から、あらかじめ決められた計算方法(図6の
例ではハッシュ関数)で決定される、短い数値である。この数値は、可変長でもよいが、
処理の容易さの観点では、固定長の数値の方が扱いやすい。
などのハッシュ関数を用いることができる。これらのハッシュ関数は、データに対する電
子署名などに使われており、任意のデータが与えられると、MD−5の場合は128ビッ
トの数値に、SHA−1の場合は160ビットの数値に、変換することができる。これら
のハッシュ関数の特徴は、2つのデータX1,X2が与えられ、データX1とデータX2
とが同じであれば、データX1に対して計算したハッシュ値とデータX2に対して計算し
たハッシュ値とは等しくなるが、異なる2つのデータA,Bが与えられた場合には、デー
タAに対して計算したハッシュ値とデータBに対して計算したハッシュ値とは、非常に高
い確率で異なるものになることである(原理上は、異なる2つのデータA,Bに対してそ
れぞれ計算したハッシュ値が同じになる場合があるが、その確率は実用上無視できるくら
いに小さい)。
ガープリント・キャッシュ(図中の60)は、過去にHTTPプロトコルでやり取りされ
たデータ本体(図中の61)を、そのデータから計算して求めたフィンガープリントの値
(図中の62)を名前として、記録・管理している。
データを転送するときに、サーバ側プロキシ30は、当該データのフィンガープリントを
計算し、そのフィンガープリントに対応するデータがフィンガープリントキャッシュに入
っていれば、当該データ(と同じ内容のデータ)は過去に転送したことがあるので、当該
データを転送せずに、対応するフィンガープリントの値を転送する。フィンガープリント
を受け取ったクライアント側プロキシ40は、当該フィンガープリントの値に対応するデ
ータをフィンガープリントキャッシュから取り出すことで、転送すべきデータを再現する
ことができる。このような方式(すなわち、データ圧縮→データ転送→データ解凍)によ
り、過去に送ったものと同じデータならばフィンガープリントの値を送るだけでよいので
、ネットワークを流れるデータ量を大幅に削減することができる。もちろん、クライアン
ト側プロキシ40からサーバ側プロキシ30へデータを転送するときも同様である。
あたり、フィンガープリントキャッシュを利用してメッセージ・ボディーのデータをフィ
ンガープリントに置き換えて転送情報量を圧縮することを、フィンガープリント圧縮(F
P圧縮)と呼ぶものとする。
メッセージを、FP圧縮を適用する対象(すなわち、フィンガープリントキャッシュを利
用してデータをフィンガープリントに置き換えるための処理を行う対象)としてもよいが
、例えばフィンガープリントキャッシュの効果が期待できないものなどに対する適用を除
外するために、予め定められた条件を満たすメッセージについては、これをFP圧縮の適
用対象外とする(常にFP圧縮しないで転送する)ようにしてもよい。
報が記述されていることである。具体的には、例えば、メッセージ・ヘッダにGETメソ
ッドを示す情報およびリクエストを示す情報が記述されていることである。また、予め定
められた条件の他の例としては、転送されるデータが空(null)あるいは非常に短い
サイズであることである。
せて使用するようにしてもよい。
タ・ネットワーク・システムの全体構成例にも示したように、支社4とASPサーバセン
ター2との中間には、様々な他のプロキシ装置が介在し、経由することが一般的である。
ここでは、例えば、図1においては、支社4とASPサーバセンター2との中間に、
1)通常プロキシを経由する場合(図1右上)、
2)クライアント側プロキシを経由する場合(図1右中)、
3)クライアント側プロキシ及び通常プロキシを経由する場合(図1右下)、
の3通りを示している。なお、図示しないが、WAN14と接続される別の会社におい
ては、クライアント側プロキシ40を導入することなく通常プロキシ70のみを介して複
数のクライアント(ブラウザ)が接続されるといった(現状の一般的なネットワーク形態
で構成される)、別の会社も存在しうる。
、支社4のクライアント側プロキシ40とASPサーバセンター2のサーバ側プロキシ3
0で、単に上記で説明したようなフィンガープリント圧縮を適用するだけでは、以下のよ
うな問題が生じる。
プライメッセージを(可能ならば)FPに変換して送信すべきか、FPに変換せずに送信
すべきか判断できない。つまり、リクエストが通常プロキシ70だけを経由してきたので
あれば、通常プロキシ70にはFP機能が無いので、変換したものを送付してはいけない
が、クライアント側プロキシ40を経由してきたものであれば、送信すべきリプライメッ
セージのFPを保存していれば、FPを送ればよい。しかし、現状ではFPを送付すべき
か否かを判別することができない。
プロキシ70が介在している場合、通常プロキシ70が備えるキャッシュ機能で、利用で
きないフィンガープリントをもキャッシュしてしまう。
が介在している場合、その中間のクライアント側プロキシ40は、自身が中間のプロキシ
であることを判別ができないため、復元して返してしまう。
題点を解決するようにした。
シ30の機能ブロック図を示し、詳細に説明する。なお、図8や図9は、クライアント側
プロキシ40とサーバ側プロキシ30との間のデータ転送の際の機能構成を中心に示して
ある。
ストボディからなっており、リクエストヘッダには、予め決められた情報が格納される領
域の他に、利用者によって書き込む情報が定義可能な領域を含んでいる。本実施の形態で
は、この利用者によって定義可能な領域に、リクエストメッセージがクライアント側プロ
キシ40によって転送される際に、FP圧縮を行うプロキシを通過した旨を示す情報を書
き込むようにした。ここではFP_USEと書き込むようにし、これをFP_USEヘッ
ダと呼ぶこととする。
ディからなっており、リプライヘッダには、予め決められた情報が格納される領域に、H
TTPプロトコル対応の装置で認識可能なNO_CACHEヘッダを付加することができ
る。このNO_CACHEヘッダは、リプライボディのキャッシュを禁止する旨を意味す
る。本実施の形態では、サーバ側プロキシ30が、この領域にNO_CACHEと書き込
むようにした。よって、HTTPプロトコル対応の装置は、受信したリプライメッセージ
にNO_CACHEヘッダがあれば、FPをキャッシュすることは無くなる。また、リプ
ライヘッダには、予め決められた情報が格納される領域の他に、利用者によって書き込む
情報が定義可能な領域を含んでいる。本実施の形態では、リプライボディを、FP圧縮を
行ったFP値とする場合には、この利用者によって定義可能な領域に、FPヘッダを付加
するようにした。
。ヘッダ解析部402は、受信部401にて受信したリクエストメッセージを受け、リク
エストヘッダを解析し、前記FP_USEヘッダの有無を検出するものである。ヘッダ情
報保存部403は、ヘッダ解析部402でFP_USEヘッダを備えたリクエストメッセ
ージを検出した際に、このリクエストメッセージがFP_USEヘッダを備えていたこと
を示す情報を保存するものである。
クエストメッセージを検出した際に、リクエストメッセージのリクエストヘッダにFP_
USEヘッダを付加するものである。送信部405は、ヘッダ解析部402またはヘッダ
付加部404から送られてきたリクエストメッセージをサーバ20へ向けて送信するもの
である。
するものである。ヘッダ判定部407は、リプライメッセージを受信すると、このリプラ
イメッセージに対応するリクエストメッセージにFP_USEヘッダが含まれていたか否
かを、ヘッダ情報保存部403を参照し判定するものである。なお、ヘッダ情報保存部4
03は、リクエストメッセージ時に示したように、リクエストメッセージのヘッダにFP
_USEが含まれているときに保存されるものであるから、情報がヘッダ情報保存部40
3にあるということは、このクライアント側プロキシ40が、要求のあったクライアント
50に最も近いクライアント側プロキシ40ではないということを意味し、また、情報が
ヘッダ情報保存部403にないということは、このクライアント側プロキシ40が、要求
のあったクライアント50に最も近いクライアント側プロキシ40であることを意味する
。
近いクライアント側プロキシ40でないと判断すれば、受け取ったリプライメッセージを
、そのまま送信部413へ送る。また、ヘッダ判定部407は、このクライアント側プロ
キシ40が、クライアント50に最も近いクライアント側プロキシ40であると判断すれ
ば、そのリプライメッセージをFP圧縮判定部408へ供給する。
か否かを検出することによって、そのリプライメッセージがFP圧縮されたものか否かを
判定するものである。FP圧縮判定部408は、FP圧縮されていれば、FPキャッシュ
管理部409へ、FP圧縮されていなければFP圧縮処理部414へリプライメッセージ
を送る。
とを対応づけて記憶するものである。
P値は、コンテンツと共にFPキャッシュ登録部410によって、FPキャッシュ411
に登録される。
11を検索し、検索されたFPに対応するコンテンツを得て、リプライメッセージのリプ
ライデータをこの得られたコンテンツに変更して、送信部413へ送るものである。FP
キャッシュ登録部410は、FP圧縮判定部408からのリプライメッセージを受け取り
、このリプライデータ(コンテンツ)のFPを求め、FPとコンテンツとを対応付けてF
Pキャッシュ411に登録する。その後、リプライメッセージを送信部413へ送る。
ある。
3、を別々のブロック構成として図示したが、同じ構成であっても良く、また受信部40
1と送信部413、受信部405と受信部406、を送受信部として同じ構成としても良
いことは勿論である。
、リクエストメッセージのリクエストヘッダを解析し、FP_USEヘッダが付加されて
いるか否かを確認し、FP_USEヘッダが付加されている場合にヘッダ情報保存部30
3へ通知するものである。
いる旨を示す情報を保存する。そして、リクエストメッセージは、送信部304からサー
バ20へ送信される。なお、サーバ20は、リクエストメッセージを受け取って、クライ
アント50から要求された所望のコンテンツを取り出して、リプライメッセージとして、
クライアント50へ向けて送信する。
である。ヘッダ判定部306は、受信部305からリプライメッセージを受けると、ヘッ
ダ情報保存部303を参照し、そのリプライメッセージに対応するリクエストメッセージ
にFP_USEヘッダが付加されていたか否かを判定するものである。この判定は、リク
エストメッセージが辿ってきた間に、クライアント側プロキシ40が存在したか否かを判
定していることに相当する。ヘッダ判定部306は、ヘッダが無かった(クライアント側
プロキシが存在しなかった)場合には、そのままリプライメッセージを送信部311へ送
る。ヘッダ判定部306は、ヘッダがあったと判断した場合は、リプライメッセージをF
P圧縮処理部307へ送る。
FPを生成するものである。FPキャッシュ管理部308は、FP圧縮処理部307から
受け取ったFPでFPキャッシュ309を検索するものである。見つかった際に、リプラ
イメッセージのリプライデータをFPに変えてヘッダ付加部310へ送る。FPキャッシ
ュ登録部312は、FPキャッシュ管理部308でFPがFPキャッシュ309で見つか
らなかった場合に、FPとデータとを対応付けてFPキャッシュ309へ登録し、リプラ
イメッセージをそのまま送信部311へ送る。ヘッダ付加部310は、FPキャッシュ管
理部308からのリプライメッセージのヘッダにNO_CACHEヘッダを付加し、送信
部311へ供給するものである。
側プロキシ40の処理手順の一例を示している。
メッセージをLAN16、または、LAN18から受信する(ステップS101)。ヘッ
ダ解析部402は、受信したリクエストメッセージのリクエストヘッダを解析し、FP_
USEヘッダが付加されているか否かを検出する(ステップS102)。ステップS10
2の結果、FP_USEヘッダが付加されていれば、ヘッダ情報保存部403は、このリ
クエストメッセージにFP_USEヘッダがついていた旨を示す情報を保存し(ステップ
S103)、また、受信したリクエストメッセージをそのまま送信部405へ供給し、送
信部405は、このリクエストメッセージを、サーバ側プロキシ30に向けて送信する。
付加部404は、このリクエストメッセージのリクエストヘッダの所定エリアにFP_U
SEヘッダを付加し、送信部405は、このFP_USEを付加したリクエストメッセー
ジを、サーバ側プロキシ30に向けて送信する(ステップS105)。
ライメッセージを受けるまでコネクションが張られた状態を維持する通信方式を想定して
いる。そのため、ヘッダ情報保存部403ではリクエストメッセージにFP_USEヘッ
ダがついていたか否かを示す最小1ビットのフラグを備えるようにすればよい。なお、こ
の通信方式に限定されること無く、複数のコネクションを並列的に切り替え処理して扱う
ような方式であれば、先のフラグとリクエストメッセージを識別する識別情報などとを対
応付けて保存するようにしても良い、等、様々な方法が適用可能である。
ロキシ30の処理手順の一例を示している。
テップS201)。ヘッダ解析部302は、受信したリクエストメッセージのリクエスト
ヘッダを解析し、FP_USEヘッダが付加されているか否かを検出する(ステップS2
02)。ステップS202の結果、FP_USEヘッダが付加されていれば、ヘッダ情報
保存部303は、このリクエストメッセージにFP_USEヘッダがついていた旨を示す
情報を保存する(ステップS203)。受信したリクエストメッセージは、送信部304
からサーバ20へ送信する(S204)。
メッセージが発行されたクライアントへ向けて、リプライメッセージを送信する。
0の処理手順の一例を示している。
受信する(ステップS301)。
のリプライメッセージに対応するリクエストメッセージにFP_USEヘッダが付加され
ていたか否かを判定する(ステップS303)。これはつまり、クライアント50−サー
バ20(サーバ側プロキシ30)間にクライアント側プロキシ40が少なとも1台は存在
しているか否かを判別している。
プライメッセージを送信部311によって、WAN14を介して、クライアント50へ向
けて送信する(ステップS309)。
縮処理部307は、リプライメッセージのリプライデータ(=コンテンツ)のFPを求め
る(ステップS304)。そして、FPキャッシュ管理部308にて、求められた該FP
をキーとしてフィンガープリントキャッシュ309を検索し(ステップS305)、該F
Pの値とこれに対応するデータとの組がフィンガープリントキャッシュ309に登録され
ているか否かを確認する(ステップS306)。
加部310は、リプライメッセージのヘッダにNO_CACHEを付加する(ステップS
307)。そして、リプライメッセージのリプライデータをステップS304で求められ
たFPに変更するとともに、FPヘッダを付加して、送信部311は、WAN14を介し
て、クライアント50へ向けて送信する(ステップS308)。
Pキャッシュ登録部312は、該フィンガープリントの値と、該リプライデータとを対応
付けて(フィンガープリントの値をキーとして)、フィンガープリントキャッシュ309
に登録する(ステップS310)。そして、送信部311は、そのままリプライメッセー
ジを、WAN14を介して、クライアント50へ向けて送信する(ステップS311)。
手順の一例を示している。
(ステップS401)。
のリプライメッセージに対応するリクエストメッセージにFP_USEが付加されていた
か否かを判定する(ステップS403)。これはつまり、本クライアント側プロキシ40
とクライアント50との間にクライアント側プロキシ40が存在しているか、いないかを
判別するものである。例えば、図1の右中の2つのクライアント側プロキシ40のうち、
左側のクライアント側プロキシ40のヘッダ情報保存部403には、FP_USEが付加
されていたことを保存しており、右側のクライアント側プロキシ40のヘッダ情報保存部
403には、FP_USEが付加されていなかったので、何も保存しない。
セージをそのまま送信部413によって、LAN14等を介して、クライアント50へ向
けて送信する(ステップS411)。
定部408は、リプライヘッダのFPヘッダの有無を確認することによって、リプライデ
ータがFP圧縮されているか否かを判定する(S404)。NO_CACHEヘッダがあ
れば、FP圧縮されていることになる。
タはFPであるから、FPキャッシュ管理部409にて、該リプライデータ(=FP)を
キーとしてフィンガープリントキャッシュ411を検索する(ステップS405)。この
検索によって、見つけられた該フィンガープリントに対応するコンテンツを読み出し、リ
プライメッセージのリプライデータをこのコンテンツに変更する(ステップS406)。
送信部413は、この変更されたリプライメッセージをクライアント50へ向けて送信す
る(ステップS407)。
、リプライデータ(=コンテンツ)のFPを求める(ステップS408)。FPキャッシ
ュ登録部410は、求めた該フィンガープリントと、該リプライデータ(=コンテンツ)
とを対応付けて(フィンガープリントの値をキーとして)、フィンガープリントキャッシ
ュ411に登録する(ステップS409)。そして、送信部413は、そのままのリプラ
イメッセージを、クライアント50へ向けて送信する(ステップS410)。
、その配置箇所に応じて動作する。例えば、クライアント側プロキシ40がクライアント
50に最も近い、クライアント側プロキシであれば、クライアントへ送信するリプライデ
ータは、必ず(FP非圧縮の)生のデータを供給する。また、例えば、クライアント側プ
ロキシ40が中間プロキシであれば、リプライデータを何も処理することなく転送のみを
行うように動作する。このように動作するから、サーバ側プロキシ30とクライアント側
プロキシ40との間に、クライアント側プロキシ40や、通常プロキシ70などが接続さ
れても正常に動作するようなシステムが構築できるようになった。
に動作する。
USEヘッダが付いている時に、FP_USEヘッダがついていたことを示す情報を保存
するようにしたが、その逆で、リクエストメッセージにFP_USEヘッダが付いていな
い時に、FP_USEヘッダが付いていないことを示す情報を保存するようにしても良い
。同様に、リクエストメッセージにFP_USEヘッダが付いていない時に、(このクラ
イアント側プロキシ40で)FP_USEヘッダを付けたことを示す情報を保存するよう
にしても良い。このような場合には、ヘッダ判定部407は、ヘッダ情報保存部403に
情報が保存されていたときに、クライアント50に最も近いクライアント側プロキシ40
として扱えば良い。また、ヘッダ情報保存部403を、FP_USEヘッダの有無を示す
ようなフラグとし、ヘッダ判定部407ではそのフラグのオン/オフによって、クライア
ント50に最も近いクライアント側プロキシ40であるか否かを判定するようにしても良
いだろう。
またはFP値の何れかのみを付加して送付するようにしていたが、FP値を保存しデータ
を送信する場合(S306のNOの場合)、FP値もリプライメッセージに付けて送るよ
うにしても良い。このような構成にすれば、クライアント側プロキシ40内には、受信し
たリプライメッセージからFP値を抽出する機能を有する必要があるが、FP圧縮を行う
機能は不要となり、全体の速度の高速化が可能になるだろう。
フィンガープリントキャッシュに登録する対象)にしていたが、例えば、1つのメッセー
ジに含まれるデータが所定の単位のデータの集合で構成される場合には、1つのメッセー
ジに含まれる一部の単位データのみFP圧縮する対象(フィンガープリントキャッシュに
登録する対象)にする構成も可能である。
ュータを所定の手段として機能させるための、あるいはコンピュータに所定の機能を実現
させるための)プログラムとして実施することもでき、該プログラムを記録したコンピュ
ータ読取り可能な記録媒体として実施することもできる。
る趣旨のものではなく、例示した構成の一部を他のもので置き換えたり、例示した構成の
一部を省いたり、例示した構成に別の機能あるいは要素を付加したり、それらを組み合わ
せたりすることなどによって得られる別の構成も可能である。また、例示した構成と論理
的に等価な別の構成、例示した構成と論理的に等価な部分を含む別の構成、例示した構成
の要部と論理的に等価な別の構成なども可能である。また、例示した構成と同一もしくは
類似の目的を達成する別の構成、例示した構成と同一もしくは類似の効果を奏する別の構
成なども可能である。
、適宜組み合わせて実施することが可能である。
いての発明、システム全体としての発明、個別装置内部の構成部分についての発明、また
はそれらに対応する方法の発明等、種々の観点、段階、概念またはカテゴリに係る発明を
包含・内在するものである。
なく発明を抽出することができるものである。
々変形して実施することができる。
4…支社
12、16、18…LAN
14…WAN
16…ユーザオフィス内LAN
20…サーバ装置
30…サーバ側プロキシ装置
40…クライアント側プロキシ装置
50…クライアント装置
60…通常プロキシ装置
301,305,401,406…受信部
302,402…ヘッダ解析部
303,403…ヘッダ情報保存部
304,311,405,413…送信部
306,407…ヘッダ判定部
307,414…FP圧縮処理部
308,409…フィンガープリントキャッシュ管理部
309,411…FPキャッシュ
310,404…ヘッダ付加部
312,410…フィンガープリントキャッシュ登録部
408…フィンガープリント圧縮判定部
Claims (3)
- 第1の装置と第2の装置との通信を中継するデータ転送装置において、
キャッシュデータと、該キャッシュデータの識別情報であるキャッシュ識別情報とを関連付けて記憶する識別情報キャッシュを行う識別情報キャッシュ手段と、
第2の装置への所望データの送信要求を示し、リクエストヘッダを有するリクエストメッセージを、前記第1の装置から受信するリクエスト受信手段と、
前記リクエストヘッダを解析し、識別情報キャッシュを行う識別情報キャッシュ装置を前記リクエストメッセージが経由してきたか否かを解析する解析手段と、
前記リクエストメッセージが識別情報キャッシュ装置を経由してきたか否かを示す経由情報を保持する保持手段と、
前記リクエストメッセージを前記第2の装置へ送信するリクエスト送信手段と、
前記リクエストメッセージに対応しリプライヘッダとリプライボディとを有するリプライメッセージを、前記第2の装置から受信するリプライ受信手段と、
前記保持手段に保持された前記経由情報に基づいて、前記リプライメッセージに対応する前記リクエストメッセージが前記識別情報キャッシュ装置を経由してきたか否かを判定する判定手段と、
前記リプライメッセージに対応する前記リクエストメッセージが前記識別情報キャッシュ装置を経由してきたと判定された場合は前記リプライメッセージに対応するリプライボディ識別情報を求め、さらに前記キャッシュ識別情報のなかに求められた前記リプライボディ識別情報がある場合に、前記リプライヘッダに、前記リプライメッセージをキャッシュすべきでないことを示すNo−chache情報を与えるNo−chache情報付加手段と、
前記リプライメッセージに対応する前記リクエストメッセージが前記識別情報キャッシュ装置を経由してきたと判定された場合は前記No−chache情報が与えられたリプライヘッダを有するリプライメッセージであって前記No−chache情報付加手段から受信したリプライメッセージのリプライボディを前記リプライボディ識別情報に変更し、変更されたリプライメッセージを前記第1の装置へ送信し、前記リプライメッセージに対応する前記リクエストメッセージが前記識別情報キャッシュ装置を経由しなかったと判定された場合はそのままリプライメッセージを前記第1の装置へ送信するリプライ送信手段と
を備えることを特徴とするデータ転送装置。 - 前記No−chache情報は、HTTPプロトコルを扱うことが可能な装置での前記リプライメッセージに含まれるデータのキャッシュを禁止する命令であることを特徴とする請求項1記載のデータ転送装置。
- 第1の装置と第2の装置との通信を中継するデータ転送方法において、
識別情報キャッシュ手段に、キャッシュデータと、該キャッシュデータの識別情報であるキャッシュ識別情報とを関連付けて記憶する識別情報キャッシュを行い、
リクエスト受信手段で、第2の装置への所望データの送信要求を示し、リクエストヘッダを有するリクエストメッセージを、前記第1の装置から受信し、
解析手段で、前記リクエストヘッダを解析し、識別情報キャッシュを行う識別情報キャッシュ装置を前記リクエストメッセージが経由してきたか否かを解析し、
保持手段で、前記リクエストメッセージが識別情報キャッシュ装置を経由してきたか否かを示す経由情報を保持し、
リクエスト送信手段で、前記リクエストメッセージを前記第2の装置へ送信し、
リプライ受信手段で、前記リクエストメッセージに対応しリプライヘッダとリプライボディとを有するリプライメッセージを、前記第2の装置から受信し、
判定手段で、前記保持手段に保持された前記経由情報に基づいて、前記リプライメッセージに対応する前記リクエストメッセージが前記識別情報キャッシュ装置を経由してきたか否かを判定し、
No−chache情報付加手段で、前記リプライメッセージに対応する前記リクエストメッセージが前記識別情報キャッシュ装置を経由してきたと判定された場合は前記リプライメッセージに対応するリプライボディ識別情報を求め、さらに前記キャッシュ識別情報のなかに求められた前記リプライボディ識別情報がある場合に、前記リプライヘッダに、前記リプライメッセージをキャッシュすべきでないことを示すNo−chache情報を与え、
リプライ送信手段で、前記リプライメッセージに対応する前記リクエストメッセージが前記識別情報キャッシュ装置を経由してきたと判定された場合は前記No−chache情報が与えられたリプライヘッダを有するリプライメッセージであって前記No−chache情報付加手段から受信したリプライメッセージのリプライボディを前記リプライボディ識別情報に変更し、変更されたリプライメッセージを前記第1の装置へ送信し、前記リプライメッセージに対応する前記リクエストメッセージが前記識別情報キャッシュ装置を経由しなかったと判定された場合はそのままリプライメッセージを前記第1の装置へ送信することを特徴とするデータ転送方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006121214A JP4300220B2 (ja) | 2006-04-25 | 2006-04-25 | データ転送装置およびデータ転送方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006121214A JP4300220B2 (ja) | 2006-04-25 | 2006-04-25 | データ転送装置およびデータ転送方法 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001295364A Division JP4053269B2 (ja) | 2001-09-27 | 2001-09-27 | データ転送装置およびデータ転送方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2006216081A JP2006216081A (ja) | 2006-08-17 |
JP4300220B2 true JP4300220B2 (ja) | 2009-07-22 |
Family
ID=36979201
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006121214A Expired - Fee Related JP4300220B2 (ja) | 2006-04-25 | 2006-04-25 | データ転送装置およびデータ転送方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4300220B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5783152B2 (ja) * | 2012-09-13 | 2015-09-24 | コニカミノルタ株式会社 | ブラウザー装置、ブラウザープログラム、ブラウザーシステム及び画像形成装置 |
-
2006
- 2006-04-25 JP JP2006121214A patent/JP4300220B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2006216081A (ja) | 2006-08-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3990115B2 (ja) | サーバ側プロキシ装置及びプログラム | |
US7636765B2 (en) | Data transfer scheme using caching technique for reducing network load | |
US7383348B2 (en) | Data transfer scheme using caching technique for reducing network load | |
JP3962369B2 (ja) | ウェブ・ブラウザ・アプリケーションのパフォーマンスを向上する方法及び装置 | |
US7558854B2 (en) | Access relaying apparatus | |
US8024484B2 (en) | Caching signatures | |
KR20040044182A (ko) | 통신네트워크의 유효 대역폭 증가 시스템 및 방법 | |
JP2004342069A (ja) | データ・キャッシュ方法およびデータ・キャッシュ装置 | |
US7519699B2 (en) | Method, system, and computer program product for delivering data to a storage buffer assigned to an application | |
JP3984086B2 (ja) | キャッシュサーバ、データ転送装置及びプログラム | |
JP3848209B2 (ja) | データ転送装置、データ転送方法及びプログラム | |
JP4053269B2 (ja) | データ転送装置およびデータ転送方法 | |
JP4031516B2 (ja) | サーバ側プロキシ装置、クライアント側プロキシ装置、データ転送方法及びプログラム | |
JP4300220B2 (ja) | データ転送装置およびデータ転送方法 | |
JP3983987B2 (ja) | サーバ側プロキシ装置、データ転送方法及びプログラム | |
JP3943867B2 (ja) | サーバ側プロキシ、データ転送方法及びプログラム | |
JP3913508B2 (ja) | データ転送装置およびデータ転送方法 | |
JP3943868B2 (ja) | サーバ側プロキシ、データ転送方法及びプログラム | |
JPH1155327A (ja) | 代理サーバの接続制御サーバ,代理サーバ,及びネットワーク制御方法 | |
JP2003108464A (ja) | データ転送装置およびデータ転送方法 | |
JP4041157B2 (ja) | クライアント側プロキシ装置、データ転送方法及びプログラム | |
JP4157585B2 (ja) | サーバ側プロキシ装置、クライアント側プロキシ装置、データ転送方法及びプログラム | |
JP3977601B2 (ja) | サーバ側プロキシ装置、クライアント側プロキシ装置及びプログラム | |
JP3977651B2 (ja) | データ転送方法、サーバ側プロキシ装置、クライアント側プロキシ装置及びプログラム | |
JP2002024191A (ja) | Wwwシステム、wwwサーバのトラフィック緩和方法、及びwwwサーバ |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080926 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20081121 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090106 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090305 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20090327 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20090420 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120424 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130424 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140424 Year of fee payment: 5 |
|
LAPS | Cancellation because of no payment of annual fees |