JP4300220B2 - データ転送装置およびデータ転送方法 - Google Patents

データ転送装置およびデータ転送方法 Download PDF

Info

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
Application number
JP2006121214A
Other languages
English (en)
Other versions
JP2006216081A (ja
Inventor
英昭 佐藤
達徳 金井
英樹 吉田
俊文 關
謙一郎 吉井
隆幸 宮澤
康浩 木村
春彦 外山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP2006121214A priority Critical patent/JP4300220B2/ja
Publication of JP2006216081A publication Critical patent/JP2006216081A/ja
Application granted granted Critical
Publication of JP4300220B2 publication Critical patent/JP4300220B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

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のようなクライアント・サーバ型の情報システムにおいては、提供さ
れるサービスがどのような形態のものであろうと、基本的にはクライアント・サーバ間で
データ転送が行われることによってサービスが提供される。したがって、クライアントと
サーバとの間で通信に用いるネットワークの容量(バンド幅)が、システム全体のボトル
ネックになりやすい。そこで、通常、ネットワークの負荷を軽減させるためにキャッシュ
技術が用いられる。
WEBシステムの場合、クライアント上で動作するブラウザ等はキャッシュ機構を使用
するものが多く、最近アクセスしたデータをキャッシュしている。WEBではURLと呼
ばれる名前で情報やサービスを指定してアクセスがなされるので、クライアント上のキャ
ッシュは、過去にWEBサーバに要求した情報やサービスの結果として返されるデータの
うちでキャッシュ可能なものを、そのURLと対応させてキャッシュに記録している。こ
の場合、キャッシュ内にあるものと同じURLの情報やサービスのリクエストがあった際
に、そのキャッシュ内の応答データが古くなっていないと判断できるならば、そのデータ
を返すことで、WEBサーバとの間の通信を無くすことができる。
企業のオフィス内のLANあるいは研究機関におけるLANあるいは家庭内のLANな
どで複数のユーザがいる場合、該LANとインターネットとの間にプロキシサーバを置き
、プロキシサーバにキャッシュ機構を設けるようにすることも多い。クライアント内のキ
ャッシュ(例えば、ブラウザのキャッシュ)は、当該クライアント・ユーザに専用のキャ
ッシュとして動作するが、LAN上のプロキシサーバのキャッシュは、複数のクライアン
ト・ユーザに共有のキャッシュとして動作する。そのため、後者では、過去に他人(他ク
ライアント)がアクセスしたURLに対してアクセスする際にもキャッシュが効く。
さて、WEBにおいて、クライアントとサーバとの間は、HTTPと呼ぶプロトコルで
通信が行われる。HTTPプロトコルは、クライアントからサーバへ送る「リクエストメ
ッセージ」と、それに答えてサーバからクライアントへ応答を返す「リプライメッセージ
」とが組になっている。
リクエストメッセージは、「リクエストヘッダ」と「リクエストボディ」からなる。リ
クエストヘッダには、アクセスしたい情報やサービスを指定するURLやアクセスの種類
を示すメソッド名、その他アクセスに必要な各種の情報が入る。リクエストボディには、
サーバに送るデータを入れる。リクエストボディに入っているデータを「リクエストデー
タ」とも呼ぶ。
リプライメッセージは、「リプライヘッダ」と「リプライボディ」からなる。
リプライヘッダには、処理結果のステータスなどの情報が入り、リプライボディには要求
された情報や要求されたサービスの処理結果などのデータが入る。リプライボディに入っ
ているデータを「リプライデータ」とも呼ぶ。
リクエストメッセージのメソッドとしては、サーバ上の情報を読み出す「GETメソッ
ド」、ユーザの持つデータをサーバに書き込む「PUTメソッド」、リクエストに応じて
処理した結果を送り返してもらう「POSTメソッド」が、情報やサービスのアクセスに
用いられる主要なものである。その他、DELETEなどのメソッドが定義されている。
多くの場合、GETメソッドのリクエストメッセージのリクエストボディ、PUTメソ
ッドのリプライメッセージのリプライボディは空である。POSTメソッドのリクエスト
メッセージのリクエストボディには、必要に応じてサーバ側での処理に用いる情報が入り
、POSTメソッドのリプライメッセージのリプライボディには、その処理の結果のデー
タが入る。
GETメソッドでサーバから読み出すデータは、読み出す毎にサーバ側で生成する「動
的データ」と、既にサーバ側で記憶しているデータをそのまま送り返す「静的データ」に
分けることができる。これらのうち、動的データについては、同じURLでも読み出す度
に内容が異なる可能性があるので、多くの場合、サーバはキャッシュ不可の指定をそのリ
プライメッセージのヘッダに入れて送り返す。したがって、WEBのデータでキャッシュ
の対象になるのは、静的データの部分である。この静的データは、不特定多数のユーザが
参照して構わない「共有データ」と、ユーザ認証することで特定のユーザだけがアクセス
できるようにアクセス制御を行う「プライベートデータ」に分けることができる。前者の
共有データは、どのようなキャッシュでもキャッシュ可能である。しかしながら、後者の
プライベートデータは、プロキシサーバなどの共有キャッシュでは、キャッシュ不可であ
る(プライベートデータは必ずサーバでユーザを認証して送り返す必要があるので)。た
だし、ブラウザなどの個人専用のキャッシュの場合には、プライベートデータでもキャッ
シュは可能である。
POSTメソッドは、サーバ側で処理をした結果を返すので、一般的にサーバはキャッ
シュ不可の指定をリプライメッセージのヘッダに入れて結果を送り返す。そのため、通常
はキャッシュの対象にはならない。
PUTメソッドは、データをサーバに送るものなので、キャッシュは何も処理をしない

特開平11−025010号公報
従来のWEBのキャッシュは、静的コンテンツをキャッシュの対象にしている。かつて
は、WEBで公開される情報やサービスには、情報の更新頻度がそれほど高くなく、不特
定多数の人に公開されているものが多かったため、静的コンテンツの割合は非常に高く、
従来のキャッシュ技術でもネットワークの負荷の軽減に有効であった。
しかしながら、WEBベースのASP(Application Service P
rovider)のように、ユーザがWEBブラウザを使って、ネットワーク経由でサー
バ上の情報やサービスにアクセスするシステムが普及するにつれて、下記のように従来の
キャッシュ技術では対応できないデータが増加している。
・ユーザの認証を行い、アクセスできるユーザを制限しているので、プライベートデー
タが多い。
・バックエンドのデータベースを参照して生成する動的データが多い。
・帳票処理や検索などPOSTメソッドを使う場合が多い。
・グループ内の情報共有のためにPUTメソッドを使う場合が多い。
この結果、キャッシュ技術のみではネットワークの負荷を軽減する手法として有効に機
能しなくなってきている。
本発明は、上記事情を考慮してなされたもので、データ転送装置間を接続するネットワ
ークの負荷をより軽減することができるキャッシュ技術・圧縮技術を備えたデータ転送装
置、および、データ転送方法を提供することを目的とする。
上記課題を解決するために本発明のデータ転送装置は、第1の装置と第2の装置との通信を中継するデータ転送装置において、 キャッシュデータと、該キャッシュデータの識別情報であるキャッシュ識別情報とを関連付けて記憶する識別情報キャッシュを行う識別情報キャッシュ手段と、 第2の装置への所望データの送信要求を示し、リクエストヘッダを有するリクエストメッセージを、第1の装置から受信するリクエスト受信手段と、 リクエストヘッダを解析し、識別情報キャッシュを行う識別情報キャッシュ装置をリクエストメッセージが経由してきたか否かを解析する解析手段と、 リクエストメッセージが識別情報キャッシュ装置を経由してきたか否かを示す経由情報を保持する保持手段と、 リクエストメッセージを第2の装置へ送信するリクエスト送信手段と、 リクエストメッセージに対応しリプライヘッダとリプライボディとを有するリプライメッセージを、第2の装置から受信するリプライ受信手段と、 保持手段に保持された経由情報に基づいて、リプライメッセージに対応するリクエストメッセージが識別情報キャッシュ装置を経由してきたか否かを判定する判定手段と、 リプライメッセージに対応するリクエストメッセージが識別情報キャッシュ装置を経由してきたと判定された場合はリプライメッセージに対応するリプライボディ識別情報を求め、さらにキャッシュ識別情報のなかに求められたリプライボディ識別情報がある場合に、リプライヘッダに、リプライメッセージをキャッシュすべきでないことを示すNo−chache情報を与えるNo−chache情報付加手段と、 リプライメッセージに対応するリクエストメッセージが識別情報キャッシュ装置を経由してきたと判定された場合はNo−chache情報が与えられたリプライヘッダを有するリプライメッセージであって前記No−chache情報付加手段から受信したリプライメッセージのリプライボディを前記リプライボディ識別情報に変更し、変更されたリプライメッセージを第1の装置へ送信し、リプライメッセージに対応するリクエストメッセージが識別情報キャッシュ装置を経由しなかったと判定された場合はそのままリプライメッセージを第1の装置へ送信するリプライ送信手段とを備える。
これにより、リクエストメッセージに対応するリプライメッセージに、リクエストメッ
セージにおいて付加される情報を反映することができるようになった。
特に、システム構成等の問題点などが解消できるようになった。
また、誤動作することなく、複数のデータ転送装置間を接続するネットワークの負荷を
より軽減することができるキャッシュ技術・圧縮技術を備えることができる。
これにより、リクエストメッセージに対応するリプライメッセージに、リクエストメッ
セージにおいて付加される情報を反映することができるようになった。
特に、システム構成等の問題点などが解消できるようになった。
なお、装置に係る本発明は方法に係る発明としても成立し、方法に係る本発明は装置に
係る発明としても成立する。
また、装置または方法に係る本発明は、コンピュータに当該発明に相当する手順を実行
させるための(あるいはコンピュータを当該発明に相当する手段として機能させるための
、あるいはコンピュータに当該発明に相当する機能を実現させるための)プログラムとし
ても成立し、該プログラムを記録したコンピュータ読取り可能な記録媒体としても成立す
る。
本発明によれば、データ転送装置間でデータとその名前との対応を保持し、この対応を
保持しているデータについては、データを転送する代わりに対応する名前を転送すること
で、データ転送装置間の転送データ量を削減することができる。
以下、図面を参照しながら発明の実施の形態を説明する。
以下では、WANがインターネットであり、クライアントは支社4内のLANに接続さ
れたものであり、HTTPプロトコルが使用されるような場合を例にとって説明するが、
もちろん、本発明は、WANがインターネット以外のものであっても、クライアントが支
社以外の例えば家庭内LAN等に設置されたものであっても、HTTPプロトコル以外の
プロトコルが使用されるものであっても適用可能である。
図1は、本発明を適用するコンピュータ・ネットワーク・システムの全体構成例を示す
ものであり、特にここでは様々なネッワーク形態があることを示すためにそれぞれ異なる
ネットワーク形態を備える3つの会社を例示している。
ASPサーバセンター2内のローカルエリアネットワーク(LAN)12と、各会社の
支社内のローカルエリアネットワーク(LAN)16との間はそれぞれ、インターネット
や専用回線などの広域ネットワーク(WAN)14、支社間を接続する全社のLAN18
、通常プロキシ70、クライアント側プロキシ40等を介して接続されており、ASPサ
ーバセンター2内のサーバ20と、各支社4内のクライアント50とが、通信可能になっ
ている。ASPサーバセンター2内LAN12には1または複数のサーバが接続され、支
社内LAN16には1または複数のクライアントが接続される。また、各会社内の他のL
AN18にも、通常プロキシ70やクライアント側プロキシ40を介して、または直接、
複数のクライアント(図示しない)が接続される。
WEBベースのASPは、サーバセンター2に設置したサーバ20から、WAN14を
介して、様々なアプリケーションプログラムによるサービスを各会社へ提供し、ユーザは
支社4内に設置されたクライアント上のWEBブラウザ等を使ってそれらのサービスにア
クセスする。
このような利用形態においては、ユーザオフィス内LAN16とサーバセンター内LA
N12との間のネットワークのうち、特にインターネットなどの広域ネットワーク14の
実効的な通信容量(バンド幅)は、サーバセンター内LAN12やユーザオフィス内LA
N16等よりも低く、そこが性能上のボトルネックになって通信遅延が発生し、アプリケ
ーションの応答性能が低下するという問題が発生する。
そこで、本実施形態では、サーバ20とWAN14間、およびクライアント50とWA
N14間に、サーバ側プロキシ30およびクライアント側プロキシ40という2つのモジ
ュールを設置し、それらの間で後述するフィンガープリント圧縮(FP圧縮)を行って通
信データ量を低減することで、広域ネットワーク40のボトルネックを解消する。
本実施形態のサーバ20、サーバ側プロキシ30、クライアント側プロキシ40、クラ
イアント50、通常プロキシ70は、いずれも、計算機上でソフトウェア(サーバプログ
ラム、サーバ側プロキシ・プログラム、クライアント側プロキシ・プログラム、クライア
ント・プログラム、通常プロキシ・プログラム)を動作させる形で実現することができる
。この場合に、必要に応じて計算機所望の機能を有するOSやドライバソフト、パケット
通信用ソフト、暗号ソフト等といったソフトウェア、あるいは通信インタフェース装置や
外部記憶装置や入出力装置等といったハードウェアが搭載あるいは接続される。また、こ
の場合に、ユーザあるいは管理者からの情報の入力やユーザへの情報の呈示等のために、
グラフィカル・ユーザ・インタフェース(GUI)を用いると好ましい。
サービスを利用するためにユーザが使用するクライアント50上では、その目的に応じ
て例えばWEBブラウザ等のプログラムが動作する。ユーザは、例えば、WEBブラウザ
からインターネットを介し情報転送あるいは注文受付等の所望のサービスを提供するサー
バにリクエストメッセージを出し、リプライメッセージを受けることによって、またはこ
れを適宜繰り返すことによって、サービスを利用する。もちろん、WEBブラウザ等の汎
用のソフトウェアではなく、特定のサービスを利用するための専用のソフトウェアなどの
他のものが用いられても構わない。また、クライアントは、汎用の計算機ではなく、例え
ばインターネット機能を有する携帯電話端末等でもよい。
サーバ20上では、所定のサーバプログラムが動作し、クライアント50のユーザに対
して、当該サーバ・サイトに固有のサービスを提供する。
サーバ側プロキシ30は、図1のように、サーバセンター内LAN12とWAN14と
の両方に接続し、トランスペアレント・プロキシとして動作するように設置して実施する
ことができる。また、図2(a)のように、サーバセンター内LAN12上に設置して実
施することもできる。また、図3(a)のように、サーバ側プロキシ30の機能をサーバ
20に内蔵するように実施することもできる。
同様に、クライアント側プロキシ40は、図1のように、支社内のLAN16とLAN
18との両方に接続し、トランスペアレント・プロキシとして動作するように設置して実
施することができる。また、図2(b)のように、支社内のLAN16上に設置して実施
することもできる。また、図3(b)のように、クライアント側プロキシ40の機能をク
ライアント50上で動作するブラウザ等に内蔵するように実施することもできる。あるい
は、ブラウザ等の動作するクライアント50上に、個人用のクライアント側プロキシ40
を動作させるように実施することもできる。
また、クライアント側プロキシ40は、例えば、WAN14とLAN18との間に、W
AN14とLAN18との中継を行うとともに、本社の複数のクライアント50(図示し
ない)のプロキシとして、更に設けられることもある(例えば、図1の真中の会社)。
通常プロキシ70も、例えば、WAN14とLAN18との間に、WAN14とLAN
18との間の中継を行うとともに、本社の複数のクライアント50(図示しない)のプロ
キシとして、更に設けられることもある(例えば、図1の上の会社)。なお、通常プロキ
シ70は、現在一般的に用いられているHTTPプロキシサーバのことを指しており、一
方サーバ側プロキシ30、クライアント側プロキシ40は、後述するFP圧縮を行って通
信データを削減する機能を有する新規のHTTPプロキシサーバのことを指している。
上記のコンピュータ・ネットワーク・システムにおいて、本実施の形態の概念的なフロ
ーについて、図4及び図5を用いて説明する。
図4は、サーバ20上のWebコンテンツをサーバ側プロキシ30およびクライアント
側プロキシ40へキャッシュする際の動作フローを示している。
まず、ユーザは、支店4内のクライアント50のブラウザから、所望のサーバ20に記
憶されるWebコンテンツを読み出すために、そのWebコンテンツのURLを指定して
、リクエストを行う。
このリクエストは、ネットワークを介して、サーバ20へ通知される(図4−1)。こ
の通知を受け取ったサーバ20はリクエストされたWebコンテンツを読み出して、サー
バ側プロキシ30へ送信する(図4−2)。サーバ側プロキシ30は、受け取ったWeb
コンテンツのフィンガープリント(FP)を計算する(図4−3)。計算されたFPをW
ebコンテンツと対応で受けて保存する(図4−4)。また、サーバ側プロキシ30は受
け取ったWebコンテンツを支社へリプライする(図4−5)。
クライアント側プロキシ40は、受け取ったWebコンテンツのフィンガープリント(
FP)を計算する(図4−6)。計算されたFPをWebコンテンツと対応で受けて保存
する(図4−7)。クライアント側プロキシ40は、Webコンテンツをクライアント5
0へ送信する(図4−8)。以上により、Webコンテンツがサーバ側プロキシ30およ
びクライアント側プロキシ40へそれぞれキャッシュされる。
次に、図5は、Webコンテンツがサーバ側プロキシ30およびクライアント側プロキ
シ40に、既にキャッシュされている際の動作フローを示している。
まず、ユーザは、支店4内のクライアント50のブラウザから、所望のサーバ20に記
憶されるWebコンンテンツを読み出すために、そのWebコンテンツのURLを指定し
て、リクエストを行う。
このリクエストは、ネットワークを介して、サーバ20へ通知される(図5−1)。こ
の通知を受け取ったサーバ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
に替えて送るから、特に、広域ネットワークのボトルネックを解消できる。
さて、ここでフィンガープリントについて、詳細に説明する。
本実施形態のサーバ側プロキシ30およびクライアント側プロキシ40は、いずれも、
フィンガープリント・キャッシュ(FPキャッシュ)と呼ぶキャッシュ機構を持つ。フィ
ンガープリントキャッシュは、フィンガープリント(FP)と呼ぶ名前によって、HTT
Pプロトコルでやりとりされるデータを記録・管理する。
フィンガープリントは、図6に例示するように、HTTPプロトコルでやり取りされる
データ(図6の例ではコンテンツ)の内容から、あらかじめ決められた計算方法(図6の
例ではハッシュ関数)で決定される、短い数値である。この数値は、可変長でもよいが、
処理の容易さの観点では、固定長の数値の方が扱いやすい。
フィンガープリントを計算する方法としては、良く知られているMD−5やSHA−1
などのハッシュ関数を用いることができる。これらのハッシュ関数は、データに対する電
子署名などに使われており、任意のデータが与えられると、MD−5の場合は128ビッ
トの数値に、SHA−1の場合は160ビットの数値に、変換することができる。これら
のハッシュ関数の特徴は、2つのデータX1,X2が与えられ、データX1とデータX2
とが同じであれば、データX1に対して計算したハッシュ値とデータX2に対して計算し
たハッシュ値とは等しくなるが、異なる2つのデータA,Bが与えられた場合には、デー
タAに対して計算したハッシュ値とデータBに対して計算したハッシュ値とは、非常に高
い確率で異なるものになることである(原理上は、異なる2つのデータA,Bに対してそ
れぞれ計算したハッシュ値が同じになる場合があるが、その確率は実用上無視できるくら
いに小さい)。
図7に示すように、サーバ側プロキシ30やクライアント側プロキシ40の持つフィン
ガープリント・キャッシュ(図中の60)は、過去にHTTPプロトコルでやり取りされ
たデータ本体(図中の61)を、そのデータから計算して求めたフィンガープリントの値
(図中の62)を名前として、記録・管理している。
例えばHTTPプロトコルでサーバ側プロキシ30からクライアント側プロキシ40へ
データを転送するときに、サーバ側プロキシ30は、当該データのフィンガープリントを
計算し、そのフィンガープリントに対応するデータがフィンガープリントキャッシュに入
っていれば、当該データ(と同じ内容のデータ)は過去に転送したことがあるので、当該
データを転送せずに、対応するフィンガープリントの値を転送する。フィンガープリント
を受け取ったクライアント側プロキシ40は、当該フィンガープリントの値に対応するデ
ータをフィンガープリントキャッシュから取り出すことで、転送すべきデータを再現する
ことができる。このような方式(すなわち、データ圧縮→データ転送→データ解凍)によ
り、過去に送ったものと同じデータならばフィンガープリントの値を送るだけでよいので
、ネットワークを流れるデータ量を大幅に削減することができる。もちろん、クライアン
ト側プロキシ40からサーバ側プロキシ30へデータを転送するときも同様である。
説明上、サーバ側プロキシ30とクライアント側プロキシ40との間でのデータ転送に
あたり、フィンガープリントキャッシュを利用してメッセージ・ボディーのデータをフィ
ンガープリントに置き換えて転送情報量を圧縮することを、フィンガープリント圧縮(F
P圧縮)と呼ぶものとする。
なお、サーバ側プロキシ30とクライアント側プロキシ40との間において、すべての
メッセージを、FP圧縮を適用する対象(すなわち、フィンガープリントキャッシュを利
用してデータをフィンガープリントに置き換えるための処理を行う対象)としてもよいが
、例えばフィンガープリントキャッシュの効果が期待できないものなどに対する適用を除
外するために、予め定められた条件を満たすメッセージについては、これをFP圧縮の適
用対象外とする(常にFP圧縮しないで転送する)ようにしてもよい。
この場合の予め定められた条件とは、例えば、メッセージ・ヘッダに予め定められた情
報が記述されていることである。具体的には、例えば、メッセージ・ヘッダにGETメソ
ッドを示す情報およびリクエストを示す情報が記述されていることである。また、予め定
められた条件の他の例としては、転送されるデータが空(null)あるいは非常に短い
サイズであることである。
もちろん、それらの他にも種々のバリエーションがある。また、複数の条件を組み合わ
せて使用するようにしてもよい。
ところで、クライアント50−サーバ20間では、図1の本発明を適用するコンピュー
タ・ネットワーク・システムの全体構成例にも示したように、支社4とASPサーバセン
ター2との中間には、様々な他のプロキシ装置が介在し、経由することが一般的である。
ここでは、例えば、図1においては、支社4とASPサーバセンター2との中間に、
1)通常プロキシを経由する場合(図1右上)、
2)クライアント側プロキシを経由する場合(図1右中)、
3)クライアント側プロキシ及び通常プロキシを経由する場合(図1右下)、
の3通りを示している。なお、図示しないが、WAN14と接続される別の会社におい
ては、クライアント側プロキシ40を導入することなく通常プロキシ70のみを介して複
数のクライアント(ブラウザ)が接続されるといった(現状の一般的なネットワーク形態
で構成される)、別の会社も存在しうる。
このように、支社4とASPサーバセンター2との中間にプロキシが介在する場合には
、支社4のクライアント側プロキシ40とASPサーバセンター2のサーバ側プロキシ3
0で、単に上記で説明したようなフィンガープリント圧縮を適用するだけでは、以下のよ
うな問題が生じる。
a)リクエストに対するリプライメッセージを受け取ったサーバ側プロキシ30は、リ
プライメッセージを(可能ならば)FPに変換して送信すべきか、FPに変換せずに送信
すべきか判断できない。つまり、リクエストが通常プロキシ70だけを経由してきたので
あれば、通常プロキシ70にはFP機能が無いので、変換したものを送付してはいけない
が、クライアント側プロキシ40を経由してきたものであれば、送信すべきリプライメッ
セージのFPを保存していれば、FPを送ればよい。しかし、現状ではFPを送付すべき
か否かを判別することができない。
b)更に、例えば、サーバ側プロキシ30とクライアント側プロキシ40との間に通常
プロキシ70が介在している場合、通常プロキシ70が備えるキャッシュ機能で、利用で
きないフィンガープリントをもキャッシュしてしまう。
c)例えば、支社4とASPサーバセンター2との中間にクライアント側プロキシ40
が介在している場合、その中間のクライアント側プロキシ40は、自身が中間のプロキシ
であることを判別ができないため、復元して返してしまう。
そこで、本実施の形態のサーバ側プロキシ及びクライアント側プロキシは、これらの問
題点を解決するようにした。
図8、および図9に、本実施の形態のクライアント側プロキシ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ヘッダを付加
するようにした。
以下では図8を用い、クライアント側プロキシ40の構成について説明する。
受信部401は、クライアント50からのリクエストメッセージを受信するものである
。ヘッダ解析部402は、受信部401にて受信したリクエストメッセージを受け、リク
エストヘッダを解析し、前記FP_USEヘッダの有無を検出するものである。ヘッダ情
報保存部403は、ヘッダ解析部402でFP_USEヘッダを備えたリクエストメッセ
ージを検出した際に、このリクエストメッセージがFP_USEヘッダを備えていたこと
を示す情報を保存するものである。
ヘッダ付加部404は、ヘッダ解析部402で、FP_USEヘッダを備えていないリ
クエストメッセージを検出した際に、リクエストメッセージのリクエストヘッダにFP_
USEヘッダを付加するものである。送信部405は、ヘッダ解析部402またはヘッダ
付加部404から送られてきたリクエストメッセージをサーバ20へ向けて送信するもの
である。
受信部406は、リクエストメッセージに対する応答であるリプライメッセージを受信
するものである。ヘッダ判定部407は、リプライメッセージを受信すると、このリプラ
イメッセージに対応するリクエストメッセージにFP_USEヘッダが含まれていたか否
かを、ヘッダ情報保存部403を参照し判定するものである。なお、ヘッダ情報保存部4
03は、リクエストメッセージ時に示したように、リクエストメッセージのヘッダにFP
_USEが含まれているときに保存されるものであるから、情報がヘッダ情報保存部40
3にあるということは、このクライアント側プロキシ40が、要求のあったクライアント
50に最も近いクライアント側プロキシ40ではないということを意味し、また、情報が
ヘッダ情報保存部403にないということは、このクライアント側プロキシ40が、要求
のあったクライアント50に最も近いクライアント側プロキシ40であることを意味する
ヘッダ判定部407は、このクライアント側プロキシ40が、クライアント50に最も
近いクライアント側プロキシ40でないと判断すれば、受け取ったリプライメッセージを
、そのまま送信部413へ送る。また、ヘッダ判定部407は、このクライアント側プロ
キシ40が、クライアント50に最も近いクライアント側プロキシ40であると判断すれ
ば、そのリプライメッセージをFP圧縮判定部408へ供給する。
FP圧縮判定部408は、受け取ったリプライメッセージにFPヘッダが含まれている
か否かを検出することによって、そのリプライメッセージがFP圧縮されたものか否かを
判定するものである。FP圧縮判定部408は、FP圧縮されていれば、FPキャッシュ
管理部409へ、FP圧縮されていなければFP圧縮処理部414へリプライメッセージ
を送る。
FPキャッシュ411は、以前にFP圧縮したFPと、そのFPの圧縮前のコンテンツ
とを対応づけて記憶するものである。
FP圧縮処理部414は、フィンガープリント圧縮するものである。FP圧縮されたF
P値は、コンテンツと共にFPキャッシュ登録部410によって、FPキャッシュ411
に登録される。
FPキャッシュ管理部409は、そのリプライメッセージ内のFPでFPキャッシュ4
11を検索し、検索されたFPに対応するコンテンツを得て、リプライメッセージのリプ
ライデータをこの得られたコンテンツに変更して、送信部413へ送るものである。FP
キャッシュ登録部410は、FP圧縮判定部408からのリプライメッセージを受け取り
、このリプライデータ(コンテンツ)のFPを求め、FPとコンテンツとを対応付けてF
Pキャッシュ411に登録する。その後、リプライメッセージを送信部413へ送る。
送信部413は、受け取ったリプライメッセージをクライアント50へ送信するもので
ある。
なお、機能ブロックとして、受信部401と受信部406、送信部405と送信部41
3、を別々のブロック構成として図示したが、同じ構成であっても良く、また受信部40
1と送信部413、受信部405と受信部406、を送受信部として同じ構成としても良
いことは勿論である。
以上が、クライアント側プロキシ40の構成である。
次に、サーバ側プロキシ30の構成について説明する。
受信部301は、リクエストメッセージを受信するものである。ヘッダ解析部302は
、リクエストメッセージのリクエストヘッダを解析し、FP_USEヘッダが付加されて
いるか否かを確認し、FP_USEヘッダが付加されている場合にヘッダ情報保存部30
3へ通知するものである。
ヘッダ情報保存部303は、このリクエストメッセージにFP_USEヘッダがついて
いる旨を示す情報を保存する。そして、リクエストメッセージは、送信部304からサー
バ20へ送信される。なお、サーバ20は、リクエストメッセージを受け取って、クライ
アント50から要求された所望のコンテンツを取り出して、リプライメッセージとして、
クライアント50へ向けて送信する。
受信部305は、サーバ20からのリプライメッセージを受信部305で受信するもの
である。ヘッダ判定部306は、受信部305からリプライメッセージを受けると、ヘッ
ダ情報保存部303を参照し、そのリプライメッセージに対応するリクエストメッセージ
にFP_USEヘッダが付加されていたか否かを判定するものである。この判定は、リク
エストメッセージが辿ってきた間に、クライアント側プロキシ40が存在したか否かを判
定していることに相当する。ヘッダ判定部306は、ヘッダが無かった(クライアント側
プロキシが存在しなかった)場合には、そのままリプライメッセージを送信部311へ送
る。ヘッダ判定部306は、ヘッダがあったと判断した場合は、リプライメッセージをF
P圧縮処理部307へ送る。
FP圧縮処理部307は、先に説明したフィンガープリント圧縮の方法でFP圧縮し、
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へ供給するものである。
以上が、サーバ側プロキシ30の構成である。
図10は、クライアントからの一つのリクエストメッセージを受けた際のクライアント
側プロキシ40の処理手順の一例を示している。
クライアント側プロキシ40は、受信部401により、クライアントからのリクエスト
メッセージをLAN16、または、LAN18から受信する(ステップS101)。ヘッ
ダ解析部402は、受信したリクエストメッセージのリクエストヘッダを解析し、FP_
USEヘッダが付加されているか否かを検出する(ステップS102)。ステップS10
2の結果、FP_USEヘッダが付加されていれば、ヘッダ情報保存部403は、このリ
クエストメッセージにFP_USEヘッダがついていた旨を示す情報を保存し(ステップ
S103)、また、受信したリクエストメッセージをそのまま送信部405へ供給し、送
信部405は、このリクエストメッセージを、サーバ側プロキシ30に向けて送信する。
一方、ステップS102の結果、FP_USEヘッダが付加されていなければ、ヘッダ
付加部404は、このリクエストメッセージのリクエストヘッダの所定エリアにFP_U
SEヘッダを付加し、送信部405は、このFP_USEを付加したリクエストメッセー
ジを、サーバ側プロキシ30に向けて送信する(ステップS105)。
この実施の形態では、クライアント50がリクエストメッセージを送信してから、リプ
ライメッセージを受けるまでコネクションが張られた状態を維持する通信方式を想定して
いる。そのため、ヘッダ情報保存部403ではリクエストメッセージにFP_USEヘッ
ダがついていたか否かを示す最小1ビットのフラグを備えるようにすればよい。なお、こ
の通信方式に限定されること無く、複数のコネクションを並列的に切り替え処理して扱う
ような方式であれば、先のフラグとリクエストメッセージを識別する識別情報などとを対
応付けて保存するようにしても良い、等、様々な方法が適用可能である。
図11は、一つのリクエストメッセージを、WAN14を介して受けた際のサーバ側プ
ロキシ30の処理手順の一例を示している。
サーバ側プロキシ30は、受信部301により、リクエストメッセージを受信する(ス
テップS201)。ヘッダ解析部302は、受信したリクエストメッセージのリクエスト
ヘッダを解析し、FP_USEヘッダが付加されているか否かを検出する(ステップS2
02)。ステップS202の結果、FP_USEヘッダが付加されていれば、ヘッダ情報
保存部303は、このリクエストメッセージにFP_USEヘッダがついていた旨を示す
情報を保存する(ステップS203)。受信したリクエストメッセージは、送信部304
からサーバ20へ送信する(S204)。
サーバ20は、リクエストメッセージを受け、既知の方法で処理を行って、リクエスト
メッセージが発行されたクライアントへ向けて、リプライメッセージを送信する。
図12に、サーバ20から一つのリプライメッセージを受けた際のサーバ側プロキシ3
0の処理手順の一例を示している。
サーバ側プロキシ30は、受信部305により、サーバ20からリプライメッセージを
受信する(ステップS301)。
ヘッダ判定部306は、ヘッダ情報保存部303を参照して(ステップS302)、こ
のリプライメッセージに対応するリクエストメッセージにFP_USEヘッダが付加され
ていたか否かを判定する(ステップS303)。これはつまり、クライアント50−サー
バ20(サーバ側プロキシ30)間にクライアント側プロキシ40が少なとも1台は存在
しているか否かを判別している。
ステップS303の結果、FP_USEが付加されていないと判断すると、そのままリ
プライメッセージを送信部311によって、WAN14を介して、クライアント50へ向
けて送信する(ステップS309)。
一方、ステップS303の結果、FP_USEが付加されていたと判断すると、FP圧
縮処理部307は、リプライメッセージのリプライデータ(=コンテンツ)のFPを求め
る(ステップS304)。そして、FPキャッシュ管理部308にて、求められた該FP
をキーとしてフィンガープリントキャッシュ309を検索し(ステップS305)、該F
Pの値とこれに対応するデータとの組がフィンガープリントキャッシュ309に登録され
ているか否かを確認する(ステップS306)。
ステップS306の結果、FPキャッシュ309にFPが登録されていれば、ヘッダ付
加部310は、リプライメッセージのヘッダにNO_CACHEを付加する(ステップS
307)。そして、リプライメッセージのリプライデータをステップS304で求められ
たFPに変更するとともに、FPヘッダを付加して、送信部311は、WAN14を介し
て、クライアント50へ向けて送信する(ステップS308)。
ステップS306の結果、 FPキャッシュ309にFPが登録されていなければ、F
Pキャッシュ登録部312は、該フィンガープリントの値と、該リプライデータとを対応
付けて(フィンガープリントの値をキーとして)、フィンガープリントキャッシュ309
に登録する(ステップS310)。そして、送信部311は、そのままリプライメッセー
ジを、WAN14を介して、クライアント50へ向けて送信する(ステップS311)。
図13に、一つのリプライメッセージを受けた際のクライアント側プロキシ40の処理
手順の一例を示している。
クライアント側プロキシ40は、受信部406により、リプライメッセージを受信する
(ステップS401)。
ヘッダ判定部407は、ヘッダ情報保存部403を参照して(ステップS402)、こ
のリプライメッセージに対応するリクエストメッセージにFP_USEが付加されていた
か否かを判定する(ステップS403)。これはつまり、本クライアント側プロキシ40
とクライアント50との間にクライアント側プロキシ40が存在しているか、いないかを
判別するものである。例えば、図1の右中の2つのクライアント側プロキシ40のうち、
左側のクライアント側プロキシ40のヘッダ情報保存部403には、FP_USEが付加
されていたことを保存しており、右側のクライアント側プロキシ40のヘッダ情報保存部
403には、FP_USEが付加されていなかったので、何も保存しない。
ステップS403の結果、FP_USEが付加されていると判断すると、リプライメッ
セージをそのまま送信部413によって、LAN14等を介して、クライアント50へ向
けて送信する(ステップS411)。
ステップS403の結果、FP_USEが付加されていないと判断すると、FP圧縮判
定部408は、リプライヘッダのFPヘッダの有無を確認することによって、リプライデ
ータがFP圧縮されているか否かを判定する(S404)。NO_CACHEヘッダがあ
れば、FP圧縮されていることになる。
ステップS404の結果、FP圧縮されていれば、リプライメッセージのリプライデー
タはFPであるから、FPキャッシュ管理部409にて、該リプライデータ(=FP)を
キーとしてフィンガープリントキャッシュ411を検索する(ステップS405)。この
検索によって、見つけられた該フィンガープリントに対応するコンテンツを読み出し、リ
プライメッセージのリプライデータをこのコンテンツに変更する(ステップS406)。
送信部413は、この変更されたリプライメッセージをクライアント50へ向けて送信す
る(ステップS407)。
ステップS404の結果、FP圧縮されていなければ、FP圧縮処理部414によって
、リプライデータ(=コンテンツ)のFPを求める(ステップS408)。FPキャッシ
ュ登録部410は、求めた該フィンガープリントと、該リプライデータ(=コンテンツ)
とを対応付けて(フィンガープリントの値をキーとして)、フィンガープリントキャッシ
ュ411に登録する(ステップS409)。そして、送信部413は、そのままのリプラ
イメッセージを、クライアント50へ向けて送信する(ステップS410)。
以上説明してきた本発明の実施形態によれば、上記したクライアント側プロキシ40は
、その配置箇所に応じて動作する。例えば、クライアント側プロキシ40がクライアント
50に最も近い、クライアント側プロキシであれば、クライアントへ送信するリプライデ
ータは、必ず(FP非圧縮の)生のデータを供給する。また、例えば、クライアント側プ
ロキシ40が中間プロキシであれば、リプライデータを何も処理することなく転送のみを
行うように動作する。このように動作するから、サーバ側プロキシ30とクライアント側
プロキシ40との間に、クライアント側プロキシ40や、通常プロキシ70などが接続さ
れても正常に動作するようなシステムが構築できるようになった。
また、通常プロキシが存在しても、誤ってFPデータをキャッシュすることなく、正常
に動作する。
なお、本実施の形態のクライアント側プロキシ40は、リクエストメッセージにFP_
USEヘッダが付いている時に、FP_USEヘッダがついていたことを示す情報を保存
するようにしたが、その逆で、リクエストメッセージにFP_USEヘッダが付いていな
い時に、FP_USEヘッダが付いていないことを示す情報を保存するようにしても良い
。同様に、リクエストメッセージにFP_USEヘッダが付いていない時に、(このクラ
イアント側プロキシ40で)FP_USEヘッダを付けたことを示す情報を保存するよう
にしても良い。このような場合には、ヘッダ判定部407は、ヘッダ情報保存部403に
情報が保存されていたときに、クライアント50に最も近いクライアント側プロキシ40
として扱えば良い。また、ヘッダ情報保存部403を、FP_USEヘッダの有無を示す
ようなフラグとし、ヘッダ判定部407ではそのフラグのオン/オフによって、クライア
ント50に最も近いクライアント側プロキシ40であるか否かを判定するようにしても良
いだろう。
また、本実施の形態のサーバ側プロキシ30は、送信するリプライメッセージにデータ
またはFP値の何れかのみを付加して送付するようにしていたが、FP値を保存しデータ
を送信する場合(S306のNOの場合)、FP値もリプライメッセージに付けて送るよ
うにしても良い。このような構成にすれば、クライアント側プロキシ40内には、受信し
たリプライメッセージからFP値を抽出する機能を有する必要があるが、FP圧縮を行う
機能は不要となり、全体の速度の高速化が可能になるだろう。
ところで、これまでは、1つのメッセージに含まれるデータ全体をFP圧縮する対象(
フィンガープリントキャッシュに登録する対象)にしていたが、例えば、1つのメッセー
ジに含まれるデータが所定の単位のデータの集合で構成される場合には、1つのメッセー
ジに含まれる一部の単位データのみFP圧縮する対象(フィンガープリントキャッシュに
登録する対象)にする構成も可能である。
なお、以上の各機能は、ソフトウェアとして実現可能である。
また、本実施形態は、コンピュータに所定の手段を実行させるための(あるいはコンピ
ュータを所定の手段として機能させるための、あるいはコンピュータに所定の機能を実現
させるための)プログラムとして実施することもでき、該プログラムを記録したコンピュ
ータ読取り可能な記録媒体として実施することもできる。
なお、この発明の実施の形態で例示した構成は一例であって、それ以外の構成を排除す
る趣旨のものではなく、例示した構成の一部を他のもので置き換えたり、例示した構成の
一部を省いたり、例示した構成に別の機能あるいは要素を付加したり、それらを組み合わ
せたりすることなどによって得られる別の構成も可能である。また、例示した構成と論理
的に等価な別の構成、例示した構成と論理的に等価な部分を含む別の構成、例示した構成
の要部と論理的に等価な別の構成なども可能である。また、例示した構成と同一もしくは
類似の目的を達成する別の構成、例示した構成と同一もしくは類似の効果を奏する別の構
成なども可能である。
また、この発明の実施の形態で例示した各種構成部分についての各種バリエーションは
、適宜組み合わせて実施することが可能である。
また、この発明の実施の形態は、個別装置としての発明、関連を持つ2以上の装置につ
いての発明、システム全体としての発明、個別装置内部の構成部分についての発明、また
はそれらに対応する方法の発明等、種々の観点、段階、概念またはカテゴリに係る発明を
包含・内在するものである。
従って、この発明の実施の形態に開示した内容からは、例示した構成に限定されること
なく発明を抽出することができるものである。
本発明は、上述した実施の形態に限定されるものではなく、その技術的範囲において種
々変形して実施することができる。
本発明の一実施形態に係るコンピュータ・ネットワーク・システムの構成例を示す図。 同実施形態に係るコンピュータ・ネットワーク・システムの他の構成例を示す図。 同実施形態に係るコンピュータ・ネットワーク・システムのさらに他の構成例を示す図。 同実施形態に係るコンピュータ・ネットワーク・システムの基本概念を示す図。 同実施形態に係るコンピュータ・ネットワーク・システムの基本概念を示す図。 同実施の形態のフィンガープリントを示す図。 同実施の形態のフィンガープリントキャッシュを示す図。 同実施の形態のクライアント側プロキシ30の機能ブロック図。 同実施の形態のサーバ側プロキシ30の機能ブロック図。 同実施形態に係るクライアント側プロキシの手順例を示すフローチャート。 同実施形態に係るサーバ側プロキシの手順例を示すフローチャート。 同実施形態に係るサーバ側プロキシの手順例を示すフローチャート。 同実施形態に係るクライアント側プロキシの手順例を示すフローチャート。
符号の説明
2…ASPサーバセンター
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. 第1の装置と第2の装置との通信を中継するデータ転送装置において、
    キャッシュデータと、該キャッシュデータの識別情報であるキャッシュ識別情報とを関連付けて記憶する識別情報キャッシュを行う識別情報キャッシュ手段と、
    第2の装置への所望データの送信要求を示し、リクエストヘッダを有するリクエストメッセージを、前記第1の装置から受信するリクエスト受信手段と、
    前記リクエストヘッダを解析し、識別情報キャッシュを行う識別情報キャッシュ装置を前記リクエストメッセージが経由してきたか否かを解析する解析手段と、
    前記リクエストメッセージが識別情報キャッシュ装置を経由してきたか否かを示す経由情報を保持する保持手段と、
    前記リクエストメッセージを前記第2の装置へ送信するリクエスト送信手段と、
    前記リクエストメッセージに対応しリプライヘッダとリプライボディとを有するリプライメッセージを、前記第2の装置から受信するリプライ受信手段と、
    前記保持手段に保持された前記経由情報に基づいて、前記リプライメッセージに対応する前記リクエストメッセージが前記識別情報キャッシュ装置を経由してきたか否かを判定する判定手段と、
    前記リプライメッセージに対応する前記リクエストメッセージが前記識別情報キャッシュ装置を経由してきたと判定された場合は前記リプライメッセージに対応するリプライボディ識別情報を求め、さらに前記キャッシュ識別情報のなかに求められた前記リプライボディ識別情報がある場合に、前記リプライヘッダに、前記リプライメッセージをキャッシュすべきでないことを示すNo−chache情報を与えるNo−chache情報付加手段と、
    前記リプライメッセージに対応する前記リクエストメッセージが前記識別情報キャッシュ装置を経由してきたと判定された場合は前記No−chache情報が与えられたリプライヘッダを有するリプライメッセージであって前記No−chache情報付加手段から受信したリプライメッセージのリプライボディを前記リプライボディ識別情報に変更し、変更されたリプライメッセージを前記第1の装置へ送信し、前記リプライメッセージに対応する前記リクエストメッセージが前記識別情報キャッシュ装置を経由しなかったと判定された場合はそのままリプライメッセージを前記第1の装置へ送信するリプライ送信手段と
    を備えることを特徴とするデータ転送装置。
  2. 前記No−chache情報は、HTTPプロトコルを扱うことが可能な装置での前記リプライメッセージに含まれるデータのキャッシュを禁止する命令であることを特徴とする請求項1記載のデータ転送装置。
  3. 第1の装置と第2の装置との通信を中継するデータ転送方法において、
    識別情報キャッシュ手段に、キャッシュデータと、該キャッシュデータの識別情報であるキャッシュ識別情報とを関連付けて記憶する識別情報キャッシュを行い、
    リクエスト受信手段で、第2の装置への所望データの送信要求を示し、リクエストヘッダを有するリクエストメッセージを、前記第1の装置から受信し、
    解析手段で、前記リクエストヘッダを解析し、識別情報キャッシュを行う識別情報キャッシュ装置を前記リクエストメッセージが経由してきたか否かを解析し、
    保持手段で、前記リクエストメッセージが識別情報キャッシュ装置を経由してきたか否かを示す経由情報を保持し、
    リクエスト送信手段で、前記リクエストメッセージを前記第2の装置へ送信し、
    リプライ受信手段で、前記リクエストメッセージに対応しリプライヘッダとリプライボディとを有するリプライメッセージを、前記第2の装置から受信し、
    判定手段で、前記保持手段に保持された前記経由情報に基づいて、前記リプライメッセージに対応する前記リクエストメッセージが前記識別情報キャッシュ装置を経由してきたか否かを判定し、
    No−chache情報付加手段で、前記リプライメッセージに対応する前記リクエストメッセージが前記識別情報キャッシュ装置を経由してきたと判定された場合は前記リプライメッセージに対応するリプライボディ識別情報を求め、さらに前記キャッシュ識別情報のなかに求められた前記リプライボディ識別情報がある場合に、前記リプライヘッダに、前記リプライメッセージをキャッシュすべきでないことを示すNo−chache情報を与え、
    リプライ送信手段で、前記リプライメッセージに対応する前記リクエストメッセージが前記識別情報キャッシュ装置を経由してきたと判定された場合は前記No−chache情報が与えられたリプライヘッダを有するリプライメッセージであって前記No−chache情報付加手段から受信したリプライメッセージのリプライボディを前記リプライボディ識別情報に変更し、変更されたリプライメッセージを前記第1の装置へ送信し、前記リプライメッセージに対応する前記リクエストメッセージが前記識別情報キャッシュ装置を経由しなかったと判定された場合はそのままリプライメッセージを前記第1の装置へ送信することを特徴とするデータ転送方法。
JP2006121214A 2006-04-25 2006-04-25 データ転送装置およびデータ転送方法 Expired - Fee Related JP4300220B2 (ja)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5783152B2 (ja) * 2012-09-13 2015-09-24 コニカミノルタ株式会社 ブラウザー装置、ブラウザープログラム、ブラウザーシステム及び画像形成装置

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