JP2002268935A - データ転送装置、データ転送方法及びプログラム - Google Patents

データ転送装置、データ転送方法及びプログラム

Info

Publication number
JP2002268935A
JP2002268935A JP2001069284A JP2001069284A JP2002268935A JP 2002268935 A JP2002268935 A JP 2002268935A JP 2001069284 A JP2001069284 A JP 2001069284A JP 2001069284 A JP2001069284 A JP 2001069284A JP 2002268935 A JP2002268935 A JP 2002268935A
Authority
JP
Japan
Prior art keywords
data
name
received
communication device
transfer device
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.)
Granted
Application number
JP2001069284A
Other languages
English (en)
Other versions
JP3983987B2 (ja
Inventor
Tatsunori Kanai
達徳 金井
Hideki Yoshida
英樹 吉田
Toshibumi Seki
俊文 關
Kenichiro Yoshii
謙一郎 吉井
Hideaki Sato
英昭 佐藤
Takayuki Miyazawa
隆幸 宮澤
Yasuhiro Kimura
康浩 木村
Haruhiko Toyama
春彦 外山
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 JP2001069284A priority Critical patent/JP3983987B2/ja
Priority to US10/092,540 priority patent/US7054912B2/en
Publication of JP2002268935A publication Critical patent/JP2002268935A/ja
Priority to US11/353,935 priority patent/US7636765B2/en
Application granted granted Critical
Publication of JP3983987B2 publication Critical patent/JP3983987B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

(57)【要約】 【課題】 ネットワークの負荷を軽減できるプロキシ装
置を提供すること。 【解決手段】 サーバ側プロキシ30からクライアント
側プロキシ40へ新たな内容のリプライデータを転送す
るにあたって、両プロキシにて、該データと該データに
ハッシュ関数を適用して算出したフィンガープリントと
を対応付けて、フィンガープリント・キャッシュに登録
しておく。サーバ側プロキシ30からクライアント側プ
ロキシ40へフィンガープリント・キャッシュに登録さ
れたフィンガープリントと同じフィンガープリントを持
つリプライデータを転送するにあたっては、該リプライ
データの代わりに該フィンガープリントを転送する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、他の装置のために
データ転送を行うデータ転送装置、データ転送方法及び
プログラムに関する。
【0002】
【従来の技術】ネットワークを介して様々なサービスを
提供するサーバと、所望のサービスをサーバに対して要
求するクライアントとから構成される、クライアント・
サーバ型の情報システムが広く利用されている。特に、
インターネット上でHTTPプロトコルを使って通信す
るWEBサーバとクライアントとからなるWORLDW
IDE WEBシステム(あるいは単にWEBとも呼ば
れる)は、大変広く利用されているクライアント・サー
バ型の情報システムである。通常、サーバ上ではサーバ
プログラムが動作し、クライアント上ではブラウザなど
の所定のツール(プログラム)が動作する。インターネ
ット上で提供されるサービスの内容も多岐に渡ってお
り、ネットワーク経由で文字、静止画像、動画像、音声
等の情報(例えば、ホームページ、電子メール、デジタ
ルコンテンツなど)や、プログラムなどを提供、配信あ
るいは転送などするサービス、また商品を販売するため
の電子店舗サービス、座席や部屋等の予約サービス、種
々の契約の仲介サービスなど、種々のサービスが既に存
在し、また次々と新たな形態のサービスが出現してい
る。
【0003】ところで、WEBのようなクライアント・
サーバ型の情報システムにおいては、提供されるサービ
スがどのような形態のものであろうと、基本的にはクラ
イアント・サーバ間でデータ転送が行われることによっ
てサービスが提供される。したがって、クライアントと
サーバとの間で通信に用いるネットワークの容量(バン
ド幅)が、システム全体のボトルネックになりやすい。
そこで、通常、ネットワークの負荷を軽減させるために
キャッシュ技術が用いられる。
【0004】WEBシステムの場合、クライアント上で
動作するブラウザ等はキャッシュ機構を使用するものが
多く、最近アクセスしたデータをキャッシュしている。
WEBではURLと呼ばれる名前で情報やサービスを指
定してアクセスがなされるので、クライアント上のキャ
ッシュは、過去にWEBサーバに要求した情報やサービ
スの結果として返されるデータのうちでキャッシュ可能
なものを、そのURLと対応させてキャッシュに記録し
ている。この場合、キャッシュ内にあるものと同じUR
Lの情報やサービスのリクエストがあった際に、そのキ
ャッシュ内の応答データが古くなっていないと判断でき
るならば、そのデータを返すことで、WEBサーバとの
間の通信を無くすことができる。
【0005】企業のオフィス内のLANあるいは研究機
関におけるLANあるいは家庭内のLANなどで複数の
ユーザがいる場合、該LANとインターネットとの間に
プロキシサーバを置き、プロキシサーバにキャッシュ機
構を設けるようにすることも多い。クライアント内のキ
ャッシュ(例えば、ブラウザのキャッシュ)は、当該ク
ライアント・ユーザに専用のキャッシュとして動作する
が、LAN上のプロキシサーバのキャッシュは、複数の
クライアント・ユーザに共有のキャッシュとして動作す
る。そのため、後者では、過去に他人(他クライアン
ト)がアクセスしたURLに対してアクセスする際にも
キャッシュが効く。
【0006】さて、WEBにおいて、クライアントとサ
ーバとの間は、HTTPと呼ぶプロトコルで通信が行わ
れる。HTTPプロトコルは、クライアントからサーバ
へ送る「リクエストメッセージ」と、それに答えてサー
バからクライアントへ応答を返す「リプライメッセー
ジ」とが組になっている。
【0007】リクエストメッセージは、「リクエストヘ
ッダ」と「リクエストボディ」からなる。リクエストヘ
ッダには、アクセスしたい情報やサービスを指定するU
RLやアクセスの種類を示すメソッド名、その他アクセ
スに必要な各種の情報が入る。リクエストボディには、
サーバに送るデータを入れる。リクエストボディに入っ
ているデータを「リクエストデータ」とも呼ぶ。
【0008】リプライメッセージは、「リプライヘッ
ダ」と「リプライボディ」からなる。リプライヘッダに
は、処理結果のステータスなどの情報が入り、リプライ
ボディには要求された情報や要求されたサービスの処理
結果などのデータが入る。リプライボディに入っている
データを「リプライデータ」とも呼ぶ。
【0009】リクエストメッセージのメソッドとして
は、サーバ上の情報を読み出す「GETメソッド」、ユ
ーザの持つデータをサーバに書き込む「PUTメソッ
ド」、リクエストの応じて処理した結果を送り返しても
らう「POSTメソッド」が、情報やサービスのアクセ
スに用いられる主要なものである。その他、DELET
Eなどのメソッドが定義されている。
【0010】多くの場合、GETメソッドのリクエスト
メッセージのリクエストボディ、PUTメソッドのリプ
ライメッセージのリプライボディは空である。POST
メソッドのリクエストメッセージのリクエストボディに
は、必要に応じてサーバ側での処理に用いる情報が入
り、POSTメソッドのリプライメッセージのリプライ
ボディには、その処理の結果のデータが入る。
【0011】GETメソッドでサーバから読み出すデー
タは、読み出す毎にサーバ側で生成する「動的データ」
と、既にサーバ側で記憶しているデータをそのまま送り
返す「静的データ」に分けることができる。これらのう
ち、動的データについては、同じURLでも読み出す度
に内容が異なる可能性があるので、多くの場合、サーバ
はキャッシュ不可の指定をそのリプライメッセージのヘ
ッダに入れて送り返す。したがって、WEBのデータで
キャッシュの対象になるのは、静的データの部分であ
る。この静的データは、不特定多数のユーザが参照して
構わない「共有データ」と、ユーザ認証することで特定
のユーザだけがアクセスできるようにアクセス制御を行
う「プライベートデータ」に分けることができる。前者
の共有データは、どのようなキャッシュでもキャッシュ
可能である。しかしながら、後者のプライベートデータ
は、プロキシサーバなどの共有キャッシュでは、キャッ
シュ不可である(プライベートデータは必ずサーバでユ
ーザを認証して送り返す必要があるので)。ただし、ブ
ラウザなどの個人専用のキャッシュの場合には、プライ
ベートデータでもキャッシュは可能である。
【0012】POSTメソッドは、サーバ側で処理をし
た結果を返すので、一般的にサーバはキャッシュ不可の
指定をリプライメッセージのヘッダに入れて結果を送り
返す。そのため、通常はキャッシュの対象にはならな
い。
【0013】PUTメソッドは、データをサーバに送る
ものなので、キャッシュは何も処理をしない。
【0014】
【発明が解決しようとする課題】従来のWEBのキャッ
シュは、静的コンテンツをキャッシュの対象にしてい
る。かつては、WEBで公開される情報やサービスに
は、情報の更新頻度がそれほど高くなく、不特定多数の
人に公開されているものが多かったため、静的コンテン
ツの割合は非常に高く、従来のキャッシュ技術でもネッ
トワークの負荷の軽減に有効であった。
【0015】しかしながら、WEBベースのASP(A
pplication Service Provid
er)のように、ユーザがWEBブラウザを使って、ネ
ットワーク経由でサーバ上の情報やサービスにアクセス
するシステムが普及するにつれて、下記のように従来の
キャッシュ技術では対応できないデータが増加してい
る。 ・ユーザの認証を行い、アクセスできるユーザを制限し
ているので、プライベートデータが多い。 ・バックエンドのデータベースを参照して生成する動的
データが多い。 ・帳票処理や検索などPOSTメソッドを使う場合が多
い。 ・グループ内の情報共有のためにPUTメソッドを使う
場合が多い。 この結果、キャッシュ技術のみではネットワークの負荷
を軽減する手法として有効に機能しなくなってきてい
る。
【0016】本発明は、上記事情を考慮してなされたも
ので、データ転送装置間を接続するネットワークの負荷
をより軽減することができるキャッシュ技術・圧縮技術
を備えたデータ転送装置、データ転送方法及びプログラ
ムを提供することを目的とする。
【0017】
【課題を解決するための手段】本発明は、第1の通信装
置から送信されたデータを受信し、該データをその宛先
となる第2の通信装置に通ずる他のデータ転送装置へ送
信するとともに、該第2の通信装置から送信されたデー
タを該他のデータ転送装置を介して受信し、該データを
その宛先となる該第1の通信装置へ送信するデータ転送
装置であって、前記第1の通信装置から前記データを受
信するための受信手段と、過去に前記他のデータ転送装
置へ送信したデータと、該データの内容をもとに生成し
て該データに割り当てた名前とを対応付けて保持するた
めの保持手段と、前記第1の通信装置から送信されたデ
ータを受信した際に、該受信したデータの内容をもとに
生成した該データに割り当てるべき名前が、前記保持手
段に保持されている場合には、該データの代わりに該名
前を送信するための処理を行い、該受信したデータに割
り当てられるべき名前が、前記保持手段に保持されてい
ない場合には、該受信したデータと該名前とを対応付け
て前記保持手段に保持するための処理を行うとともに、
該データを送信するための処理を行う処理手段と、前記
処理手段の処理に応じて前記名前または前記受信したデ
ータを、前記他のデータ転送装置へ送信するための送信
手段とを備えたことを特徴とする。
【0018】本発明は、第1の通信装置から送信された
データを他のデータ転送装置を介して受信し、該データ
をその宛先となる第2の通信装置へ送信するとともに、
該第2の通信装置から送信されたデータを受信し、該デ
ータをその宛先となる第1の通信装置に通ずる他のデー
タ転送装置へ送信するデータ転送装置であって、前記他
のデータ転送装置から前記データまたは該データの代わ
りに該データの内容をもとに生成して該データに割り当
てられた名前を受信するための受信手段と、過去に前記
他のデータ転送装置から受信したデータと、該データの
内容をもとに生成して該データに割り当てられた名前と
を対応付けて保持するための保持手段と、前記他のデー
タ転送装置から前記名前を受信した場合には、前記保持
手段から該受信した名前に対応付けて保持されているデ
ータを取得し、該取得したデータを送信するための処理
を行い、前記他のデータ転送装置から前記データを受信
した場合には、該受信したデータと該データに割り当て
られるべき名前とを対応付けて前記保持手段に保持する
ための処理を行うとともに、該受信したデータを送信す
るための処理を行う処理手段と、前記処理手段の処理に
応じて前記取得したデータまたは前記受信したデータ
を、前記第2の通信装置へ送信するための送信手段とを
備えたことを特徴とする。
【0019】好ましくは、前記名前は、所定の方法によ
って前記データを圧縮して得た値であるようにしてもよ
い。好ましくは、前記名前は、前記データに所定のハッ
シュ関数を適用して得られた値であるようにしてもよ
い。
【0020】好ましくは、前記データ転送装置は、ロー
カルエリアネットワークを介して前記第1の通信装置と
接続されたものであるようにしてもよい。好ましくは、
前記データ転送装置は、前記第1の通信装置上にソフト
ウェアとして搭載されたものであるようにしてもよい。
好ましくは、前記データ転送装置は、ローカルエリアネ
ットワークを介して前記第2の通信装置と接続されたも
のであるようにしてもよい。好ましくは、前記データ転
送装置は、前記第2の通信装置上にソフトウェアとして
搭載されたものであるようにしてもよい。
【0021】また、好ましくは、前記第1の通信装置か
ら受信したデータについて前記保持手段への保持を行う
場合に、該受信したデータが、前記第2の通信装置から
該第1の通信装置へのリクエストメッセージに対するリ
プライメッセージのデータであるときに、該リプライメ
ッセージに対応するリクエストメッセージが要求するデ
ータについてのURLと、該データに割り当てられた前
記名前とを対応付けて、前記保持手段または別の保持手
段に保持しておき、前記他のデータ転送装置から前記第
2の通信装置が送信したリクエストメッセージを受信し
た場合に、該リクエストメッセージが要求するデータに
ついてのURLが前記保持手段または別の保持手段に保
持されているときに、該URLに対応する前記名前に対
応付けて前記保持手段に保持されている前記データをも
とに前記リクエストメッセージに対するリプライメッセ
ージであって前記第2の通信装置に宛てたものを作成
し、作成した前記リプライメッセージを前記他のデータ
転送装置へ送信するようにしてもよい。
【0022】また、好ましくは、前記他のデータ転送装
置から受信したデータについて前記保持手段への保持を
行う場合に、該受信したデータが、前記第2の通信装置
から前記第1の通信装置への所定のリクエストメッセー
ジに対するリプライメッセージのデータであるときに、
該リプライメッセージに対応するリクエストメッセージ
が要求するデータについてのURLと、該データに割り
当てられた前記名前とを対応付けて、前記保持手段また
は別の保持手段に保持しておき、前記第2の通信装置か
ら前記所定のリクエストメッセージを受信した場合に、
該リクエストメッセージが要求するデータについてのU
RLが前記保持手段または別の保持手段に保持されてい
るときに、該URLに対応する前記名前に対応付けて前
記保持手段に保持されている前記データをもとに前記リ
クエストメッセージに対するリプライメッセージを作成
し、作成した前記リプライメッセージを前記第2の通信
装置へ送信するようにしてもよい。
【0023】また、本発明は、第1の通信装置から送信
されたデータを受信し、該データをその宛先となる第2
の通信装置に通ずる他のデータ転送装置へ送信するとと
もに、該第2の通信装置から送信されたデータを該他の
データ転送装置を介して受信し、該データをその宛先と
なる該第1の通信装置へ送信するデータ転送装置におけ
るデータ転送方法であって、前記第1の通信装置から送
信されたデータを受信し、受信された前記データの内容
をもとに生成した該データに割り当てるべき名前が、過
去に前記他のデータ転送装置へ送信したデータと該デー
タの内容をもとに生成して該データに割り当てた名前と
を対応付けて保持するための保持手段に保持されている
か否か判断し、保持されている場合には、受信された前
記データの代わりに前記名前を送信するための処理を行
い、保持されていない場合には、受信された該データと
前記名前とを対応付けて前記保持手段に保持するための
処理を行うとともに、該データを送信するための処理を
行うことを特徴とする。
【0024】また、本発明は、第1の通信装置から送信
されたデータを他のデータ転送装置を介して受信し、該
データをその宛先となる第2の通信装置へ送信するとと
もに、該第2の通信装置から送信されたデータを受信
し、該データをその宛先となる第1の通信装置に通ずる
他のデータ転送装置へ送信するデータ転送装置における
データ転送方法であって、前記他のデータ転送装置から
前記データまたは該データの代わりに該データの内容を
もとに生成して該データに割り当てられた名前を受信
し、前記他のデータ転送装置から前記データの代わりに
該データの内容をもとに生成して該データに割り当てら
れた名前を受信した場合には、過去に前記他のデータ転
送装置から受信されたデータと該データの内容をもとに
生成して該データに割り当てられた名前とを対応付けて
保持するための保持手段から、受信された前記名前に対
応付けて保持されているデータを取得し、該取得したデ
ータを送信するための処理を行い、前記他のデータ転送
装置から前記データを受信した場合には、受信された該
データと該データに割り当てられるべき名前とを対応付
けて前記保持手段に保持するための処理を行うととも
に、受信された該データを送信するための処理を行うこ
とを特徴とする。
【0025】なお、装置に係る本発明は方法に係る発明
としても成立し、方法に係る本発明は装置に係る発明と
しても成立する。また、装置または方法に係る本発明
は、コンピュータに当該発明に相当する手順を実行させ
るための(あるいはコンピュータを当該発明に相当する
手段として機能させるための、あるいはコンピュータに
当該発明に相当する機能を実現させるための)プログラ
ムとしても成立し、該プログラムを記録したコンピュー
タ読取り可能な記録媒体としても成立する。
【0026】本発明によれば、データ転送装置間でデー
タとその名前との対応を保持し、この対応を保持してい
るデータについては、データを転送するの代わりに対応
する名前を転送することで、データ転送装置間の転送デ
ータ量を削減することができる。
【0027】例えば、GETメソッドのリプライメッセ
ージがプライベートデータであっても、これをフィンガ
ープリントにより圧縮してデータ転送装置間を転送する
ことができるようになる。また、例えば、GETメソッ
ドのリプライメッセージが動的データであっても、内容
が同じデータなら、これをフィンガープリントにより圧
縮してデータ転送装置間を転送することができるように
なる。また、例えば、POSTメソッドであっても、結
果が同じデータなら、これをフィンガープリントにより
圧縮してデータ転送装置間を転送することができるよう
になる。
【0028】
【発明の実施の形態】以下、図面を参照しながら発明の
実施の形態を説明する。
【0029】以下では、WANがインターネットであ
り、クライアントはユーザオフィスLANに接続された
ものであり、HTTPプロトコルが使用されるような場
合を例にとって説明するが、もちろん、本発明は、WA
Nがインターネット以外のものであっても、クライアン
トがオフィス以外の例えば家庭内LAN等に設置された
ものであっても、HTTPプロトコル以外のプロトコル
が使用されるものであっても適用可能である。
【0030】図31に本発明を適用するコンピュータ・
ネットワーク・システムの基本的な構成例を示す。この
構成例では、ASPサーバセンター2内のローカルエリ
アネットワーク(LAN)12と、ユーザオフィス4内
のローカルエリアネットワーク(LAN)16との間
が、インターネットや専用回線などの広域ネットワーク
(WAN)14を介して接続されており、ASPサーバ
センター2内のサーバ20と、ユーザオフィス4内のク
ライアント50とが、LAN12・WAN14・LAN
16を介して通信可能になっている。ASPサーバセン
ター内LANには1または複数のサーバが接続され、ユ
ーザオフィス内LANには1または複数のクライアント
が接続される。
【0031】WEBベースのASPは、サーバセンター
2に設置したサーバ20から、WAN14を介して、様
々なアプリケーションプログラムによるサービスを提供
し、ユーザはオフィス4に設置されたクライアント上の
WEBブラウザ等を使ってそれらのサービスにアクセス
する。
【0032】このような利用形態においては、ユーザオ
フィス内LAN16とサーバセンター内LAN12とを
つなぐネットワーク、特にインターネットなどの広域ネ
ットワーク14の実効的な通信容量(バンド幅)は、サ
ーバセンター内LAN12やユーザオフィス内LAN1
6よりも低く、そこが性能上のボトルネックになって通
信遅延が発生し、アプリケーションの応答性能が低下す
るという問題が発生する。
【0033】そこで、本実施形態では、図1に示すよう
に、サーバセンター内LAN12とユーザオフィス内L
AN16とをつなぐ広域ネットワーク14の両端に、サ
ーバ側プロキシ30およびクライアント側プロキシ40
という2つのモジュールを設置し、それらの間で後述す
るフィンガープリント圧縮(FP圧縮)を行って通信デ
ータ量を低減することで、広域ネットワークのボトルネ
ックを解消する。
【0034】本実施形態のサーバ20、サーバ側プロキ
シ30、クライアント側プロキシ40、クライアント5
0は、いずれも、計算機上でソフトウェア(サーバ・プ
ログラム、サーバ側プロキシ・プログラム、クライアン
ト側プロキシ・プログラム、クライアント・プログラ
ム)を動作させる形で実現することができる。この場合
に、必要に応じて計算機所望の機能を有するOSやドラ
イバソフト、パケット通信用ソフト、暗号ソフト等とい
ったソフトウェア、あるいは通信インタフェース装置や
外部記憶装置や入出力装置等といったハードウェアが搭
載あるいは接続される。また、この場合に、ユーザある
いは管理者からの情報の入力やユーザへの情報の呈示等
のために、グラフィカル・ユーザ・インタフェース(G
UI)を用いると好ましい。
【0035】サービスを利用するためにユーザが使用す
るクライアント50上では、その目的に応じて例えばW
EBブラウザ等のプログラムが動作する。ユーザは、例
えば、WEBブラウザからインターネットを介し情報転
送あるいは注文受付等の所望のサービスを提供するサー
バにリクエストメッセージを出し、リプライメッセージ
を受けることによって、またはこれを適宜繰り返すこと
によって、サービスを利用する。もちろん、WEBブラ
ウザ等の汎用のソフトウェアではなく、特定のサービス
を利用するための専用のソフトウェアなどの他のものが
用いられても構わない。また、クライアントは、汎用の
計算機ではなく、例えばインターネット機能を有する携
帯電話端末等でもよい。
【0036】サーバ20上では、所定のサーバ・プログ
ラムが動作し、クライアント20のユーザに対して、当
該サーバ・サイトに固有のサービスを提供する。
【0037】サーバ側プロキシ30は、図1のように、
サーバセンター内LAN12とWAN14との両方に接
続し、トランスペアレント・プロキシとして動作するよ
うに設置して実施することができる。また、図2のよう
に、サーバセンター内LAN12上に設置して実施する
こともできる。また、図3のように、サーバ側プロキシ
30の機能をサーバ20に内蔵するように実施すること
もできる。
【0038】同様に、クライアント側プロキシ40は、
図1のように、ユーザオフィス内LAN16とWAN1
4との両方に接続し、トランスペアレント・プロキシと
して動作するように設置して実施することができる。ま
た、図2のように、ユーザオフィス内LAN16上に設
置して実施することもできる。また、図3のように、ク
ライアント側プロキシ40の機能をクライアント50上
で動作するブラウザ等に内蔵するように実施することも
できる。あるいは、ブラウザ等の動作するクライアント
50上に、個人用のクライアント側プロキシ40を動作
させるように実施することもできる。
【0039】なお、サーバ側プロキシ30とクライアン
ト側プロキシ40とは、図1〜図3などのように同じ形
態であってもよいし、異なる形態であってもよい。
【0040】本実施形態のサーバ側プロキシ30および
クライアント側プロキシ40は、いずれも、フィンガー
プリント・キャッシュ(FPキャッシュ)と呼ぶキャッ
シュ機構を持つ。フィンガープリント・キャッシュは、
フィンガープリント(FP)と呼ぶ名前によって、HT
TPプロトコルでやりとりされるデータを記録・管理す
る。
【0041】フィンガープリントは、図4に例示するよ
うに、HTTPプロトコルでやり取りされるデータ(図
4の例ではコンテンツ)の内容から、あらかじめ決めら
れた計算方法(図4の例ではハッシュ関数)で決定され
る、短い数値である。この数値は、可変長でもよいが、
処理の容易さの観点では、固定長の数値の方が扱いやす
い。
【0042】フィンガープリントを計算する方法として
は、良く知られている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に対してそれぞれ計算したハッ
シュ値が同じになる場合があるが、その確率は実用上無
視できるくらいに小さい)。
【0043】図5に示すように、サーバ側プロキシ30
やクライアント側プロキシ40の持つフィンガープリン
ト・キャッシュ(図中の60)は、過去にHTTPプロ
トコルでやり取りされたデータ本体(図中の61)を、
そのデータから計算して求めたフィンガープリントの値
(図中の62)を名前として、記録・管理している。
【0044】例えばHTTPプロトコルでサーバ側プロ
キシ30からクライアント側プロキシ40へデータを転
送するときに、サーバ側プロキシ30は、当該データの
フィンガープリントを計算し、そのフィンガープリント
に対応するデータがフィンガープリント・キャッシュに
入っていれば、当該データ(と同じ内容のデータ)は過
去に転送したことがあるので、当該データを転送せず
に、対応するフィンガープリントの値を転送する。フィ
ンガープリントを受け取ったクライアント側プロキシ4
0は、当該フィンガープリントの値に対応するデータを
フィンガープリント・キャッシュから取り出すことで、
転送すべきデータを再現することができる。このような
方式(すなわち、データ圧縮→データ転送→データ解
凍)により、過去に送ったものと同じデータならばフィ
ンガープリントの値を送るだけでよいので、ネットワー
クを流れるデータ量を大幅に削減することができる。も
ちろん、クライアント側プロキシ40からサーバ側プロ
キシ30へデータを転送するときも同様である。
【0045】説明上、サーバ側プロキシ30とクライア
ント側プロキシ40との間でのデータ転送にあたり、フ
ィンガープリント・キャッシュを利用してメッセージ・
ボディーのデータをフィンガープリントに置き換えて転
送情報量を圧縮することを、フィンガープリント圧縮
(FP圧縮)と呼ぶものとする。
【0046】なお、サーバ側プロキシ30とクライアン
ト側プロキシ40との間において、すべてのメッセージ
をFP圧縮を適用する対象(すなわち、フィンガープリ
ント・キャッシュを利用してデータをフィンガープリン
トに置き換えるための処理を行う対象)としてもよい
が、例えばフィンガープリント・キャッシュの効果が期
待できないものなどに対する適用を除外するために、予
め定められた条件を満たすメッセージについては、これ
をFP圧縮の適用対象外とする(常にFP圧縮しないで
転送する)ようにしてもよい。この場合の予め定められ
た条件とは、例えば、メッセージ・ヘッダに予め定めら
れた情報が記述されていることである。具体的には、例
えば、メッセージ・ヘッダにGETメソッドを示す情報
およびリクエストを示す情報が記述されていることであ
る。また、予め定められた条件の他の例としては、転送
されるデータが空(null)あるいは非常に短いサイ
ズであることである。もちろん、それらの他にも種々の
バリエーションがある。また、複数の条件を組み合わせ
て使用するようにしてもよい。
【0047】次に、図6〜図10を参照しながら、サー
バ側プロキシ30とクライアント側プロキシ40との間
でデータ転送する際の(FP圧縮の適用対象のメッセー
ジについての)プロキシ間メッセージ・フォーマットに
ついて説明する。
【0048】なお、FP圧縮の適用対象外のメッセージ
は、FP圧縮については、何もせずにそのままの(FP
圧縮側(送信側)のプロキシが受信した際の)メッセー
ジ・フォーマットでプロキシ間を転送して構わない。あ
るいは、FP圧縮側(送信側)のプロキシが、例えばそ
のメッセージ・ヘッダに当該メッセージがFP圧縮の適
用対象外を識別可能とする情報を持つようにして転送す
ることも可能である。
【0049】さて、サーバ側プロキシ30とクライアン
ト側プロキシ40との間でデータ転送する場合、FP圧
縮の適用対象のメッセージには、データがFP圧縮され
てフィンガープリントに置き換えられたメッセージ(圧
縮時のメッセージ)と、FP圧縮されおらず、データが
搭載されているメッセージ(非圧縮時のメッセージ)と
がある。
【0050】非圧縮時のメッセージ・フォーマットは、
メッセージに含まれるデータがフィンガープリントキャ
ッシュに登録されていない場合に使用される。一方、圧
縮時のメッセージ・フォーマットは、メッセージに含ま
れるデータがフィンガープリントキャッシュに登録され
ている場合に使用される。
【0051】解凍側(受信側)では、非圧縮時のフォー
マットのメッセージを受信したことを契機として、当該
データについてフィンガープリントキャッシュへの登録
を行うことができる。
【0052】図6に、メッセージ・フォーマットの一例
を示す。(a)は非圧縮時のメッセージであり、(b)
は圧縮時のメッセージである。
【0053】(a)ではメッセージ・ボディーにデータ
が載せられ、(b)ではメッセージ・ボディーにデータ
の代わりにフィンガープリント(FP)が載せられる。
また、この例では、メッセージ・ヘッダに、FP圧縮の
有無を識別可能とする識別情報が(圧縮側のプロキシに
おいて)記述され、この識別情報に基づいて(解凍側の
プロキシにおいて)FP圧縮の有無を識別する(例え
ば、0ならば圧縮なし、1ならば圧縮あり)。なお、識
別情報は、プロキシ間で使用される特別のものであって
もよいし、もともと通常のHTTPメッセージ・ヘッダ
に存在するフィールドを利用あるいは併用したものであ
ってもよい。
【0054】なお、非圧縮時には、図6(a)の例で
は、メッセージにフィンガープリントを含ませなかった
が、メッセージ・ボディーにデータに加えてフィンガー
プリントを含ませるようにしてもよいし、または図7に
示すように、メッセージ・ヘッダにフィンガープリント
を含ませるようにしてもよい。このようにすれば、解凍
側で当該データについてフィンガープリント・キャッシ
ュの登録を行う際に、該フィンガープリントを利用する
ことによって、あらためて当該データからフィンガープ
リントを求める手間が省ける。
【0055】なお、FP圧縮の適用対象外のメッセージ
が存在し得る場合には、解凍側(受信側)では、メッセ
ージ・ヘッダに上記の識別情報が含まれるか否かで、F
P圧縮の適用対象のメッセージか適用対象外のメッセー
ジかを判断することもできる。また、FP圧縮の適用対
象外のメッセージのヘッダにも識別情報を設け、該識別
情報によって3種類のメッセージを識別するようにして
もよい(例えば、01ならば適用対象外、10なら(適
用対象であって且つ)圧縮なし、11なら(適用対象で
あって且つ)圧縮あり)。
【0056】ここで、図32に図6(a)のフォーマッ
トのメッセージの具体例を示し、図33に図6(b)の
フォーマットのメッセージの具体例を示す。各図のヘッ
ダ中の“Fingerprint−Mode:…”が識
別情報に相当し、図33のボディの“6E39…012
8”がフィンガープリントに相当する。
【0057】また、図34に、図7のフォーマットのメ
ッセージの具体例を示す。ヘッダ中の“Fingerp
rint:…”がフィンガープリントに相当する。
【0058】図8に、メッセージ・フォーマットの他の
例を示す。(a)は非圧縮時のメッセージであり、
(b)は圧縮時のメッセージである。(a)ではメッセ
ージ・ボディーにデータが載せられ、(b)ではメッセ
ージ・ボディーは空(null)である。また、この例
では、(a),(b)ともにメッセージ・ヘッダにフィ
ンガープリント(FP)が記述される。FP圧縮の有無
を識別可能とする識別情報について上記の例と同様であ
る。
【0059】なお、この場合に、非圧縮時には図6の
(a)と同様のメッセージ・フォーマット(フィンガー
プリントを含まないフォーマット)を用いる方法もあ
る。
【0060】なお、FP圧縮の適用対象外のメッセージ
が存在し得る場合には、上記した識別情報に基づく方法
の他に、圧縮側(送信側)のプロキシがFP圧縮の適用
対象のメッセージ・ヘッダに常にフィンガープリントを
記述する構成の場合には、解凍側(受信側)では、メッ
セージ・ヘッダにフィンガープリントが含まれるか否か
で判断することもできる。
【0061】ここで、図35に図8(a)のフォーマッ
トのメッセージの具体例を示し、図36に図8(b)の
フォーマットのメッセージの具体例を示す。
【0062】図9に、メッセージ・フォーマットのさら
に他の例を示す。(a)は非圧縮時のメッセージであ
り、(b)は圧縮時のメッセージである。(a)ではメ
ッセージ・ボディーにデータが載せられ、(b)ではメ
ッセージ・ボディーは空(null)である。また、こ
の例では、(a),(b)ともにメッセージ・ヘッダに
フィンガープリント(FP)が記述される。ただし、こ
の例では、FP圧縮の有無を識別可能とする識別情報は
使用しない。
【0063】この例では、メッセージ・ボディーが空
(null)か否かによって、FP圧縮の有無を識別す
ることができる。ただし、FP圧縮の適用対象外のメッ
セージでメッセージ・ボディーが空(null)のもの
が存在し得る場合には、例えば、メッセージ・ヘッダに
フィンガープリント(FP)が存在するか否かによっ
て、FP圧縮の適用対象で圧縮時のメッセージか、FP
圧縮の適用対象外でメッセージ・ボディーが空(nul
l)のメッセージかを識別する(あるいは、メッセージ
・ヘッダにFP圧縮の適用対象か適用対象外かを示す情
報を設けてもよい)。
【0064】なお、非圧縮時には図10に示すようにメ
ッセージにフィンガープリントを記述しないフォーマッ
トを用いる方法もある。この場合には、メッセージ・ヘ
ッダにフィンガープリントが含まれるか否かによって、
FP圧縮の有無を識別することができる。ただし、FP
圧縮の適用対象外のメッセージが存在し得る場合には、
例えば、メッセージ・ヘッダにFP圧縮の適用対象か適
用対象外かを示す情報を設ければよい。
【0065】ここで、図37に図9(a)のフォーマッ
トのメッセージの具体例を示し、図38に図9(b)の
フォーマットのメッセージの具体例を示す。
【0066】また、図39に、図10のフォーマットの
メッセージの具体例を示す。
【0067】以下では、サーバ側プロキシ30からクラ
イアント側プロキシ40へリプライメッセージを転送す
るときにそのリプライデータをFP圧縮・解凍する場合
を中心に本実施形態について詳しく説明する。
【0068】図11に本実施形態のサーバ側プロキシ3
0の構成例を示し、図12に本実施形態のクライアント
側プロキシ40の構成例を示す。なお、図11や図12
は、サーバ側プロキシ30からクライアント側プロキシ
40へデータを転送する際の構成を中心に示してある。
【0069】図11に示されるように、本サーバ側プロ
キシ30は、サーバセンター内LAN12または広域ネ
ットワーク14から転送メッセージを受信するための処
理を行う受信部31、転送メッセージに含まれるデータ
に対してFP圧縮を施すための処理部32、サーバセン
ター内LAN12または広域ネットワーク14へ転送メ
ッセージを送信するための処理を行う送信部33、フィ
ンガープリントとそのもととなったデータとを対応付け
て記憶するためのフィンガープリント・キャッシュ(F
Pキャッシュ)34を備えている。また、処理部32
は、転送メッセージに含まれるデータを圧縮対象とすべ
きか否かを判定するためのフィンガープリント(FP)
圧縮判定部321、フィンガープリント・キャッシュ3
4に対する検索や登録などを行うためのフィンガープリ
ント・キャッシュ(FPキャッシュ)管理部322、転
送メッセージに含まれるデータを対応するフィンガープ
リントで置き換えるなどの処理を行うためのフィンガー
プリント(FP)圧縮処理部323を含む。
【0070】図12に示されるように、本クライアント
側プロキシ40は、ユーザオフィス内LAN16または
広域ネットワーク14から転送メッセージを受信するた
めの処理を行う受信部41、転送メッセージに含まれる
データに対してFP解凍を施すための処理部42、ユー
ザオフィス内LAN16または広域ネットワーク14へ
転送メッセージを送信するための処理を行う送信部4
3、フィンガープリントとそのもととなったデータとを
対応付けて記憶するためのフィンガープリント・キャッ
シュ(FP・キャッシュ)44を備えている。また、処
理部42は、転送メッセージに含まれるデータを圧縮対
象とすべきか否かおよび転送メッセージに対するFP圧
縮の有無を判定するためのフィンガープリント(FP)
圧縮判定部421、フィンガープリント・キャッシュ3
4に対する検索や登録などを行うためのフィンガープリ
ント・キャッシュ(FPキャッシュ)管理部422、F
P圧縮された転送メッセージに含まれるフィンガープリ
ントから元のデータを解凍するなどの処理を行うための
フィンガープリント(FP)解凍処理部423を含む。
【0071】なお、圧縮側のFP圧縮判定部321と解
凍側のFP圧縮判定部421は、前述したようにメッセ
ージが予め定められた条件を満たすか否かを調べること
によって、そのメッセージに含まれるデータをFP圧縮
の適用対象とするか否かを判断する(すべてのメッセー
ジをFP圧縮の適用対象にする場合には、圧縮側のFP
圧縮判定部321および後に示す手順例の該当部分は不
要であり、解凍側のFP圧縮判定部421の該当判断の
部分および後に示す手順例の該当部分は不要である)。
また、解凍側のFP圧縮判定部421は、FP圧縮の適
用対象のメッセージについて、そのデータがFP圧縮さ
れたものか否かを判定する。以下では、FP圧縮の適用
対象となるメッセージを転送する場合(FP圧縮の適用
対象とすると判断された場合、またはすべてのメッセー
ジをFP圧縮の適用対象にする場合)を中心に説明す
る。
【0072】図13に、サーバ側プロキシ30からクラ
イアント側プロキシ40へリプライメッセージを転送す
る際のサーバ側プロキシ30の処理手順の一例を示す。
なお、図13は、1つのリプライメッセージを受けたと
きの処理を記述しているが、実際はサーバ側プロキシ3
0が受け取ったリプライメッセージ全てに対して、図1
3に例示する処理を行う。
【0073】サーバ側プロキシ30は、受信部31によ
り、サーバ20からリプライメッセージを受信する(ス
テップS1)。
【0074】FP圧縮判定部321は、該リプライメッ
セージのリプライデータがFP圧縮対象のものであるか
否か調べ、判断する(ステップS2)。リプライデータ
がFP圧縮対象外のものと判断されたならば(ステップ
S2)、受信したリプライメッセージを送信部33から
クライアント側プロキシ40へ転送する(ステップS
9)。
【0075】ステップS2にて該リプライメッセージの
リプライデータがFP圧縮対象のものであると判断され
たならば、FPキャッシュ管理部322にて、該リプラ
イデータのフィンガープリントの値を計算し(ステップ
S3)、該フィンガープリントの値をキーとしてフィン
ガープリント・キャッシュ34を検索する(ステップS
4)。
【0076】そして、該フィンガープリントの値とこれ
に対応するデータとの組がフィンガープリント・キャッ
シュ34に登録されていたならば(ステップS5)、F
P圧縮処理部323にて、受信したリプライメッセージ
を、該フィンガープリントの値を用いてFP圧縮時のフ
ォーマットにして(例えば図8(b)等)、送信部33
から、クライアント側プロキシ40へ送信する(ステッ
プS6)。このとき、必要に応じて、リプライヘッダ内
のデータ長を表すフィールド(Content−Len
gth:フィールド)の値を、FP圧縮時のフォーマッ
トにあわせて設定する。
【0077】一方、ステップS4の検索の結果、該フィ
ンガープリントの値とこれに対応するデータとの組がフ
ィンガープリント・キャッシュ34に登録されていなか
ったならば(ステップS5)、次の2つの作業を行う。 (1)FP圧縮処理部323にて、受信したリプライメ
ッセージを、(必要に応じて該フィンガープリントの値
を用いて)非FP圧縮時のフォーマットにして(例えば
図8(a)等)、送信部33から、クライアント側プロ
キシ40へ送信する(ステップS7)。 (2)FPキャッシュ管理部322にて、該フィンガー
プリントの値と、該リプライデータとを対応付けて(フ
ィンガープリントの値をキーにして)、フィンガープリ
ント・キャッシュ34に登録する(ステップS8)。
【0078】なお、上記の(1)と(2)は、いずれを
先に行ってもよいし、並行して行ってもよい。
【0079】次に、図14に、サーバ側プロキシ30か
らクライアント側プロキシ40へリプライメッセージを
転送する際のクライアント側プロキシ40の処理手順の
一例を示す。なお、図14は、1つのリクエストメッセ
ージを受けたときの処理を記述しているが、実際はクラ
イアント側プロキシ40が受け取ったリクエストメッセ
ージ全てに対して、図14に例示する処理を行う。
【0080】クライアント側プロキシ40は、受信部4
1により、サーバ側プロキシ30からリプライメッセー
ジを受信する(ステップS11)。
【0081】FP圧縮判定部421は、該リプライメッ
セージのリプライデータがFP圧縮対象のものであるか
否か調べ、判断する(ステップS12)。リプライデー
タがFP圧縮対象外のものと判断されたならば(ステッ
プS12)、受信したリプライメッセージを送信部43
からクライアント50へ転送する(ステップS20)。
【0082】ステップS12にて該リプライメッセージ
のリプライデータがFP圧縮対象のものであると判断さ
れたならば、FP圧縮判定部421は、さらに、リプラ
イデータがFP圧縮されているか否か調べ、判断する
(ステップS13)。
【0083】ステップS13にて該リプライメッセージ
のリプライデータがFP圧縮されているものと判断され
たならば(例えば図8(b)等の場合)、FPキャッシ
ュ管理部422にて、該リプライデータのフィンガープ
リントの値を求め(ステップS14)、該フィンガープ
リントの値をキーとしてフィンガープリント・キャッシ
ュ44を検索する(ステップS15)。
【0084】そして、FP解凍処理部423にて、受信
リプライメッセージに対して、フィンガープリント・キ
ャッシュ34から検索された該フィンガープリントの値
に対応するデータを付加し、プロキシ間で特別の情報を
使用する場合には該情報を削除した後に、これを送信部
43からクライアント50へ送信する(ステップS1
6)。このとき、必要に応じて、リプライヘッダ内のデ
ータ長を表すフィールド(Content−Lengt
h:フィールド)の値を、該フィンガープリントの値に
対応するデータの長さに設定する。
【0085】一方、ステップS13にて該リプライメッ
セージのリプライデータがFP圧縮されていないものと
判断されたならば(例えば図8(a)等の場合)、次の
2つの作業を行う。 (1)FP解凍処理部423にて、プロキシ間で特別の
情報を使用する場合には受信リプライメッセージから該
情報を削除した後に、これを送信部43からクライアン
ト50へ送信する(ステップS18)。 (2)FPキャッシュ管理部422にて、該リプライデ
ータのフィンガープリントの値を求め(ステップS1
7)、該フィンガープリントの値と、該リプライデータ
とを対応付けて(フィンガープリントの値をキーにし
て)、フィンガープリント・キャッシュ34に登録する
(ステップS19)。
【0086】なお、上記の(1)と(2)は、いずれを
先に行ってもよいし、並行して行ってもよい。
【0087】ところで、ステップS14では、メッセー
ジにフィンガープリントが記述されている。しかし、ス
テップS17では、メッセージにフィンガープリントが
記述されている場合に、該メッセージからフィンガープ
リントを得る方法と、メッセージにフィンガープリント
が記述されてない場合に、リプライデータをもとにハッ
シュ関数等によってフィンガープリントの値を計算する
方法とがある。なお、メッセージにフィンガープリント
が記述されている場合であっても、リプライデータをも
とにフィンガープリントの値を計算する方法も可能であ
る。また、ステップS14/ステップS17は、ステッ
プS12とステップS13の間にて行うようにしても構
わないし、ステップS17は、ステップS18とステッ
プS19の間にて行うようにしても構わない。
【0088】また、ステップS12の判断とステップS
13の判断は、同時に行ってもよい。
【0089】なお、クライアント側プロキシ40からサ
ーバ側プロキシ30へリクエストメッセージを転送する
際にはフィンガープリント・キャッシュを用いないもの
とする場合には、サーバ側プロキシ30は、図15に例
示するように、クライアント側プロキシ40からリクエ
ストメッセージを受信し(ステップS21)、これをサ
ーバ20へ送信する(ステップS22)、という手順で
構わない。同様に、クライアント側プロキシ40は、図
16に例示するように、クライアント50からリクエス
トメッセージを受信し(ステップS23)、これをサー
バ側プロキシ30へ送信する(ステップS24)、とい
う手順で構わない。
【0090】以下では、図17(登録時すなわち非FP
圧縮時)および図18(FP圧縮時)を参照しながら、
フィンガープリント・キャッシュを利用したデータ転送
についてより具体的に説明する。
【0091】まず、図17を参照しながら、サーバ側プ
ロキシ30からクライアント側プロキシ40へ、フィン
ガープリント・キャッシュ登録されていないデータを転
送するとともに、フィンガープリント・キャッシュ登録
する場合の動作について説明する。
【0092】(1)クライアント50上のブラウザ等
は、例えば“/A.cgi”というURLでサーバ20
に、POSTメソッドのリクエストメッセージを出した
とする。サーバ20へのリクエストメッセージは、ま
ず、クライアント側プロキシ40に送られるように、ブ
ラウザ等を設定しておく。
【0093】(2)クライアント50からリクエストメ
ッセージを受け取ったクライアント側プロキシ40は、
そのリクエストメッセージをサーバ側プロキシ30に転
送する。
【0094】(3)リクエストメッセージを受け取った
サーバ側プロキシ30は、そのリクエストメッセージを
サーバ50へ転送する。
【0095】(4)サーバ20は、該リクエストメッセ
ージに対する処理を行った後、サーバ側プロキシ30
に、そのリプライメッセージを送り返す。
【0096】(5)リプライメッセージを受け取ったサ
ーバ側プロキシ30は、まず、受信リプライメッセージ
の持つリプライデータのフィンガープリントを計算し、
そのフィンガープリント名を持ったデータがフィンガー
プリント・キャッシュ34に入っているかどうかを調べ
る。入っていなければ、初めてのデータ(一旦フィンガ
ープリント・キャッシュ登録されたものがその後に削除
あるいは無効化されることがある構成の場合に、一旦フ
ィンガープリント・キャッシュ登録されたが削除あるい
は無効化され、その後において初めてである場合を含
む)であるので、そのデータをフィンガープリントを名
前としてフィンガープリント・キャッシュ34に入れる
(登録する)。
【0097】(6)サーバ側プロキシ30は、リプライ
メッセージをクライアント側プロキシ40に転送する。
なお、前述したように、リプライデータから計算したフ
ィンガープリントの値を、リプライヘッダ等に入れて送
ると、クライアント側プロキシ40で再度フィンガープ
リントを計算する手間を省くことが出来る。
【0098】(7)リプライメッセージを受け取ったク
ライアント側プロキシ40は、初めてのデータであるの
で、リプライデータをフィンガープリント・キャッシュ
44に登録する。なお、前述したように、リプライデー
タからフィンガープリントを計算するか、あるいはサー
バ側プロキシがリプライヘッダ等に入れたフィンガープ
リントを取り出し、これを名前として入れる。
【0099】(8)クライアント側プロキシ40は、
(リプライヘッダ等にフィンガープリントの値などのサ
ーバ側プロキシ30とクライアント側プロキシ40との
間だけで使用される情報が存在する構成の場合には、こ
れを削除した後に、)リプライメッセージを、クライア
ント50(上で動作するブラウザ等)へ送り返す。
【0100】なお、サーバ側プロキシ30において、上
記の(5)のフィンガープリント・キャッシュ登録は、
(6)の動作の後に行っても構わない。また、クライア
ント側プロキシ40において、(7)のフィンガープリ
ント・キャッシュ登録は、(8)の動作の後に行っても
構わない。
【0101】次に、図18を参照しながら、図17の動
作が行われてキャッシュ登録されているデータを、サー
バ側プロキシ30からクライアント側プロキシ40へ転
送する場合の動作について説明する。
【0102】(1)〜(4)は、図17を参照して説明
した動作における(1)〜(4)と同様である。
【0103】(5)サーバ50からリプライメッセージ
を受け取ったサーバ側プロキシ40は、まず、受信リプ
ライメッセージの持つリプライデータのフィンガープリ
ントを計算し、そのフィンガープリント名を持ったデー
タがフィンガープリント・キャッシュ34に入っている
かどうかを調べる。入っていれば、過去に送ったことの
あるデータ(フィンガープリント・キャッシュ登録され
ているデータ)なので、(前述したように例えばフィン
ガープリントの値をリプライヘッダに入れ且つリプライ
ボディを空にするなどして)リプライボディのデータを
フィンガープリントで置き換える。
【0104】(6)サーバ側プロキシ30は、リプライ
ボディをフィンガープリントで置き換えたリプライメッ
セージをクライアント側プロキシ40に転送する。
【0105】(7)リプライメッセージを受け取ったク
ライアント側プロキシ40は、リプライデータがフィン
ガープリントで置き換えられていることを検出し、(前
述したように例えばリプライヘッダなどにて)指定され
たフィンガープリントを使ってフィンガープリント・キ
ャッシュ44から対応するデータを取り出し、これをリ
プライボディに入れる。
【0106】(8)そして、クライアント側プロキシ3
0は、(リプライヘッダ等にフィンガープリントの値な
どのサーバ側プロキシ30とクライアント側プロキシ4
0との間だけで使用される情報が存在する構成の場合に
は、これを削除した後に、)リプライメッセージを、ク
ライアント(上で動作するブラウザ等)へ送り返す。
【0107】ところで、サーバ側プロキシ30およびク
ライアント側プロキシ40のフィンガープリント・キャ
ッシュは、その容量に上限があるため、所定のアルゴリ
ズムに従いガーベジコレクションを行って、例えば古い
データや使いそうに無いデータを消して行くのが好まし
い。
【0108】ただし、このようにすると、サーバ側プロ
キシ30のフィンガープリント・キャッシュ34は持っ
ていてもクライアント側プロキシ40のフィンガープリ
ント・キャッシュ44では既に消されてしまっているデ
ータが発生し得ることになるので、上記の(7)で、ク
ライアント側プロキシ40において、フィンガープリン
トをもとにしてフィンガープリント・キャッシュ44か
らリプライデータを置き換えるべきデータを取り出そう
としたが、フィンガープリント・キャッシュ44に該当
するフィンガープリントとデータの組が存在しない場合
がある。このような場合には、例えば、クライアント側
プロキシ40は、サーバ側プロキシ30に対して、指定
したフィンガープリントのデータを送るように依頼し、
依頼されたサーバ側プロキシ30は、指定されたフィン
ガープリントのデータをフィンガープリント・キャッシ
ュ34から取り出して送り返すような仕組みを設ければ
よい。
【0109】なお、逆に、サーバ側プロキシ30のフィ
ンガープリント・キャッシュ34では既に消されてしま
っているがクライアント側プロキシ40のフィンガープ
リント・キャッシュ44はまだ持っていてるデータが存
在する場合には、図17を参照して説明した動作におけ
る(7)で、クライアント側プロキシ40において、フ
ィンガープリント/リプライデータをフィンガープリン
ト・キャッシュ44に登録する際に、その時点で登録さ
れていたフィンガープリント/リプライデータに対して
上書きしてもよい。
【0110】図18を参照して説明した動作における
(5)で、サーバ側プロキシ30において、リプライデ
ータのフィンガープリントを求め、該フィンガープリン
トがフィンガープリント・キャッシュ34に入っていれ
ば、当該リプライデータと同じデータが該フィンガープ
リントと組になってフィンガープリント・キャッシュ3
4に入っているものとみなして処理している。実用上、
異なるデータから同じフィンガープリントが生成されな
いことを前提にすれば、この方法で十分であるが、非常
に小さな確率で異なるデータのフィンガープリントが偶
々同じ値になってしまった場合に生じるエラーを取り除
くようにする方法もある。この場合には、リプライデー
タから求めたフィンガープリントがフィンガープリント
・キャッシュ34に入っているときに、該フィンガープ
リントと組になってフィンガープリント・キャッシュ3
4に入っているデータと、当該プライデータとを比較し
て、同じか否かを判断するようにすればよい。このと
き、もしフィンガープリントは同じであるが内容が異な
るデータが登録されていると判断された場合の処理は、
以下に例示するような方法が考えられる。・そのフィン
ガープリントは以降使用しないものとする(そのフィン
ガープリントを与えるデータは以後キャッシュされない
ことになる)。・先に登録されているフィンガープリン
ト/データを優先する(登録中のフィンガープリントと
同じ値のフィンガープリントを与える他のデータは、そ
の登録中はキャッシュされないことになる)。・現在登
録対象となっているフィンガープリント/データを優先
する(登録中のフィンガープリント/データは、同じ値
のフィンガープリントを与える他のデータによって次々
と更新されていくことになる)。
【0111】ところで、本実施形態のサーバ側プロキシ
30あるいはクライアント側プロキシ40に、後述する
URLとフィンガープリントとの対応テーブル(URL
・FPテーブル)を設け、これとフィンガープリント・
キャッシュとを併用することで、プロキシサーバの共有
キャッシュの動作をも行うようにすることができる。こ
の機能は、個々のサーバ側プロキシ30毎に、また個々
のクライアント側プロキシ40毎に、設けるか否かを定
めることができる。
【0112】まず、上記機能を設けたクライアント側プ
ロキシ40について説明する。
【0113】図19に、この場合のクライアント側プロ
キシ40の構成例を示す。このクライアント側プロキシ
40は、図12の構成・機能に加えて、更に過去にアク
セスしたURLと、そのリプライデータのフィンガープ
リントとの対応を保持するURL・フィンガープリント
・テーブル(URL・FPテーブル)45と、URLキ
ャッシュ処理部424とを備えている。
【0114】なお、URL・FPテーブル45には、U
RLおよびフィンガープリント以外に、そのURLでア
クセスしたときにリプライヘッダに入れられて来たMI
MEタイプや、有効期間の判定に使うためのタイムスタ
ンプなどの情報も併せて記録する。また、URL・FP
テーブル45には、従来の共有キャッシュがキャッシュ
できる場合にのみ必要な情報を記録する。
【0115】図20に、サーバ側プロキシ30からクラ
イアント側プロキシ40へリプライメッセージを転送す
る際のクライアント側プロキシ40の処理手順の一例を
示す。
【0116】なお、この場合の処理手順は、図14の手
順のステップS16およびS19の後に追加される以外
は、図14の手順と同じであり、図20では、図14の
手順のステップS16およびS19より後の処理手順の
部分を示してある。ここでは、図14で説明した手順に
追加する部分を中心に説明する。
【0117】クライアント側プロキシ40は、送信部4
3により、クライアント50にリプライメッセージを送
信(ステップS16またはS18)した後、URLキャ
ッシュ処理部424にて、該リプライメッセージがキャ
ッシュ対象のものであるか否か調べ、判断する(ステッ
プS27)。キャッシュ対象であると判断されたなら
ば、URLキャッシュ処理部424にて、URLとフィ
ンガープリントとリプライヘッダを構成するのに必要な
情報等を対応付けて(URLをキーにして)をURL・
FPテーブル45に登録する(ステップS28)。キャ
ッシュ対象でないと判断されたならば、何もしない。
【0118】なお、ステップS27の判断およびステッ
プS28のURL・FPテーブルへの登録は、ステップ
S13とステップS16あるいはS19の間にて行うよ
うにしても構わない。
【0119】なお、登録時の受信リプライメッセージが
キャッシュ対象のものであるか否かの判断方法は、従来
の登録時の手法と同様で構わない(例えば、GETメソ
ッドのリプライデータであって、かつ、そのヘッダにキ
ャッシュ不可を示す情報が記述されていないものをキャ
ッシュ対象とする等)。
【0120】次に、図21に、クライアント50から受
信したリクエストメッセージをクライアント側プロキシ
40からサーバ側プロキシ30へ転送する際のクライア
ント側プロキシ40におけるプロキシサーバの共有キャ
ッシュの動作に関する処理手順の一例を示す。
【0121】クライアント側プロキシ40は、受信部4
1により、クライアント50からリクエストメッセージ
を受信する(ステップS31)。
【0122】URLキャッシュ処理部424は、リクエ
ストメッセージに対するリプライメッセージがキャッシ
ュ対象のものであるか否か調べ、判断する(ステップS
32)。なお、応答時のキャッシュ対象か否かの判断方
法は、従来の応答時の手法と同様で構わない(例えば、
受信リクエストメッセージがGETメソッドのものであ
るか否か)。
【0123】リクエストデータがキャッシュ対象外のも
のと判断されたならば(ステップS32)、受信したリ
クエストメッセージを送信部43からサーバ側プロキシ
30へ転送する(ステップS38)。
【0124】ステップS32にて該リクエストメッセー
ジに対するリプライメッセージがキャッシュ対象のもの
であると判断されたならば、URLキャッシュ処理部4
24は、さらに、該リクエストメッセージに指定されて
いるURLを取り出し(ステップS33)、そのURL
をキーとしてURL・FPテーブル45を検索する(ス
テップS34)。
【0125】そのURLに対応するリプライデータのフ
ィンガープリントがキャッシュされていなければ(ステ
ップS35)、受信したリクエストメッセージを送信部
43からサーバ側プロキシ30へ転送する(ステップS
38)。このとき、現在保持しているデータのタイムス
タンプをリクエストメッセージのIf−Modifie
d−Sinceヘッダに記入してサーバ側プロキシ30
へ転送し、サーバ側プロキシ30から現在保持している
データが有効であるとのリプライメッセージを受け取る
と、ステップS37へ行くように実施することもでき
る。
【0126】また、そのURLに対応するリプライデー
タのフィンガープリントが登録されていても(ステップ
S35)、併せて保持されている有効期間の判定のため
の情報に基づいてそのデータが無効になっていると判断
されれば(ステップS36)、受信したリクエストメッ
セージを送信部43からサーバ側プロキシ30へ転送す
る(ステップS38)。
【0127】一方、そのURLに対応するリプライデー
タのフィンガープリントが登録されており(ステップS
35)、かつ、併せて保持されている有効期間の判定の
ための情報に基づいてそのデータが有効であると判断さ
れれば(ステップS36)、URLキャッシュ処理部4
24は、URL・FPテーブル45からリプライデータ
を構成するのに必要な情報を得るとともに、当該URL
に対応するリプライデータのフィンガープリントをキー
としてフィンガープリント・キャッシュ44を検索して
リプライデータを取得し、それらをもとにリプライメッ
セージを生成して、これを送信部43からクライアント
50へ転送する(ステップS37)。
【0128】以下では、図22(応答時)を参照しなが
ら、共有キャッシュの動作についてより具体的に説明す
る。
【0129】(1)クライアント50上のブラウザ等
は、例えば“/C.html”というURLでサーバ2
0に、GETメソッドのリクエストメッセージを出した
とする。
【0130】(2)新しいURLでリクエストが来たと
きに、そのURLがURL・FPテーブル45に載って
いれば、従来の共有キャッシュと同様に有効期間の判定
を行い、有効と判断できれば、そのURLに対応するフ
ィンガープリントをURL・FPテーブル45を引いて
求め、それを名前とするデータをフィンガープリント・
キャッシュ44から取り出してリプライデータとし、さ
らに、URL・FPテーブル45からMIMEタイプ等
のリプライヘッダを構成するのに必要な情報を取り出し
てリプライヘッダを作成する。
【0131】(3)作成したリプライメッセージを、ク
ライアント20(上で動作するブラウザ等)へ送り返
す。
【0132】なお、キャッシュの内容が指定した時間以
降に更新されている場合にのみデータを送ることを依頼
するIf−Modified−Sinceヘッダを持っ
たリクエストメッセージの場合も、まずURL・FPテ
ーブルを参照して更新されていないことが判断できれ
ば、そこでリプライメッセージを作成して返し、そうで
なければサーバまで再びIf−Modified−Si
nceの情報を書き直して聞きに行くように実施するこ
ともできる。
【0133】次に、キャッシュ機能を設けたサーバ側プ
ロキシ30について説明する。
【0134】上記ではクライアント側プロキシ40のキ
ャッシュ機能について説明したが、サーバ側プロキシ3
0も同様に実施可能である。
【0135】この場合、クライアント側プロキシ40に
対するメッセージ転送元のクライアント50とメッセー
ジ転送先のサーバ側プロキシ30が、サーバ側プロキシ
30に対してはそれぞれクライアント側プロキシ40
(転送元)とサーバ20(転送先)になり、キャッシュ
に関係する構成・手順は同様である。
【0136】図23に、この場合のサーバ側プロキシ3
0の構成例を示す。このサーバ側プロキシ30は、図1
1の構成・機能に加えて、更に過去にアクセスしたUR
Lと、そのリプライデータのフィンガープリントとの対
応を保持するURL・フィンガープリント・テーブル
(URL・FPテーブル)35と、URLキャッシュ処
理部324とを備えている。
【0137】図24に、サーバ側プロキシ30からクラ
イアント側プロキシ40へリプライメッセージを転送す
る際のサーバ側プロキシ30の処理手順の一例を示す。
【0138】なお、この場合の処理手順は、図13の手
順のステップS6およびS8の後に追加される以外は、
図13の手順と同じであり、図24では、図13の手順
のステップS6およびS8より後の処理手順の部分を示
してある。ここでは、図13で説明した手順と相違する
部分を中心に説明する。
【0139】サーバ側プロキシ30は、送信部33によ
り、クライアント側プロキシ40にリプライメッセージ
を送信(ステップS6またはS8)した後、URLキャ
ッシュ処理部324にて、該リプライメッセージのリプ
ライデータがキャッシュ対象のものであるか否か調べ、
判断する(ステップS39−2)。キャッシュ対象であ
ると判断されたならば、URLキャッシュ処理部324
にて、URLとフィンガープリントとリプライヘッダを
構成するのに必要な情報等を対応付けて(URLをキー
にして)をURL・FPテーブル35に登録する(ステ
ップS39−3)。キャッシュ対象でないと判断された
ならば、何もしない。
【0140】もちろん、前述と同様に、この手順も種々
変形することが可能である。
【0141】図25に、クライアント側プロキシ40か
ら受信したリクエストメッセージをサーバ側プロキシ3
0からサーバ20へ転送する際のサーバ側プロキシ30
におけるプロキシサーバの共有キャッシュの動作に関す
る処理手順の一例を示す。
【0142】この場合の処理手順は、基本的には図21
の手順と同様である。なお、図21のS37ではリプラ
イデータを作成してクライアント50へ転送するが、こ
れに対応する図25のS47ではFP圧縮時のフォーマ
ット(例えば図8(b)等)でリプライデータを作成し
てクライアント側プロキシ40へ転送することになる。
【0143】このように、サーバ側プロキシにもURL
・FPテーブル表を持ってキャッシュの処理をする構成
は、一つのサーバ側プロキシが複数のクライアント側プ
ロキシから使われているときに有効に働く。すなわち、
あるクライアント側プロキシから要求のあったキャッシ
ュ可能なデータが既に他のクライアント側プロキシによ
ってアクセスされている場合には、サーバ側プロキシに
もキャッシュされているので、そのデータを送り返すだ
けで処理が完了する。
【0144】なお、以上では、URL・FPテーブル表
をフィンガープリント・キャッシュとは別途に設ける場
合について説明したが、URL・FPテーブル表をフィ
ンガープリント・キャッシュと一体化して構成すること
も可能である。
【0145】さて、これまで説明した例では、サーバ側
プロキシ30からクライアント側プロキシ40へリプラ
イデータを転送するときに、該リプライデータがフィン
ガープリント・キャッシュに登録されているデータと同
じものである場合には、該リプライデータに代えて、対
応するフィンガープリントを転送することで、ネットワ
ークのトラフィックを軽減しているが、FP圧縮は、ク
ライアント側プロキシ40からサーバ側プロキシ30へ
リクエストデータを転送する場合についてさらに適用す
ることが可能である。なお、FP圧縮を、クライアント
側プロキシ240からサーバ側プロキシ230へリクエ
ストデータを転送する場合についてのみ適用することも
可能である。
【0146】また、FP圧縮を該リクエストデータ転送
のみに適用した場合、FP圧縮を該リプライデータ転送
のみに適用した場合、FP圧縮を該リクエストデータ転
送および該リプライデータ転送に適用した場合のいずれ
においても、リクエストメッセージが指定するURLに
対応するリプライデータに対する共用キャッシュ機能に
関する構成をクライアント側プロキシのみに設けること
も、サーバ側プロキシのみに設けることも、両プロキシ
に設けることも可能である。
【0147】FP圧縮をクライアント側プロキシ40か
らサーバ側プロキシ30へのリクエストデータ転送に適
用する場合、すでに説明したリプライデータに対するサ
ーバ側プロキシ30とクライアント側プロキシ40との
役割を逆にすればよいので、FP圧縮を両データ転送に
適用する場合には、サーバ側プロキシ30は図11の構
成に加えて、更に処理部32にフィンガープリント解凍
処理部を備え、クライアント側プロキシ40は図12の
構成に加えて、更に処理部42にフィンガープリント圧
縮処理部を備えればよい。
【0148】なお、いずれのプロキシにおいても、フィ
ンガープリント圧縮処理部とフィンガープリント解凍処
理部とを併せて、フィンガープリント(FP)圧縮・解
凍処理部としてもよい。
【0149】また、サーバ側プロキシ30やクライアン
ト側プロキシ40は、リプライデータ転送に対するフィ
ンガープリント・キャッシュとは独立にリクエストデー
タ転送に対するフィンガープリント・キャッシュを設け
てもよいが、リプライデータ転送とクエストデータ転送
とで同じフィンガープリント・キャッシュを共用しても
よい。
【0150】図26に、この場合のプロキシ(サーバ側
プロキシ、クライアント側プロキシ)の構成例を示す。
【0151】また、図27に、クライアント側プロキシ
40からサーバ側プロキシ30へリクエストメッセージ
を転送する際のクライアント側プロキシ40の処理手順
の一例を示す。
【0152】クライアント側プロキシ40は、受信部4
1により、クライアント50からリクエストメッセージ
を受信する(ステップS51)。
【0153】FP圧縮判定部421は、該リクエストメ
ッセージのリクエストデータがFP圧縮対象のものであ
るか否か調べ、判断する(ステップS52)。リクエス
トデータがFP圧縮対象外のものと判断されたならば
(ステップS52)、受信したリクエストメッセージを
送信部43からサーバ側プロキシ30へ転送する(ステ
ップS59)。
【0154】ステップS52にて該リクエストメッセー
ジのリクエストデータがFP圧縮対象のものであると判
断されたならば、FPキャッシュ管理部422にて、該
リクエストデータのフィンガープリントの値を計算し
(ステップS53)、該フィンガープリントの値をキー
としてフィンガープリント・キャッシュ44を検索する
(ステップS54)。
【0155】そして、該フィンガープリントの値とこれ
に対応するデータとの組がフィンガープリント・キャッ
シュ44に登録されていたならば(ステップS55)、
FP圧縮・解凍処理部425にて、受信したリクエスト
メッセージを、該フィンガープリントの値を用いてFP
圧縮時のフォーマットにして(例えば図8(b)等)、
送信部43から、サーバ側プロキシ30へ送信する(ス
テップS56)。
【0156】一方、ステップS54の検索の結果、該フ
ィンガープリントの値とこれに対応するデータとの組が
フィンガープリント・キャッシュ44に登録されていな
かったならば(ステップS55)、次の2つの作業を行
う。 (1)FP圧縮・解凍処理部425にて、受信したリク
エストメッセージを、(必要に応じて該フィンガープリ
ントの値を用いて)非FP圧縮時のフォーマットにして
(例えば図8(a)等)、送信部43から、サーバ側プ
ロキシ30へ送信する(ステップS57)。 (2)FPキャッシュ管理部422にて、該フィンガー
プリントの値と、該リクエストデータとを対応付けて
(フィンガープリントの値をキーにして)、フィンガー
プリント・キャッシュ44に登録する(ステップS5
8)。
【0157】なお、上記の(1)と(2)は、いずれを
先に行ってもよいし、並行して行ってもよい。
【0158】次に、図28に、クライアント側プロキシ
40からサーバ側プロキシ30へリクエストメッセージ
を転送する際のサーバ側プロキシ30の処理手順の一例
を示す。
【0159】サーバ側プロキシ30は、受信部31によ
り、クライアント側プロキシ40からリクエストメッセ
ージを受信する(ステップS61)。
【0160】FP圧縮判定部321は、該リクエストメ
ッセージのリクエストデータがFP圧縮対象のものであ
るか否か調べ、判断する(ステップS62)。リクエス
トデータがFP圧縮対象外のものと判断されたならば
(ステップS62)、受信したリクエストメッセージを
送信部33からサーバ20へ転送する(ステップS7
0)。
【0161】ステップS62にて該リクエストメッセー
ジのリクエストデータがFP圧縮対象のものであると判
断されたならば、FP圧縮判定部321は、さらに、リ
クエストデータがFP圧縮されているか否か調べ、判断
する(ステップS63)。
【0162】ステップS63にて該リクエストメッセー
ジのリクエストデータがFP圧縮されているものと判断
されたならば(例えば図8(b)等の場合)、FPキャ
ッシュ管理部322にて、該リクエストデータのフィン
ガープリントの値を求め(ステップS64)、該フィン
ガープリントの値をキーとしてフィンガープリント・キ
ャッシュ34を検索する(ステップS65)。
【0163】そして、FP圧縮・解凍処理部325に
て、受信リプライメッセージに対して、フィンガープリ
ント・キャッシュ34から検索された該フィンガープリ
ントの値に対応するデータを付加し、プロキシ間で特別
の情報を使用する場合には該情報を削除した後に、これ
を送信部33からサーバ20へ送信する(ステップS6
6)。
【0164】一方、ステップS63にて該リクエストメ
ッセージのリクエストデータがFP圧縮されていないも
のと判断されたならば(例えば図8(a)等の場合)、
次の2つの作業を行う。 (1)FP圧縮・解凍処理部325にて、プロキシ間で
特別の情報を使用する場合には受信リプライメッセージ
から該情報を削除した後に、これを送信部33からサー
バ20へ送信する(ステップS68)。 (2)FPキャッシュ管理部322にて、該リクエスト
データのフィンガープリントの値を求め(ステップS6
7)、該フィンガープリントの値と、該リクエストデー
タとを対応付けて(フィンガープリントの値をキーにし
て)、フィンガープリント・キャッシュ34に登録する
(ステップS69)。
【0165】なお、上記の(1)と(2)は、いずれを
先に行ってもよいし、並行して行ってもよい。
【0166】前述と同様、ステップS67では、メッセ
ージにフィンガープリントが記述されている場合に、該
メッセージからフィンガープリントを得る方法と、メッ
セージにフィンガープリントが記述されてない場合に、
リクエストデータをもとにハッシュ関数等によってフィ
ンガープリントの値を計算する方法とがある。なお、メ
ッセージにフィンガープリントが記述されている場合で
あっても、リクエストデータをもとにフィンガープリン
トの値を計算する方法も可能である。また、ステップS
64/ステップS67は、ステップS62とステップS
63の間にて行うようにしても構わないし、ステップS
67は、ステップS68とステップS69の間にて行う
ようにしても構わない。
【0167】また、ステップS62の判断とステップS
63の判断は、同時に行ってもよい。
【0168】このようにリクエストデータに対してもフ
ィンガープリントで置き換えられるように実施すると、
例えば、同じファイルを何度もサーバにアップロードす
る際ときには、2回目以降フィンガープリントを送るだ
けで済むので、ネットワークのトラフィックを軽減させ
ることができる。
【0169】もちろん、この場合に、前述したクライア
ントが送信したリクエストメッセージが指定するURL
に対応するリプライデータに対する共用キャッシュ機能
に関する構成をサーバ側プロキシやクライアント側プロ
キシに対して併せて実施することも可能である。この場
合のプロキシ(サーバ側プロキシ、クライアント側プロ
キシ)の構成例を図29に示す。この場合のサーバ側プ
ロキシやクライアント側プロキシの動作は既に説明した
ものと同様である。
【0170】なお、本実施形態では、クライアント側プ
ロキシからサーバ側プロキシへ転送されるリクエストメ
ッセージや、サーバ側プロキシからクライアント側プロ
キシへ転送されるリプライメッセージを対象とする場合
について示してきたが、あるプロキシに、リクエストメ
ッセージを送信する装置とリプライメッセージを送信す
る装置との両方、あるいはリクエストメッセージおよび
リプライメッセージの両方を送信する装置が接続されて
いる場合には、もちろん、クライアント側プロキシから
サーバ側プロキシへ転送されるリクエストメッセージお
よびリプライメッセージならびにサーバ側プロキシから
クライアント側プロキシへ転送されるリクエストメッセ
ージおよびリプライメッセージを対象とすることや、ク
ライアント側プロキシからサーバ側プロキシへ転送され
るリクエストメッセージおよびサーバ側プロキシからク
ライアント側プロキシへ転送されるリクエストメッセー
ジのみ対象とすることなども可能である。
【0171】ところで、これまでは1つのサーバ側プロ
キシと1つのクライアント側プロキシとの間の1対1の
通信に着目して説明してきたが、本発明の適用範囲はも
ちろんサーバ側プロキシとクライアント側プロキシとが
1対1で通信するシステムには限定されるものではない
く、サーバ側プロキシとクライアント側プロキシとが1
対多で通信するシステム、サーバ側プロキシとクライア
ント側プロキシとが多対1で通信するシステム、あるい
はサーバ側プロキシとクライアント側プロキシとが多対
多で通信するシステムにも適用可能である。例えば、図
30のように、複数のユーザオフィスに設置したクライ
アント側プロキシや、モバイルユーザが利用する個人用
プロキシなどがサーバ側プロキシを共有して使用するよ
うに実施することも可能である。
【0172】また、これまでは、1つのメッセージに含
まれるデータ全体をFP圧縮する対象(フィンガープリ
ント・キャッシュに登録する対象)にしていたが、例え
ば、1つのメッセージに含まれるデータが所定の単位の
データの集合で構成される場合には、1つのメッセージ
に含まれる一部の単位データのみFP圧縮する対象(フ
ィンガープリント・キャッシュに登録する対象)にする
構成も可能である。
【0173】なお、以上の各機能は、ソフトウェアとし
て実現可能である。また、本実施形態は、コンピュータ
に所定の手段を実行させるための(あるいはコンピュー
タを所定の手段として機能させるための、あるいはコン
ピュータに所定の機能を実現させるための)プログラム
として実施することもでき、該プログラムを記録したコ
ンピュータ読取り可能な記録媒体として実施することも
できる。
【0174】なお、この発明の実施の形態で例示した構
成は一例であって、それ以外の構成を排除する趣旨のも
のではなく、例示した構成の一部を他のもので置き換え
たり、例示した構成の一部を省いたり、例示した構成に
別の機能あるいは要素を付加したり、それらを組み合わ
せたりすることなどによって得られる別の構成も可能で
ある。また、例示した構成と論理的に等価な別の構成、
例示した構成と論理的に等価な部分を含む別の構成、例
示した構成の要部と論理的に等価な別の構成なども可能
である。また、例示した構成と同一もしくは類似の目的
を達成する別の構成、例示した構成と同一もしくは類似
の効果を奏する別の構成なども可能である。また、この
発明の実施の形態で例示した各種構成部分についての各
種バリエーションは、適宜組み合わせて実施することが
可能である。また、この発明の実施の形態は、個別装置
としての発明、関連を持つ2以上の装置についての発
明、システム全体としての発明、個別装置内部の構成部
分についての発明、またはそれらに対応する方法の発明
等、種々の観点、段階、概念またはカテゴリに係る発明
を包含・内在するものである。従って、この発明の実施
の形態に開示した内容からは、例示した構成に限定され
ることなく発明を抽出することができるものである。
【0175】本発明は、上述した実施の形態に限定され
るものではなく、その技術的範囲において種々変形して
実施することができる。
【0176】
【発明の効果】本発明によれば、データ転送装置間でデ
ータとその名前との対応を保持し、この対応を保持して
いるデータについては、データを転送するの代わりに対
応する名前を転送することで、データ転送装置間の転送
データ量を削減することができる。
【図面の簡単な説明】
【図1】本発明の一実施形態に係るコンピュータ・ネッ
トワーク・システムの構成例を示す図
【図2】同実施形態に係るコンピュータ・ネットワーク
・システムの他の構成例を示す図
【図3】同実施形態に係るコンピュータ・ネットワーク
・システムのさらに他の構成例を示す図
【図4】同実施形態で使用するフィンガープリントにつ
いて説明するための図
【図5】同実施形態で使用するフィンガープリント・キ
ャッシュについて説明するための図
【図6】同実施形態で使用するメッセージ・フォーマッ
トの一例を示す図
【図7】同実施形態で使用するメッセージ・フォーマッ
トの他の例を示す図
【図8】同実施形態で使用するメッセージ・フォーマッ
トのさらに他の例を示す図
【図9】同実施形態で使用するメッセージ・フォーマッ
トのさらに他の例を示す図
【図10】同実施形態で使用するメッセージ・フォーマ
ットのさらに他の例を示す図
【図11】同実施形態に係るサーバ側プロキシの構成例
を示す図
【図12】同実施形態に係るクライアント側プロキシの
構成例を示す図
【図13】同実施形態に係るサーバ側プロキシの手順例
を示すフローチャート
【図14】同実施形態に係るクライアント側プロキシの
手順例を示すフローチャート
【図15】同実施形態に係るサーバ側プロキシの手順例
を示すフローチャート
【図16】同実施形態に係るクライアント側プロキシの
手順例を示すフローチャート
【図17】同実施形態に係るサーバ側プロキシとクライ
アント側プロキシとの間のデータ転送について説明する
ための図
【図18】同実施形態に係るサーバ側プロキシとクライ
アント側プロキシとの間のデータ転送について説明する
ための図
【図19】同実施形態に係るクライアント側プロキシの
他の構成例を示す図
【図20】同実施形態に係るクライアント側プロキシの
他の手順例を示すフローチャート
【図21】同実施形態に係るクライアント側プロキシの
他の手順例を示すフローチャート
【図22】同実施形態に係るクライアントとクライアン
ト側プロキシとの間のデータ転送について説明するため
の図
【図23】同実施形態に係るサーバ側プロキシの他の構
成例を示す図
【図24】同実施形態に係るサーバ側プロキシの他の手
順例を示すフローチャート
【図25】同実施形態に係るサーバ側プロキシの他の手
順例を示すフローチャート
【図26】同実施形態にプロキシのさらに他の構成例を
示す図
【図27】同実施形態に係るクライアント側プロキシの
さらに他の手順例を示すフローチャート
【図28】同実施形態に係るサーバ側プロキシのさらに
他の手順例を示すフローチャート
【図29】同実施形態にプロキシのさらに他の構成例を
示す図
【図30】同実施形態に係るコンピュータ・ネットワー
ク・システムのさらに他の構成例を示す図
【図31】従来のコンピュータ・ネットワーク・システ
ムについて説明するための図
【図32】図6(a)のフォーマットのメッセージの具
体例を示す図
【図33】図6(b)のフォーマットのメッセージの具
体例を示す図
【図34】図7のフォーマットのメッセージの具体例を
示す図
【図35】図8(a)のフォーマットのメッセージの具
体例を示す図
【図36】図8(b)のフォーマットのメッセージの具
体例を示す図
【図37】図9(a)のフォーマットのメッセージの具
体例を示す図
【図38】図9(b)のフォーマットのメッセージの具
体例を示す図
【図39】図10のフォーマットのメッセージの具体例
を示す図
【符号の説明】
2…ASPサーバセンター 4…ユーザオフィス 12…ASPサーバセンター内LAN 14…WAN 16…ユーザオフィス内LAN 20…サーバ装置 30…サーバ側プロキシ装置 40…クライアント側プロキシ装置 50…クライアント装置 31,41…受信部 32,42…処理部 33,43…送信部 34,44…フィンガープリント・キャッシュ 35,45…URL・FPテーブル 321,421…FP圧縮判定部 322,422…フィンガープリント・キャッシュ管理
部 323…FP圧縮処理部 423…FP解凍処理部 324,424…URLキャッシュ処理部 325,425…FP解凍・解凍処理部
───────────────────────────────────────────────────── フロントページの続き (72)発明者 關 俊文 神奈川県川崎市幸区小向東芝町1番地 株 式会社東芝研究開発センター内 (72)発明者 吉井 謙一郎 神奈川県川崎市幸区小向東芝町1番地 株 式会社東芝研究開発センター内 (72)発明者 佐藤 英昭 神奈川県川崎市幸区小向東芝町1番地 株 式会社東芝研究開発センター内 (72)発明者 宮澤 隆幸 神奈川県川崎市幸区小向東芝町1番地 株 式会社東芝研究開発センター内 (72)発明者 木村 康浩 神奈川県川崎市幸区小向東芝町1番地 株 式会社東芝研究開発センター内 (72)発明者 外山 春彦 神奈川県川崎市幸区小向東芝町1番地 株 式会社東芝研究開発センター内 Fターム(参考) 5B082 EA09 GA01 GA20 HA02 HA05 HA08

Claims (24)

    【特許請求の範囲】
  1. 【請求項1】第1の通信装置から送信されたデータを受
    信し、該データをその宛先となる第2の通信装置に通ず
    る他のデータ転送装置へ送信するとともに、該第2の通
    信装置から送信されたデータを該他のデータ転送装置を
    介して受信し、該データをその宛先となる該第1の通信
    装置へ送信するデータ転送装置であって、 前記第1の通信装置から前記データを受信するための受
    信手段と、 過去に前記他のデータ転送装置へ送信したデータと、該
    データの内容をもとに生成して該データに割り当てた名
    前とを対応付けて保持するための保持手段と、前記第1
    の通信装置から送信されたデータを受信した際に、該受
    信したデータの内容をもとに生成した該データに割り当
    てるべき名前が、前記保持手段に保持されている場合に
    は、該データの代わりに該名前を送信するための処理を
    行い、該受信したデータに割り当てられるべき名前が、
    前記保持手段に保持されていない場合には、該受信した
    データと該名前とを対応付けて前記保持手段に保持する
    ための処理を行うとともに、該データを送信するための
    処理を行う処理手段と、 前記処理手段の処理に応じて前記名前または前記受信し
    たデータを、前記他のデータ転送装置へ送信するための
    送信手段とを備えたことを特徴とするデータ転送装置。
  2. 【請求項2】第1の通信装置から送信されたデータを他
    のデータ転送装置を介して受信し、該データをその宛先
    となる第2の通信装置へ送信するとともに、該第2の通
    信装置から送信されたデータを受信し、該データをその
    宛先となる第1の通信装置に通ずる他のデータ転送装置
    へ送信するデータ転送装置であって、 前記他のデータ転送装置から前記データまたは該データ
    の代わりに該データの内容をもとに生成して該データに
    割り当てられた名前を受信するための受信手段と、 過去に前記他のデータ転送装置から受信したデータと、
    該データの内容をもとに生成して該データに割り当てら
    れた名前とを対応付けて保持するための保持手段と、 前記他のデータ転送装置から前記名前を受信した場合に
    は、前記保持手段から該受信した名前に対応付けて保持
    されているデータを取得し、該取得したデータを送信す
    るための処理を行い、前記他のデータ転送装置から前記
    データを受信した場合には、該受信したデータと該デー
    タに割り当てられるべき名前とを対応付けて前記保持手
    段に保持するための処理を行うとともに、該受信したデ
    ータを送信するための処理を行う処理手段と、 前記処理手段の処理に応じて前記取得したデータまたは
    前記受信したデータを、前記第2の通信装置へ送信する
    ための送信手段とを備えたことを特徴とするデータ転送
    装置。
  3. 【請求項3】前記名前は、所定の方法によって前記デー
    タを圧縮して得た値であることを特徴とする請求項1ま
    たは2に記載のデータ転送装置。
  4. 【請求項4】前記名前は、前記データに所定のハッシュ
    関数を適用して得られた値であることを特徴とする請求
    項1または2に記載のデータ転送装置。
  5. 【請求項5】前記受信したデータに割り当てられるべき
    前記名前が前記保持手段に保持されていなかったため
    に、該受信したデータを前記他のデータ転送装置へ送信
    する際には、該受信したデータに割り当てられるべき前
    記名前をも併せて送信することを特徴とする請求項1に
    記載のデータ転送装置。
  6. 【請求項6】前記他のデータ転送装置から前記データと
    ともに該データに割り当てられるべき前記名前を受信し
    た場合に、該受信したデータと該受信した名前とを対応
    付けて前記保持手段に保持することを特徴とする請求項
    2に記載のデータ転送装置。
  7. 【請求項7】少なくともリプライメッセージのデータで
    あって空でないものを対象として前記保持手段への保持
    及び前記名前の転送を行うことを特徴とする請求項1ま
    たは2に記載のデータ転送装置。
  8. 【請求項8】予め定められた条件を満たすデータは、前
    記保持手段への保持を行う対象から除外することを特徴
    とする請求項1または2に記載のデータ転送装置。
  9. 【請求項9】前記データ転送装置は、ローカルエリアネ
    ットワークを介して前記第1の通信装置と接続されたも
    のであることを特徴とする請求項1に記載のデータ転送
    装置。
  10. 【請求項10】前記データ転送装置は、前記第1の通信
    装置上にソフトウェアとして搭載されたものであること
    を特徴とする請求項1に記載のデータ転送装置。
  11. 【請求項11】前記データ転送装置は、ローカルエリア
    ネットワークを介して前記第2の通信装置と接続された
    ものであることを特徴とする請求項2に記載のデータ転
    送装置。
  12. 【請求項12】前記データ転送装置は、前記第2の通信
    装置上にソフトウェアとして搭載されたものであること
    を特徴とする請求項2に記載のデータ転送装置。
  13. 【請求項13】前記第1の通信装置から受信したデータ
    について前記保持手段への保持を行う場合に、該受信し
    たデータが、前記第2の通信装置から該第1の通信装置
    へのリクエストメッセージに対するリプライメッセージ
    のデータであるときに、該リプライメッセージに対応す
    るリクエストメッセージが要求するデータについてのU
    RLと、該データに割り当てられた前記名前とを対応付
    けて、前記保持手段または別の保持手段に保持してお
    き、 前記他のデータ転送装置から前記第2の通信装置が送信
    したリクエストメッセージを受信した場合に、該リクエ
    ストメッセージが要求するデータについてのURLが前
    記保持手段または別の保持手段に保持されているとき
    に、該URLに対応する前記名前に対応付けて前記保持
    手段に保持されている前記データをもとに前記リクエス
    トメッセージに対するリプライメッセージであって前記
    第2の通信装置に宛てたものを作成し、 作成した前記リプライメッセージを前記他のデータ転送
    装置へ送信することを特徴とする請求項1に記載のデー
    タ転送装置。
  14. 【請求項14】前記他のデータ転送装置から受信したデ
    ータについて前記保持手段への保持を行う場合に、該受
    信したデータが、前記第2の通信装置から前記第1の通
    信装置への所定のリクエストメッセージに対するリプラ
    イメッセージのデータであるときに、該リプライメッセ
    ージに対応するリクエストメッセージが要求するデータ
    についてのURLと、該データに割り当てられた前記名
    前とを対応付けて、前記保持手段または別の保持手段に
    保持しておき、 前記第2の通信装置から前記所定のリクエストメッセー
    ジを受信した場合に、該リクエストメッセージが要求す
    るデータについてのURLが前記保持手段または別の保
    持手段に保持されているときに、該URLに対応する前
    記名前に対応付けて前記保持手段に保持されている前記
    データをもとに前記リクエストメッセージに対するリプ
    ライメッセージを作成し、 作成した前記リプライメッセージを前記第2の通信装置
    へ送信することを特徴とする請求項2に記載のデータ転
    送装置。
  15. 【請求項15】前記第1の通信装置はサーバ装置であ
    り、前記第2の通信装置はクライアント装置であること
    を特徴とする請求項1、2、13または14に記載のデ
    ータ転送装置。
  16. 【請求項16】前記所定のリクエストメッセージは、G
    ETメソッドのリクエストメッセージであることを特徴
    とする請求項13または14に記載のデータ転送装置。
  17. 【請求項17】第1の通信装置から送信されたデータを
    受信し、該データをその宛先となる第2の通信装置に通
    ずる他のデータ転送装置へ送信するとともに、該第2の
    通信装置から送信されたデータを該他のデータ転送装置
    を介して受信し、該データをその宛先となる該第1の通
    信装置へ送信するデータ転送装置におけるデータ転送方
    法であって、 前記第1の通信装置から送信されたデータを受信し、 受信された前記データの内容をもとに生成した該データ
    に割り当てるべき名前が、過去に前記他のデータ転送装
    置へ送信したデータと該データの内容をもとに生成して
    該データに割り当てた名前とを対応付けて保持するため
    の保持手段に保持されているか否か判断し、 保持されている場合には、受信された前記データの代わ
    りに前記名前を送信するための処理を行い、保持されて
    いない場合には、受信された該データと前記名前とを対
    応付けて前記保持手段に保持するための処理を行うとと
    もに、該データを送信するための処理を行うことを特徴
    とするデータ転送方法。
  18. 【請求項18】第1の通信装置から送信されたデータを
    他のデータ転送装置を介して受信し、該データをその宛
    先となる第2の通信装置へ送信するとともに、該第2の
    通信装置から送信されたデータを受信し、該データをそ
    の宛先となる第1の通信装置に通ずる他のデータ転送装
    置へ送信するデータ転送装置におけるデータ転送方法で
    あって、 前記他のデータ転送装置から前記データまたは該データ
    の代わりに該データの内容をもとに生成して該データに
    割り当てられた名前を受信し、 前記他のデータ転送装置から前記データの代わりに該デ
    ータの内容をもとに生成して該データに割り当てられた
    名前を受信した場合には、過去に前記他のデータ転送装
    置から受信されたデータと該データの内容をもとに生成
    して該データに割り当てられた名前とを対応付けて保持
    するための保持手段から、受信された前記名前に対応付
    けて保持されているデータを取得し、該取得したデータ
    を送信するための処理を行い、前記他のデータ転送装置
    から前記データを受信した場合には、受信された該デー
    タと該データに割り当てられるべき名前とを対応付けて
    前記保持手段に保持するための処理を行うとともに、受
    信された該データを送信するための処理を行うことを特
    徴とするデータ転送方法。
  19. 【請求項19】前記第1の通信装置から受信されたデー
    タについて前記保持手段への保持を行う場合に、受信さ
    れた前記データが、前記第2の通信装置から該第1の通
    信装置へのリクエストメッセージに対するリプライメッ
    セージのデータであるときに、該リプライメッセージに
    対応するリクエストメッセージが要求するデータについ
    てのURLと、該データに割り当てられた前記名前とを
    対応付けて、前記保持手段または別の保持手段に保持し
    ておき、 前記他のデータ転送装置から前記第2の通信装置が送信
    したリクエストメッセージを受信した場合に、該リクエ
    ストメッセージが要求するデータについてのURLが前
    記保持手段または別の保持手段に保持されているとき
    に、該URLに対応する前記名前に対応付けて前記保持
    手段に保持されている前記データをもとに前記リクエス
    トメッセージに対するリプライメッセージであって前記
    第2の通信装置に宛てたものを作成し、 作成した前記リプライメッセージを前記他のデータ転送
    装置へ送信することを特徴とする請求項17に記載のデ
    ータ転送方法。
  20. 【請求項20】前記他のデータ転送装置から受信された
    データについて前記保持手段への保持を行う場合に、受
    信された前記データが、前記第2の通信装置から前記第
    1の通信装置への所定のリクエストメッセージに対する
    リプライメッセージのデータであるときに、該リプライ
    メッセージに対応するリクエストメッセージが要求する
    データについてのURLと、該データに割り当てられた
    前記名前とを対応付けて、前記保持手段または別の保持
    手段に保持しておき、 前記第2の通信装置から前記所定のリクエストメッセー
    ジを受信した場合に、該リクエストメッセージが要求す
    るデータについてのURLが前記保持手段または別の保
    持手段に保持されているときに、該URLに対応する前
    記名前に対応付けて前記保持手段に保持されている前記
    データをもとに前記リクエストメッセージに対するリプ
    ライメッセージを作成し、 作成した前記リプライメッセージを前記第2の通信装置
    へ送信することを特徴とする請求項18に記載のデータ
    転送方法。
  21. 【請求項21】第1の通信装置から送信されたデータを
    受信し、該データをその宛先となる第2の通信装置に通
    ずる他のデータ転送装置へ送信するとともに、該第2の
    通信装置から送信されたデータを該他のデータ転送装置
    を介して受信し、該データをその宛先となる該第1の通
    信装置へ送信するデータ転送装置としてコンピュータを
    機能させるためのプログラムであって、 過去に前記他のデータ転送装置へ送信したデータと、該
    データの内容をもとに生成して該データに割り当てた名
    前とを対応付けて記憶装置に保持するための機能と、 前記第1の通信装置から送信されたデータを受信した際
    に、該受信したデータの内容をもとに生成した該データ
    に割り当てるべき名前が、前記記憶装置に保持されてい
    る場合には、該データの代わりに該名前を送信するため
    の処理を行い、該受信したデータに割り当てられるべき
    名前が、前記記憶装置に保持されていない場合には、該
    受信したデータと該名前とを対応付けて前記記憶装置に
    保持するための処理を行うとともに、該データを送信す
    るための処理を行う機能とをコンピュータに実現させる
    ためのプログラム。
  22. 【請求項22】第1の通信装置から送信されたデータを
    他のデータ転送装置を介して受信し、該データをその宛
    先となる第2の通信装置へ送信するとともに、該第2の
    通信装置から送信されたデータを受信し、該データをそ
    の宛先となる第1の通信装置に通ずる他のデータ転送装
    置へ送信するデータ転送装置としてコンピュータを機能
    させるためのプログラムであって、 過去に前記他のデータ転送装置から受信したデータと、
    該データの内容をもとに生成して該データに割り当てら
    れた名前とを対応付けて記憶装置に保持するための機能
    と、 前記他のデータ転送装置から前記データを受信したか、
    または該データの代わりに該データの内容をもとに生成
    して該データに割り当てられた名前を受信したかを判断
    するための機能と、 前記他のデータ転送装置から前記データの代わりに該デ
    ータの内容をもとに生成して該データに割り当てられた
    名前を受信した場合には、前記記憶装置から該受信した
    名前に対応付けて保持されているデータを取得し、該取
    得したデータを送信するための処理を行い、前記他のデ
    ータ転送装置から前記データを受信した場合には、該受
    信したデータと該データに割り当てられるべき名前とを
    対応付けて前記記憶装置に保持するための処理を行うと
    ともに、該受信したデータを送信するための処理を行う
    機能とをコンピュータに実現させるためのプログラム。
  23. 【請求項23】前記第1の通信装置から受信したデータ
    について前記記憶装置への保持を行う場合に、該受信し
    たデータが、前記第2の通信装置から該第1の通信装置
    へのリクエストメッセージに対するリプライメッセージ
    のデータであるときに、該リプライメッセージに対応す
    るリクエストメッセージが要求するデータについてのU
    RLと、該データに割り当てられた前記名前とを対応付
    けて前記記憶装置に保持するための機能と、 前記他のデータ転送装置からリクエストメッセージを受
    信した場合に、該リクエストメッセージが要求するデー
    タについてのURLが前記記憶装置に保持されていると
    きに、該URLに対応する前記名前に対応付けて前記記
    憶装置に保持されている前記データをもとに前記リクエ
    ストメッセージに対するリプライメッセージであって前
    記第2の通信装置に宛てたものを作成する機能とを更に
    コンピュータに実現させるための請求項21に記載のプ
    ログラム。
  24. 【請求項24】前記他のデータ転送装置から受信したデ
    ータについて前記記憶装置への保持を行う場合に、該受
    信したデータが、前記第2の通信装置から該第1の通信
    装置へのリクエストメッセージに対するリプライメッセ
    ージのデータであるときに、該リプライメッセージに対
    応するリクエストメッセージが要求するデータについて
    のURLと、該データに割り当てられた前記名前とを対
    応付けて前記記憶装置に保持するための機能と、 前記第2の通信装置からリクエストメッセージを受信し
    た場合に、該リクエストメッセージが要求するデータに
    ついてのURLが前記記憶装置に保持されているとき
    に、該URLに対応する前記名前に対応付けて前記記憶
    装置に保持されている前記データをもとに前記リクエス
    トメッセージに対するリプライメッセージであって前記
    第2の通信装置に宛てたものを作成する機能とを更にコ
    ンピュータに実現させるための請求項22に記載のプロ
    グラム。
JP2001069284A 2001-03-12 2001-03-12 サーバ側プロキシ装置、データ転送方法及びプログラム Expired - Fee Related JP3983987B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2001069284A JP3983987B2 (ja) 2001-03-12 2001-03-12 サーバ側プロキシ装置、データ転送方法及びプログラム
US10/092,540 US7054912B2 (en) 2001-03-12 2002-03-08 Data transfer scheme using caching technique for reducing network load
US11/353,935 US7636765B2 (en) 2001-03-12 2006-02-15 Data transfer scheme using caching technique for reducing network load

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001069284A JP3983987B2 (ja) 2001-03-12 2001-03-12 サーバ側プロキシ装置、データ転送方法及びプログラム

Related Child Applications (2)

Application Number Title Priority Date Filing Date
JP2007032640A Division JP4031516B2 (ja) 2007-02-13 2007-02-13 サーバ側プロキシ装置、クライアント側プロキシ装置、データ転送方法及びプログラム
JP2007154496A Division JP4041157B2 (ja) 2007-06-11 2007-06-11 クライアント側プロキシ装置、データ転送方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2002268935A true JP2002268935A (ja) 2002-09-20
JP3983987B2 JP3983987B2 (ja) 2007-09-26

Family

ID=18927339

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001069284A Expired - Fee Related JP3983987B2 (ja) 2001-03-12 2001-03-12 サーバ側プロキシ装置、データ転送方法及びプログラム

Country Status (1)

Country Link
JP (1) JP3983987B2 (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009110407A (ja) * 2007-10-31 2009-05-21 Toshiba Corp キャッシュ方法及びキャッシュ装置
JP2009110406A (ja) * 2007-10-31 2009-05-21 Toshiba Corp データ転送方法及びデータ転送システム
JP2014511129A (ja) * 2010-12-29 2014-05-08 アマゾン・テクノロジーズ・インコーポレーテッド データシステムにおける受信器側データの重複排除
US8830247B2 (en) 2006-05-24 2014-09-09 Nec Display Solutions, Ltd. Image displaying device having image cache memory
US8943023B2 (en) 2010-12-29 2015-01-27 Amazon Technologies, Inc. Receiver-side data deduplication in data systems
US9116909B2 (en) 2010-12-29 2015-08-25 Amazon Technologies, Inc. Reduced bandwidth data uploading in data systems
US9235651B2 (en) 2012-12-28 2016-01-12 Fujitsu Limited Data retrieval apparatus, data storage method and data retrieval method

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8830247B2 (en) 2006-05-24 2014-09-09 Nec Display Solutions, Ltd. Image displaying device having image cache memory
JP2009110407A (ja) * 2007-10-31 2009-05-21 Toshiba Corp キャッシュ方法及びキャッシュ装置
JP2009110406A (ja) * 2007-10-31 2009-05-21 Toshiba Corp データ転送方法及びデータ転送システム
JP4607936B2 (ja) * 2007-10-31 2011-01-05 株式会社東芝 データ転送方法及びデータ転送システム
JP4607937B2 (ja) * 2007-10-31 2011-01-05 株式会社東芝 キャッシュ方法及びキャッシュ装置
JP2014511129A (ja) * 2010-12-29 2014-05-08 アマゾン・テクノロジーズ・インコーポレーテッド データシステムにおける受信器側データの重複排除
US8943023B2 (en) 2010-12-29 2015-01-27 Amazon Technologies, Inc. Receiver-side data deduplication in data systems
US9116909B2 (en) 2010-12-29 2015-08-25 Amazon Technologies, Inc. Reduced bandwidth data uploading in data systems
US9794191B2 (en) 2010-12-29 2017-10-17 Amazon Technologies, Inc. Reduced bandwidth data uploading in data systems
US10180953B2 (en) 2010-12-29 2019-01-15 Amazon Technologies Inc. Receiver-side data deduplication in data systems
US9235651B2 (en) 2012-12-28 2016-01-12 Fujitsu Limited Data retrieval apparatus, data storage method and data retrieval method

Also Published As

Publication number Publication date
JP3983987B2 (ja) 2007-09-26

Similar Documents

Publication Publication Date Title
JP3990115B2 (ja) サーバ側プロキシ装置及びプログラム
US7383348B2 (en) Data transfer scheme using caching technique for reducing network load
US7636765B2 (en) Data transfer scheme using caching technique for reducing network load
US8024484B2 (en) Caching signatures
JP3491011B2 (ja) 差分化通信システム
JP2003271441A (ja) データ処理方法、これを用いたネットワークサービスシステム及びプログラム
JP3984086B2 (ja) キャッシュサーバ、データ転送装置及びプログラム
US20020032781A1 (en) Intermediary server apparatus and an information providing method
JP3848209B2 (ja) データ転送装置、データ転送方法及びプログラム
JP2003209661A (ja) 通信ネットワーク上でデジタル画像を送信し同画像にアクセスするシステムとその方法
JP4031516B2 (ja) サーバ側プロキシ装置、クライアント側プロキシ装置、データ転送方法及びプログラム
JP3983987B2 (ja) サーバ側プロキシ装置、データ転送方法及びプログラム
JP4053269B2 (ja) データ転送装置およびデータ転送方法
JP3943867B2 (ja) サーバ側プロキシ、データ転送方法及びプログラム
JP3943868B2 (ja) サーバ側プロキシ、データ転送方法及びプログラム
JP2003108464A (ja) データ転送装置およびデータ転送方法
JP4041157B2 (ja) クライアント側プロキシ装置、データ転送方法及びプログラム
JP3913508B2 (ja) データ転送装置およびデータ転送方法
JP3977601B2 (ja) サーバ側プロキシ装置、クライアント側プロキシ装置及びプログラム
JP4157585B2 (ja) サーバ側プロキシ装置、クライアント側プロキシ装置、データ転送方法及びプログラム
JP3977651B2 (ja) データ転送方法、サーバ側プロキシ装置、クライアント側プロキシ装置及びプログラム
JP4300220B2 (ja) データ転送装置およびデータ転送方法
JP2001290741A (ja) ネットワークシステム
JP2003122730A (ja) 情報処理方法、エージェントシステム、エージェントシステムプログラム及びエージェントシステムプログラムが記録された記録媒体
KR20010059623A (ko) 다중 경로 접속이 허용된 개인정보 관리 시스템 및 그 방법

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20061212

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070213

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070410

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070611

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: 20070703

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070705

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100713

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100713

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110713

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120713

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130713

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees