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

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

Info

Publication number
JP2003108464A
JP2003108464A JP2001295366A JP2001295366A JP2003108464A JP 2003108464 A JP2003108464 A JP 2003108464A JP 2001295366 A JP2001295366 A JP 2001295366A JP 2001295366 A JP2001295366 A JP 2001295366A JP 2003108464 A JP2003108464 A JP 2003108464A
Authority
JP
Japan
Prior art keywords
data
reply message
reply
compressed
compression
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2001295366A
Other languages
English (en)
Inventor
Hideaki Sato
英昭 佐藤
Tatsunori Kanai
達徳 金井
Hideki Yoshida
英樹 吉田
Toshibumi Seki
俊文 關
Kenichiro Yoshii
謙一郎 吉井
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 JP2001295366A priority Critical patent/JP2003108464A/ja
Publication of JP2003108464A publication Critical patent/JP2003108464A/ja
Pending 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で該データを分割
し、両プロキシにて、各分割データと各分割データにハ
ッシュ関数を適用して算出したフィンガープリント(F
P)とを対応付けて、FPキャッシュに登録しておく。
FPキャッシュに登録済みのFPと一部異なるFPを持
つリプライデータを転送するにあたっては、FPが異な
る部分のみ該データを送り、同じ部分は該リプライデー
タの代わりに該FPを転送する。

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】ストリームデータのような大容量のコンテ
ンツをキャッシュする場合、全データを基にキャッシュ
すると一部のデータの更新でもキャッシュにヒットしな
くなり、再度全てのコンテンツを送信する必要が生じ
る。このため、大容量コンテンツを比較的小さな複数の
コンテンツに分割し、それぞれ毎にキャッシュすること
により、一部データの変更の場合でも、該当部分を含む
部分コンテンツ以外はキャッシュを効かせて効率的な転
送をすることが望まれる。
【0018】本発明は、上記事情を考慮してなされたも
ので、データ転送装置間を接続するネットワークの負荷
をより軽減することができるキャッシュ技術・圧縮技術
を備えたデータ転送装置およびデータ転送方法を提供す
ることを目的とする。
【0019】
【課題を解決するための手段】本発明のデータ転送装置
は、クライアント装置からのリクエストメッセージに応
答し、リクエストされたコンテンツを含むリプライメッ
セージを返信するサーバ装置から該リプライメッセージ
を受信するデータ転送装置であって、該リプライメッセ
ージを受信するリプライ受信手段と、受信した該リプラ
イメッセージに含まれるコンテンツを所定の分割方法に
よって、複数のデータに分割する分割手段と、分割され
たデータを所定方法で圧縮する圧縮手段と、前記分割手
段で分割された各データと、前記圧縮手段で圧縮された
各データとを対応付けて、該リプライメッセージを転送
するためのリプライメッセージとして送信する送信手段
とを備えた。
【0020】また、クライアント装置からのリクエスト
メッセージに応答し、リクエストされたコンテンツを含
むリプライメッセージを返信するサーバ装置から該リプ
ライメッセージを受信するデータ転送装置であって、該
リプライメッセージを受信するリプライ受信手段と、受
信した該リプライメッセージに含まれるコンテンツを所
定の分割方法によって、複数のデータに分割する分割手
段と、分割されたデータを所定方法で圧縮する圧縮手段
と、圧縮前のデータと圧縮後のデータとを対応付けて、
記憶する記憶手段と、前記圧縮手段で圧縮したデータが
記憶手段に記憶されているか否かを判定する管理手段
と、前記管理手段で前記圧縮手段で圧縮されたデータが
記憶されていると判定された際に、前記分割手段で分割
されたデータを、前記圧縮手段で圧縮されたデータに変
更するよう処理する処理手段と、処理手段で変更された
圧縮されたデータを含むリプライメッセージを送信する
送信手段とを備えた。
【0021】更に、上記のデータ転送装置から送信され
るリプライメッセージを受信し、クライアント装置対応
のリプライメッセージとしてクライアント装置へ転送す
るデータ転送装置であって、リプライメッセージを受信
する受信手段と、圧縮前のデータと圧縮後のデータとを
対応付けて、記憶する記憶手段と、リプライメッセージ
中の圧縮されたデータを抽出し、該圧縮されたデータ
で、前記記憶手段を検索し、該圧縮されたデータに対応
する圧縮前のデータを読み出す管理手段と、該リプライ
メッセージ中の圧縮されたデータを該管理手段で読み出
された該圧縮前のデータに変更する変更手段と、前記変
更手段で変更されたリプライメッセージを送信する送信
手段とを備えた。
【0022】本発明によれば、データ転送装置間を接続
するネットワークの負荷をより軽減することができるキ
ャッシュ技術・圧縮技術を備えたデータ転送装置を提供
できる。特に、例えばストリームのような大容量コンテ
ンツを比較的小さな複数のコンテンツに分割し、それぞ
れ毎にキャッシュすることにより、一部データの変更の
場合でも、該当部分を含む部分コンテンツ以外はキャッ
シュを効かせて効率的な転送をすることができる。
【0023】なお、装置に係る本発明は方法に係る発明
としても成立し、方法に係る本発明は装置に係る発明と
しても成立する。
【0024】また、装置または方法に係る本発明は、コ
ンピュータに当該発明に相当する手順を実行させるため
の(あるいはコンピュータを当該発明に相当する手段と
して機能させるための、あるいはコンピュータに当該発
明に相当する機能を実現させるための)プログラムとし
ても成立し、該プログラムを記録したコンピュータ読取
り可能な記録媒体としても成立する。
【0025】
【発明の実施の形態】以下、図面を参照しながら発明の
実施の形態を説明する。
【0026】以下では、WANがインターネットであ
り、クライアントはユーザオフィスLANに接続された
ものであり、HTTPプロトコルが使用されるような場
合を例にとって説明するが、もちろん、本発明は、WA
Nがインターネット以外のものであっても、クライアン
トがオフィス以外の例えば家庭内LAN等に設置された
ものであっても、HTTPプロトコル以外のプロトコル
が使用されるものであっても適用可能である。
【0027】図16は、本発明を適用するコンピュータ
・ネットワーク・システムの基本的な構成例を示す。こ
の構成例では、ASPサーバセンター2内のローカルエ
リアネットワーク(LAN)12と、ユーザオフィス4
内のローカルエリアネットワーク(LAN)16との間
が、インターネットや専用回線などの広域ネットワーク
(WAN)14を介して接続されており、ASPサーバ
センター2内のサーバ20と、ユーザオフィス4内のク
ライアント50とが、LAN12・WAN14・LAN
16を介して通信可能になっている。ASPサーバセン
ター内LANには1または複数のサーバが接続され、ユ
ーザオフィス内LANには1または複数のクライアント
が接続される。
【0028】WEBベースのASPは、サーバセンター
2に設置したサーバ20から、WAN14を介して、様
々なアプリケーションプログラムによるサービスを提供
し、ユーザはオフィス4に設置されたクライアント上の
WEBブラウザ等を使ってそれらのサービスにアクセス
する。
【0029】このような利用形態においては、ユーザオ
フィス内LAN16とサーバセンター内LAN12とを
つなぐネットワーク、特にインターネットなどの広域ネ
ットワーク14の実効的な通信容量(バンド幅)は、サ
ーバセンター内LAN12やユーザオフィス内LAN1
6よりも低く、そこが性能上のボトルネックになって通
信遅延が発生し、アプリケーションの応答性能が低下す
るという問題が発生する。
【0030】そこで、本実施形態では、図1に示すよう
に、サーバセンター内LAN12とユーザオフィス内L
AN16とをつなぐ広域ネットワーク14の両端に、サ
ーバ側プロキシ30およびクライアント側プロキシ40
という2つのモジュールを設置し、それらの間で後述す
るフィンガープリント圧縮(FP圧縮)を行って通信デ
ータ量を低減することで、広域ネットワークのボトルネ
ックを解消する。
【0031】本実施形態のサーバ20、サーバ側プロキ
シ30、クライアント側プロキシ40、クライアント5
0は、いずれも、計算機上でソフトウェア(サーバ・プ
ログラム、サーバ側プロキシ・プログラム、クライアン
ト側プロキシ・プログラム、クライアント・プログラ
ム)を動作させる形で実現することができる。この場合
に、必要に応じて計算機所望の機能を有するOSやドラ
イバソフト、パケット通信用ソフト、暗号ソフト等とい
ったソフトウェア、あるいは通信インタフェース装置や
外部記憶装置や入出力装置等といったハードウェアが搭
載あるいは接続される。また、この場合に、ユーザある
いは管理者からの情報の入力やユーザへの情報の呈示等
のために、グラフィカル・ユーザ・インタフェース(G
UI)を用いると好ましい。
【0032】サービスを利用するためにユーザが使用す
るクライアント50上では、その目的に応じて例えばW
EBブラウザ等のプログラムが動作する。ユーザは、例
えば、WEBブラウザからインターネットを介し情報転
送あるいは注文受付等の所望のサービスを提供するサー
バにリクエストメッセージを出し、リプライメッセージ
を受けることによって、またはこれを適宜繰り返すこと
によって、サービスを利用する。もちろん、WEBブラ
ウザ等の汎用のソフトウェアではなく、特定のサービス
を利用するための専用のソフトウェアなどの他のものが
用いられても構わない。また、クライアントは、汎用の
計算機ではなく、例えばインターネット機能を有する携
帯電話端末等でもよい。
【0033】サーバ20上では、所定のサーバ・プログ
ラムが動作し、クライアント20のユーザに対して、当
該サーバ・サイトに固有のサービスを提供する。
【0034】サーバ側プロキシ30は、図1のように、
サーバセンター内LAN12とWAN14との両方に接
続し、トランスペアレント・プロキシとして動作するよ
うに設置して実施することができる。また、図2のよう
に、サーバセンター内LAN12上に設置して実施する
こともできる。また、図3のように、サーバ側プロキシ
30の機能をサーバ20に内蔵するように実施すること
もできる。
【0035】同様に、クライアント側プロキシ40は、
図1のように、ユーザオフィス内LAN16とWAN1
4との両方に接続し、トランスペアレント・プロキシと
して動作するように設置して実施することができる。ま
た、図2のように、ユーザオフィス内LAN16上に設
置して実施することもできる。また、図3のように、ク
ライアント側プロキシ40の機能をクライアント50上
で動作するブラウザ等に内蔵するように実施することも
できる。あるいは、ブラウザ等の動作するクライアント
50上に、個人用のクライアント側プロキシ40を動作
させるように実施することもできる。
【0036】なお、サーバ側プロキシ30とクライアン
ト側プロキシ40とは、図1〜図3などのように同じ形
態であってもよいし、異なる形態であってもよい。
【0037】本実施形態のサーバ側プロキシ30および
クライアント側プロキシ40は、いずれも、フィンガー
プリント・キャッシュ(FPキャッシュ)と呼ぶキャッ
シュ機構を持つ。フィンガープリント・キャッシュは、
フィンガープリント(FP)と呼ぶ名前によって、HT
TPプロトコルでやりとりされるデータを記録・管理す
る。
【0038】フィンガープリントは、図4に例示するよ
うに、HTTPプロトコルでやり取りされるデータ(図
4の例ではコンテンツ)の内容から、あらかじめ決めら
れた計算方法(図4の例ではハッシュ関数)で決定され
る、短い数値である。この数値は、可変長でもよいが、
処理の容易さの観点では、固定長の数値の方が扱いやす
い。
【0039】フィンガープリントを計算する方法として
は、良く知られている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に対してそれぞれ計算したハッ
シュ値が同じになる場合があるが、その確率は実用上無
視できるくらいに小さい)。
【0040】図5に示すように、サーバ側プロキシ30
やクライアント側プロキシ40の持つフィンガープリン
ト・キャッシュ(図中の60)は、過去にHTTPプロ
トコルでやり取りされたデータ本体(図中の61)を、
そのデータから計算して求めたフィンガープリントの値
(図中の62)を名前として、記録・管理している。
【0041】例えばHTTPプロトコルでサーバ側プロ
キシ30からクライアント側プロキシ40へデータを転
送するときに、サーバ側プロキシ30は、当該データの
フィンガープリントを計算し、そのフィンガープリント
に対応するデータがフィンガープリント・キャッシュに
入っていれば、当該データ(と同じ内容のデータ)は過
去に転送したことがあるので、当該データを転送せず
に、対応するフィンガープリントの値を転送する。フィ
ンガープリントを受け取ったクライアント側プロキシ4
0は、当該フィンガープリントの値に対応するデータを
フィンガープリント・キャッシュから取り出すことで、
転送すべきデータを再現することができる。このような
方式(すなわち、データ圧縮→データ転送→データ解
凍)により、過去に送ったものと同じデータならばフィ
ンガープリントの値を送るだけでよいので、ネットワー
クを流れるデータ量を大幅に削減することができる。も
ちろん、クライアント側プロキシ40からサーバ側プロ
キシ30へデータを転送するときも同様である。
【0042】説明上、サーバ側プロキシ30とクライア
ント側プロキシ40との間でのデータ転送にあたり、フ
ィンガープリント・キャッシュを利用してメッセージ・
ボディーのデータをフィンガープリントに置き換えて転
送情報量を圧縮することを、フィンガープリント圧縮
(FP圧縮)と呼ぶものとする。
【0043】なお、サーバ側プロキシ30とクライアン
ト側プロキシ40との間において、すべてのメッセージ
をFP圧縮を適用する対象(すなわち、フィンガープリ
ント・キャッシュを利用してデータをフィンガープリン
トに置き換えるための処理を行う対象)としてもよい
が、例えばフィンガープリント・キャッシュの効果が期
待できないものなどに対する適用を除外するために、予
め定められた条件を満たすメッセージについては、これ
をFP圧縮の適用対象外とする(常にFP圧縮しないで
転送する)ようにしてもよい。
【0044】この場合の予め定められた条件とは、例え
ば、メッセージ・ヘッダに予め定められた情報が記述さ
れていることである。具体的には、例えば、メッセージ
・ヘッダにGETメソッドを示す情報およびリクエスト
を示す情報が記述されていることである。また、予め定
められた条件の他の例としては、転送されるデータが空
(null)あるいは非常に短いサイズであることであ
る。
【0045】もちろん、それらの他にも種々のバリエー
ションがある。また、複数の条件を組み合わせて使用す
るようにしてもよい。
【0046】次に、この実施の形態では、更にリプライ
時のデータを複数のパケットに分割して返信するように
している。そこで、まず図6、図7を参照しながら、サ
ーバ側プロキシ30からクライアント側プロキシ40へ
データ転送する際のプロキシ間メッセージ・フォーマッ
トについて説明する。
【0047】なお、FP圧縮の適用対象外のメッセージ
は、FP圧縮については、何もせずにそのままの(FP
圧縮側(送信側)のプロキシが受信した際の)メッセー
ジ・フォーマットでプロキシ間を転送して構わない。あ
るいは、FP圧縮側(送信側)のプロキシが、例えばそ
のメッセージ・ヘッダに当該メッセージがFP圧縮の適
用対象外を識別可能とする情報を持つようにして転送す
ることも可能である。
【0048】さて、サーバ側プロキシ30からクライア
ント側プロキシ40へデータ転送する場合、FP圧縮の
適用対象のメッセージには、データがFP圧縮されてフ
ィンガープリントに置き換えられたメッセージ(圧縮時
のメッセージ)と、FP圧縮されておらず、データが搭
載されているメッセージ(非圧縮時のメッセージ)とが
ある。
【0049】非圧縮時のメッセージ・フォーマットは、
メッセージに含まれるデータがフィンガープリントキャ
ッシュに登録されていない場合に使用される。一方、圧
縮時のメッセージ・フォーマットは、メッセージに含ま
れるデータがフィンガープリントキャッシュに登録され
ている場合に使用される。
【0050】解凍側(受信側)では、非圧縮時のフォー
マットのメッセージを受信したことを契機として、当該
データについてフィンガープリントキャッシュへの登録
を行うことができる。
【0051】図6は、非圧縮時のリプライメッセージの
フォーマットであり、図7は、圧縮時のリプライメッセ
ージのフォーマットである。
【0052】図6において、(a)は一連のリプライメ
ッセージ中の最初のパケットのフォーマットを示すもの
である。ヘッダ中にはFP情報として、データがFP圧
縮対象であるか否かを示す情報として、例えば、FP圧
縮適用対象の時“1”で、FP圧縮適用対象外の時
“0”とする。メッセージボディは、識別情報、FP
値、最終情報、長さ、データからなる。識別情報は、F
P圧縮されたデータかFP非圧縮データかを示し、例え
ば“0”でFP非圧縮データ、“1”でFP圧縮データ
であるとする。FP値には、フィンガープリントの値が
入る。最終情報には、分割されたメッセージのうちの最
終パケットか否かを示す情報であり、例えば、最終パケ
ットの時“1”、そうでない時“0”とする。長さは、
以下に続くデータの長さを示し、続いてそのデータが保
存される。
【0053】図6(b)は、最初のパケットと最終パケ
ットを除く中間のパケットのフォーマットを示す図であ
り、ヘッダ部が無く、ボディ部のみである。そのボディ
部は、図6(a)のボディ部と同一のフォーマットとな
る。図6(c)は、最終パケットのフォーマットであ
り、中間のパケットと同様、ボディ部のみであり、中間
のパケットと同様のフォーマットである。しかし、図6
(b)とは、最終情報が“1”となって最終パケットで
あることを示す情報が異なっている。これによって最終
パケットであることが識別される。
【0054】なお、図6において、識別情報、FP値、
最終情報、長さのそれぞれの順序は規定される必要は無
く、他の順番であっても構わないことは明らかである。
【0055】図7は、FP圧縮時のリプライメッセージ
のフォーマットであり、(a)は最初の第1パケット
の、(b)は最初と最後を除くパケットの、(c)は最
終パケットのフォーマットを示すものである。FP圧縮
時のリプライメッセージのフォーマットは、図6に比べ
データの長さとそのデータを示す情報が付いていないこ
とだけが違いであり、その他は同じである。識別情報、
FP値、最終情報の順序を変えて構わないことも同様に
明らかである。
【0056】リプライメッセージのヘッダにコンテンツ
の全体サイズがセットされている場合は、受信したメッ
セージの累積サイズを計算することによって、最終パケ
ットを判断することができるため、ボディ部の最終情報
を不要とすることもできる。さらに、個々のパケット内
のデータサイズを固定とすることによって、各パケット
のデータ長を示す長さの情報を不要とすることも可能と
なる。
【0057】また、全てのコンテンツをFP圧縮対象と
するならば、ヘッダからFP情報をなくすこともでき
る。
【0058】以下では、サーバ側プロキシ30からクラ
イアント側プロキシ40へリプライメッセージを転送す
るときにそのリプライデータをFP圧縮・解凍する場合
を中心に本実施形態について詳しく説明する。
【0059】図8に本実施形態のリプライメッセージ時
のサーバ側プロキシ30の構成例を示し、図9に本実施
形態のリプライメッセージ時のクライアント側プロキシ
40の構成例を示す。なお、図8や図9は、サーバ側プ
ロキシ30からクライアント側プロキシ40へデータを
転送する際の構成を中心に示してある。
【0060】図8に示すようにサーバ側プロキシ30で
は、受信部31でサーバ20から送られたリプライメッセー
ジを受信し、処理部32でメッセージを複数のパケットに
分解して、それぞれのパケットの圧縮処理を行い、送信
部33からクライアント側プロキシに対して送信される。
処理部32は、リプライメッセージに含まれるデータを
圧縮対象とすべきか否かを判定するためのフィンガープ
リント(FP)圧縮判定部321、リプライメッセージを
複数のパケットに分解するリプライデータ分割部324、
フィンガープリント(FP)キャッシュ34に対する検索や
登録などを行うためのフィンガープリントキャッシュ管
理部322、転送メッセージに含まれるデータを対応する
フィンガープリントで置換する等の処理を行うためのフ
ィンガープリント(FP)圧縮処理部323を含む。
【0061】図9に示されるように、本クライアント側
プロキシ40は、ユーザオフィス内LAN16または広
域ネットワーク14から転送メッセージを受信するため
の処理を行う受信部41、転送メッセージに含まれるデ
ータに対してFP解凍を施すための処理部42、ユーザ
オフィス内LAN16または広域ネットワーク14へ転
送メッセージを送信するための処理を行う送信部43、
フィンガープリントとそのもととなったデータとを対応
付けて記憶するためのフィンガープリント・キャッシュ
(FP・キャッシュ)44を備えている。また、処理部
42は、転送メッセージに含まれるデータを圧縮対象と
すべきか否かおよび転送メッセージに対するFP圧縮の
有無を判定するためのフィンガープリント(FP)圧縮
判定部421、フィンガープリント・キャッシュ34に
対する検索や登録などを行うためのフィンガープリント
・キャッシュ(FPキャッシュ)管理部422、FP圧
縮された転送メッセージに含まれるフィンガープリント
から元のデータを解凍するなどの処理を行うためのフィ
ンガープリント(FP)解凍処理部423を含む。
【0062】なお、圧縮側のFP圧縮判定部321と解
凍側のFP圧縮判定部421は、前述したようにメッセ
ージが予め定められた条件を満たすか否かを調べること
によって、そのメッセージに含まれるデータをFP圧縮
の適用対象とするか否かを判断する(すべてのメッセー
ジをFP圧縮の適用対象にする場合には、圧縮側のFP
圧縮判定部321および後に示す手順例の該当部分は不
要であり、解凍側のFP圧縮判定部421の該当判断の
部分および後に示す手順例の該当部分は不要である)。
また、解凍側のFP圧縮判定部421は、FP圧縮の適
用対象のメッセージについて、そのデータがFP圧縮さ
れたものか否かを判定する。
【0063】以下では、FP圧縮の適用対象となるメッ
セージを転送する場合(FP圧縮の適用対象とすると判
断された場合、またはすべてのメッセージをFP圧縮の
適用対象にする場合)を中心に説明する。
【0064】図10は、サーバ20からリプライデータ
を受信したときのサーバ側プロキシ30の処理の流れを
示す。サーバ側プロキシ30の受信部31にてサーバ2
0からのリプライメッセージを受信する(S1301)。こ
のとき、リプライメッセージとして、ヘッダ情報を受信
した後、ボディサイズを一定サイズまで受信する、もし
くは一定時間だけ受信する、さらにもしくは最後まで受
信する、といったような条件で部分的なリプライデータ
を受信する。FP圧縮判定部321では、リプライメッセ
ージがFP圧縮対象のメッセージか否か判断する(S130
2)。FP圧縮対象外の時は、ヘッダのFP情報にFP
圧縮対象外であることを示す“0”をセットし、そのま
ま要求元クライアント側プロキシへ送信部33を経由して
データを転送する(S1314)。以降に続くリプライメッ
セージがある場合も、受信したメッセージをそのまま、
要求元クライアント側プロキシへデータを転送する(S1
315)。
【0065】FP圧縮対象の時は、ヘッダのFP情報に
FP圧縮対象であることを示す“1”をセットし、リプ
ライデータ分割部324で、最後までリプライメッセージ
を受信完了しているか判断し(S1303)、最後まで受信済
みの場合は最終情報を“1”(S1305)に、最後まで受
信完了していない時は最終情報を“0”にする(S130
4)。次にFPキャッシュ管理部322にて、該リプライデ
ータのフィンガープリントの値を計算し(S1306)、該
フィンガープリントの値をキーとしてフィンガープリン
トキャッシュ34を検索する(S1307)。
【0066】そして、該フィンガープリントの値とこれ
に対応するデータとの組がフィンガープリント・キャッ
シュ34に登録されていたならば(S1308)、FP圧縮処
理部323にて、受信したリプライメッセージを、該フィ
ンガープリントの値を用いてFP圧縮時のフォーマット
にして(例えば図7(a)等)、送信部33から、クライア
ント側プロキシへ送信する(S1309)。このとき、必要
に応じてリプライヘッダ内のデータ長を表すフィールド
(Content-Length:フィールド)の値を、FP圧縮時の
フォーマットに合わせて設定する。
【0067】一方、ステップS1307の検索の結果、該フ
ィンガープリントの値とこれに対応するデータとの組が
フィンガープリントキャッシュ34に登録されていなかっ
たならば(S1308),次の2つの処理を行う。 (1)FP圧縮処理部323にて、受信したリプライメッ
セージを、(必要に応じて該フィンガープリントの値を
用いて)非FP圧縮時のフォーマットにして(例えば、
図6(a)等)、送信部33から、クライアント側プロキシ4
0へ送信する(S1310)。 (2)FPキャッシュ管理部322にて、該フィンガープ
リントの値と、該リプライデータとを対応付けて(フィ
ンガープリントの値をキーにして)、フィンガープリン
ト・キャッシュ34に登録する(S1311)。
【0068】なお、上記、(1)と(2)は、いずれを先にや
っても良いし、並行してやっても良い。
【0069】クライアント側プロキシへの送信完了後、
リプライデータ分割部324にて、最後までリプライメッ
セージを受信済みかを判定し(S1312)、最後まで受信完
了している場合は処理を終了する。しかし、まだ最後ま
でリプライメッセージを受信完了していない場合は、さ
らに次のリプライメッセージを受信する(S1313)。この
とき、リプライメッセージとして、ボディサイズを一定
サイズまで受信する、もしくは一定時間だけ受信する、
さらにもしくは最後まで受信する、といったような条件
で部分的なリプライデータを受信する。そして、受信し
たリプライメッセージが最後まで受信できたかをか判断
する(S1303)。
【0070】以降は、最初のリプライメッセージを受信
した時と同じ処理を繰り返すが、クライアント側プロキ
シに対して転送する際のメッセージフォーマットが異な
る。即ち、第2パケット以降には、ヘッダ情報がつかな
いため、FP圧縮時のフォーマットは、例えば図7(b)
や(C)となり、FP非圧縮時のフォーマットは、例えば
図6(b)や(C)となる。最終パケットの場合は、図7(c)か
図6(c)となる。
【0071】次に、図11にクライアント側プロキシ4
0の処理の流れを示す。
【0072】クライアント側プロキシ40は、受信部41に
より、サーバ側プロキシ30からリプライメッセージを受
信する(S1401)。
【0073】FP圧縮判定部421は、該リプライメッセ
ージのリプライデータがFP圧縮対象のものであるか否
かヘッダのFP情報を参照し判断する(S1402)。リプラ
イデータのFP情報によりFP圧縮対象外のものと判断
されたならば(S1402)、受信したリプライメッセージ
を送信部43からクライアント50へ転送する(S1412)。以
降に続くリプライメッセージがある場合も、受信したメ
ッセージをそのまま、要求元のクライアント50へ転送
する(S1413)。
【0074】ステップS1402にて該リプライメッセージ
のリプライデータがヘッダのFP情報を参照して、FP
圧縮対象のものであると判断されたならば、FP圧縮判
定部421は、さらに、リプライデータがFP圧縮されて
いるか否か識別情報を参照して判断する(S1403)。
【0075】ステップS1403にて該リプライメッセージ
のリプライデータがFP圧縮されているものと判断され
たならば(例えば図7(a)等の場合)、FPキャッシュ
管理部422にて、該リプライデータのフィンガープリン
トの値を求め(S1404)、該フィンガープリントの値を
キーとしてフィンガープリント・キャッシュ44を検索
する(S1405)。
【0076】そして、FP解凍処理部423にて、受信
リプライメッセージに対して、フィンガープリント・キ
ャッシュ34から検索された該フィンガープリントの値
に対応するデータを付加し、プロキシ間で特別の情報を
使用する場合には該情報を削除した後に、これを送信部
43からクライアント50へ送信する(S1406)。この
とき、必要に応じて、リプライヘッダ内のデータ長を表
すフィールド(Content-Length:フィー
ルド)の値を、該フィンガープリントの値に対応するデ
ータの長さに設定する。
【0077】一方、ステップS1403にて該リプライメッ
セージのリプライデータがFP圧縮されていないものと
判断されたならば(例えば図6(a)等の場合)、次の
2つの作業を行う。 (1)FP解凍処理部423にて、プロキシ間で特別の
情報を使用する場合には受信リプライメッセージから該
情報を削除した後に、これを送信部43からクライアン
ト50へ送信する(S1408) (2)FPキャッシュ管理部422にて、該リプライデ
ータのフィンガープリントの値を求め(S1407)、該フ
ィンガープリントの値と、該リプライデータとを対応付
けて(フィンガープリントの値をキーにして)、フィン
ガープリント・キャッシュ34に登録する(S1409)。
【0078】なお、上記の(1)と(2)は、いずれを
先に行ってもよいし、並行して行ってもよい。
【0079】クライアントへの送信完了後、リプライデ
ータに付加されている最終情報を参照して、1回のリク
エストに対する全てのリプライメッセージを転送したか
否か判定する(S1410)。最後まで受信完了している場
合は処理を終了する。しかし、まだ最後までリプライメ
ッセージを受信完了していない場合は、さらに次のリプ
ライメッセージを受信し(S1411)、リプライメッセージ
がFP圧縮されているか判断する(S1403)。以降は、
最初のリプライメッセージを受信した時と同じ処理を繰
り返す。但し、サーバ側プロキシから受信するリプライ
メッセージのメッセージフォーマットが異なる。即ち、
第2パケット以降には、ヘッダ情報がつかないため、F
P圧縮時のフォーマットは、例えば図7(b)や(C)とな
り、FP非圧縮時のフォーマットは、例えば図6(b)や
(C)である。最終パケットの場合は、図7(c)か図6(c)と
なる。
【0080】ところで、ステップS1404では、メッセー
ジにフィンガープリントが記述されている。しかし、ス
テップS1407では、メッセージにフィンガープリントが
記述されている場合に、該メッセージからフィンガープ
リントを得る方法と、メッセージにフィンガープリント
が記述されてない場合に、リプライデータをもとにハッ
シュ関数等によってフィンガープリントの値を計算する
方法とがある。なお、メッセージにフィンガープリント
が記述されている場合であっても、リプライデータをも
とにフィンガープリントの値を計算する方法も可能であ
る。また、ステップS1404/ステップS1407は、ステッ
プS1402とステップS1403の間にて行うようにしても構
わないし、ステップS1407は、ステップS1408とステッ
プS1409の間にて行うようにしても構わない。
【0081】また、ステップS1402の判断とステップS14
03の判断は、同時に行ってもよい。
【0082】なお、クライアント側プロキシ40からサ
ーバ側プロキシ30へリクエストメッセージを転送する
際にはフィンガープリント・キャッシュを用いないもの
とする場合には、サーバ側プロキシ30は、図12に例
示するように、クライアント側プロキシ40からリクエ
ストメッセージを受信し(ステップS21)、これをサ
ーバ20へ送信する(ステップS22)、という手順で
構わない。同様に、クライアント側プロキシ40は、図
13に例示するように、クライアント50からリクエス
トメッセージを受信し(ステップS23)、これをサー
バ側プロキシ30へ送信する(ステップS24)、とい
う手順で構わない。
【0083】図14、15の説明においては、一回のサ
ーバからのリプライメッセージを、サーバ側プロキシに
て複数のパケットに分けてクライアント側プロキシへ返
信するところが異なる。即ち、サーバからのリプライメ
ッセージを3つのパケットに分割して送信する場合は、図
14の段階では、FP圧縮されていないため、最初のパ
ケットは図6(a)のフォーマットで送られ、クライアン
ト側でそれを保存しながらクライアントへデータを転送
する。2パケット目は、図6(b)のフォーマットで、最後
の第3パケットは図6(C)のフォーマットでクライアント
側プロキシに送られ、そこでデータとFPを保存しなが
らクライアントへ転送する。
【0084】図15の段階においては、FP圧縮される
ので、最初のパケットは図7(a)のフォーマットで、第2
のパケットは図7(b)のフォーマットで、最後の第3パケ
ットは図7(C)のフォーマットでクライアント側プロキシ
に送られる。クライアント側プロキシでは、それぞれの
パケットに付加されたFPの値に対応するデータをFP
キャッシュを参照して求めて、それをそれぞれクライア
ントへ転送することとなる。
【0085】以下では、図14(登録時すなわち非FP
圧縮時)および図15(FP圧縮時)を参照しながら、
フィンガープリント・キャッシュを利用したデータ転送
についてより具体的に説明する。
【0086】まず、図14を参照しながら、サーバ側プ
ロキシ30からクライアント側プロキシ40へ、フィン
ガープリント・キャッシュ登録されていないデータを転
送するとともに、フィンガープリント・キャッシュ登録
する場合の動作について説明する。
【0087】(1)クライアント50上のブラウザ等
は、例えば“/A.cgi”というURLでサーバ20
に、POSTメソッドのリクエストメッセージを出した
とする。サーバ20へのリクエストメッセージは、ま
ず、クライアント側プロキシ40に送られるように、ブ
ラウザ等を設定しておく。
【0088】(2)クライアント50からリクエストメ
ッセージを受け取ったクライアント側プロキシ40は、
そのリクエストメッセージをサーバ側プロキシ30に転
送する。
【0089】(3)リクエストメッセージを受け取った
サーバ側プロキシ30は、そのリクエストメッセージを
サーバ50へ転送する。
【0090】(4)サーバ20は、該リクエストメッセ
ージに対する処理を行った後、サーバ側プロキシ30
に、そのリプライメッセージを送り返す。
【0091】(5)リプライメッセージを受け取ったサ
ーバ側プロキシ30は、まず、受信リプライメッセージ
の持つリプライデータを分割する。まず、分割された最
初のデータのフィンガープリントを計算し、そのフィン
ガープリント名を持ったデータがフィンガープリント・
キャッシュ34に入っているかどうかを調べる。入って
いなければ、初めてのデータ(一旦フィンガープリント
・キャッシュ登録されたものがその後に削除あるいは無
効化されることがある構成の場合に、一旦フィンガープ
リント・キャッシュ登録されたが削除あるいは無効化さ
れ、その後において初めてである場合を含む)であるの
で、そのデータをフィンガープリントを名前としてフィ
ンガープリント・キャッシュ34に入れる(登録す
る)。次に、分割された2番目のデータの・・・。これ
を分割数だけ繰り返す。
【0092】(6)サーバ側プロキシ30は、リプライ
メッセージをクライアント側プロキシ40に順次転送す
る。
【0093】なお、前述したように、各データから計算
した各フィンガープリントの値を、図6のように各リプ
ライメッセージに入れて送ると、クライアント側プロキ
シ40で再度フィンガープリントを計算する手間を省く
ことが出来る。
【0094】(7)リプライメッセージを順次受け取っ
たクライアント側プロキシ40は、それぞれが初めての
データであるので、各リプライデータをフィンガープリ
ント・キャッシュ44に順次登録する。
【0095】なお、前述したように、各リプライデータ
からフィンガープリントを計算するか、あるいはサーバ
側プロキシ30がリプライヘッダ等に入れたフィンガー
プリントを取り出し、これを名前として入れる。
【0096】(8)クライアント側プロキシ40は、
(リプライヘッダ等にフィンガープリントの値などのサ
ーバ側プロキシ30とクライアント側プロキシ40との
間だけで使用される情報が存在する構成の場合には、こ
れを削除した後に、)リプライメッセージを、クライア
ント50(上で動作するブラウザ等)へ送り返す。
【0097】なお、サーバ側プロキシ30において、上
記の(5)のフィンガープリント・キャッシュ登録は、
(6)の動作の後に行っても構わない。また、クライア
ント側プロキシ40において、(7)のフィンガープリ
ント・キャッシュ登録は、(8)の動作の後に行っても
構わない。
【0098】次に、図15を参照しながら、図14の動
作が行われてキャッシュ登録されているデータを、サー
バ側プロキシ30からクライアント側プロキシ40へ転
送する場合の動作について説明する。
【0099】(1)〜(4)は、図14を参照して説明
した動作における(1)〜(4)と同様である。
【0100】(5)サーバ50からリプライメッセージ
を受け取ったサーバ側プロキシ40は、まず、受信リプ
ライメッセージを分割する。分割した最初のリプライデ
ータのフィンガープリントを計算し、そのフィンガープ
リント名を持ったデータがフィンガープリント・キャッ
シュ34に入っているかどうかを調べる。入っていれ
ば、過去に送ったことのあるデータ(フィンガープリン
ト・キャッシュ登録されているデータ)なので、リプラ
イボディのデータをフィンガープリントで置き換える。
また、この図の例においては、3つに分割され、分割し
た2番目のリプライデータ(の一部)がサーバ20上で
変更されていることを示している。従って、2番目のデ
ータは、初めてのデータであるので、そのデータをフィ
ンガープリントを名前としてフィンガープリント・キャ
ッシュ34に入れる(登録する)。3番目(最終)リプ
ライデータは、最初のリプライデータと同様である。
【0101】(6)サーバ側プロキシ30は、まず、分
割した最初のリプライデータをフィンガープリントで置
き換えたリプライメッセージをクライアント側プロキシ
40に転送する。次に、分割した2番目のリプライデー
タのみ、ここでは変更されていると仮定しているので、
2番目のリプライデータのみ、図14の(6)と同様、
リプライデータを備えたリプライメッセージをクライア
ント側プロキシ40に転送する。分割した3番目のリプ
ライデータは最初のリプライデータと同様に処理され
る。
【0102】(7)リプライメッセージを受け取ったク
ライアント側プロキシ40は、最初および最終(3番
目)のリプライデータがフィンガープリントで置き換え
られていることを検出し、指定されたフィンガープリン
トを使ってフィンガープリント・キャッシュ44から対
応するデータを取り出し、これをリプライボディに入れ
る。なお、2番目のリプライデータは、図14の(7)
と同様の処理を行う。
【0103】(8)そして、クライアント側プロキシ3
0は、(フィンガープリントの値などのサーバ側プロキ
シ30とクライアント側プロキシ40との間だけで使用
される情報が存在する構成の場合には、これを削除した
後に、)リプライメッセージを、クライアント(上で動
作するブラウザ等)へ送り返す。
【0104】以上説明してきた本実施の形態において
は、サーバ側プロキシとクライアント側プロキシとの間
で、リプライデータとそれら名前との対応を保持し、こ
れらの対応を保持しているリプライデータについては、
リプライデータを転送する代わりに対応する名前を転送
することで、データ転送装置間の転送データ量を削減す
ることができる。そして、特に大きなリプライデータを
扱う場合には、そのリプライデータを分割し、分割した
各データとそれら名前との対応を保持しておき、その後
そのリプライデータの一部のみ変更が行われた場合に
は、その変更箇所を含む一部のリプライデータのみ通常
のデータを送付し、データと名前の対応を保持している
データについては、データを転送する代わりに対応する
名前を転送することができるので、全てのデータを送リ
直すことに比べ、データ転送装置間の転送データ量を大
幅に削減することができる。
【0105】なお、これまでは1つのサーバ側プロキシ
と1つのクライアント側プロキシとの間の1対1の通信
に着目して説明してきたが、本発明の適用範囲はもちろ
んサーバ側プロキシとクライアント側プロキシとが1対
1で通信するシステムには限定されるものではなく、サ
ーバ側プロキシとクライアント側プロキシとが1対多で
通信するシステム、サーバ側プロキシとクライアント側
プロキシとが多対1で通信するシステム、あるいはサー
バ側プロキシとクライアント側プロキシとが多対多で通
信するシステムにも適用可能である。
【0106】なお、以上の各機能は、ソフトウェアとし
て実現可能である。
【0107】また、本実施形態は、コンピュータに所定
の手段を実行させるための(あるいはコンピュータを所
定の手段として機能させるための、あるいはコンピュー
タに所定の機能を実現させるための)プログラムとして
実施することもでき、該プログラムを記録したコンピュ
ータ読取り可能な記録媒体として実施することもでき
る。
【0108】なお、この発明の実施の形態で例示した構
成は一例であって、それ以外の構成を排除する趣旨のも
のではなく、例示した構成の一部を他のもので置き換え
たり、例示した構成の一部を省いたり、例示した構成に
別の機能あるいは要素を付加したり、それらを組み合わ
せたりすることなどによって得られる別の構成も可能で
ある。また、例示した構成と論理的に等価な別の構成、
例示した構成と論理的に等価な部分を含む別の構成、例
示した構成の要部と論理的に等価な別の構成なども可能
である。また、例示した構成と同一もしくは類似の目的
を達成する別の構成、例示した構成と同一もしくは類似
の効果を奏する別の構成なども可能である。
【0109】また、この発明の実施の形態で例示した各
種構成部分についての各種バリエーションは、適宜組み
合わせて実施することが可能である。
【0110】また、この発明の実施の形態は、個別装置
としての発明、関連を持つ2以上の装置についての発
明、システム全体としての発明、個別装置内部の構成部
分についての発明、またはそれらに対応する方法の発明
等、種々の観点、段階、概念またはカテゴリに係る発明
を包含・内在するものである。
【0111】従って、この発明の実施の形態に開示した
内容からは、例示した構成に限定されることなく発明を
抽出することができるものである。
【0112】本発明は、上述した実施の形態に限定され
るものではなく、その技術的範囲において種々変形して
実施することができる。
【0113】
【発明の効果】本発明によれば、大きなデータを扱う場
合のあるデータ転送装置間で、大きなデータはそれを分
割し、分割した各データとそれら名前との対応を保持
し、これらの対応を保持しているデータについては、デ
ータを転送するの代わりに対応する名前を転送すること
で、データ転送装置間の転送データ量を削減することが
できる。
【図面の簡単な説明】
【図1】本発明の一実施形態に係るコンピュータ・ネッ
トワーク・システムの構成例を示す図
【図2】同実施形態に係るコンピュータ・ネットワーク
・システムの他の構成例を示す図
【図3】同実施形態に係るコンピュータ・ネットワーク
・システムのさらに他の構成例を示す図
【図4】同実施形態で使用するフィンガープリントにつ
いて説明するための図
【図5】同実施形態で使用するフィンガープリント・キ
ャッシュについて説明するための図
【図6】同実施形態で使用するFP非圧縮時のメッセー
ジ・フォーマットの一例を示す図
【図7】同実施形態で使用するFP圧縮時のメッセージ
・フォーマットの他の例を示す図
【図8】同実施形態に係るサーバ側プロキシの構成例を
示す図
【図9】同実施形態に係るクライアント側プロキシの構
成例を示す図
【図10】同実施形態に係るサーバ側プロキシの手順例
を示すフローチャート
【図11】同実施形態に係るクライアント側プロキシの
手順例を示すフローチャート
【図12】同実施形態に係るサーバ側プロキシの手順例
を示すフローチャート
【図13】同実施形態に係るクライアント側プロキシの
手順例を示すフローチャート
【図14】同実施形態に係るサーバ側プロキシとクライ
アント側プロキシとの間のデータ転送について説明する
ための図
【図15】同実施形態に係るサーバ側プロキシとクライ
アント側プロキシとの間のデータ転送について説明する
ための図
【図16】従来のコンピュータ・ネットワーク・システ
ムについて説明するための図
【符号の説明】
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…リプライデータ分割部 325,425…FP解凍・解凍処理部
───────────────────────────────────────────────────── フロントページの続き (72)発明者 吉田 英樹 神奈川県川崎市幸区小向東芝町1番地 株 式会社東芝研究開発センター内 (72)発明者 關 俊文 神奈川県川崎市幸区小向東芝町1番地 株 式会社東芝研究開発センター内 (72)発明者 吉井 謙一郎 神奈川県川崎市幸区小向東芝町1番地 株 式会社東芝研究開発センター内 (72)発明者 宮澤 隆幸 神奈川県川崎市幸区小向東芝町1番地 株 式会社東芝研究開発センター内 (72)発明者 木村 康浩 神奈川県川崎市幸区小向東芝町1番地 株 式会社東芝研究開発センター内 (72)発明者 外山 春彦 神奈川県川崎市幸区小向東芝町1番地 株 式会社東芝研究開発センター内 Fターム(参考) 5B082 GA01 HA02 HA05 HA08

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】 クライアント装置からのリクエストメッ
    セージに応答し、リクエストされたコンテンツを含むリ
    プライメッセージを返信するサーバ装置から該リプライ
    メッセージを受信するデータ転送装置であって、 該リプライメッセージを受信するリプライ受信手段と、 受信した該リプライメッセージに含まれるコンテンツを
    所定の分割方法によって、複数のデータに分割する分割
    手段と、 分割されたデータを所定方法で圧縮する圧縮手段と、 前記分割手段で分割された各データと、前記圧縮手段で
    圧縮された各データとを対応付けて、該リプライメッセ
    ージを転送するためのリプライメッセージとして送信す
    る送信手段とを備えたことを特徴とするデータ転送装
    置。
  2. 【請求項2】 クライアント装置からのリクエストメッ
    セージに応答し、リクエストされたコンテンツを含むリ
    プライメッセージを返信するサーバ装置から該リプライ
    メッセージを受信するデータ転送装置であって、 該リプライメッセージを受信するリプライ受信手段と、 受信した該リプライメッセージに含まれるコンテンツを
    所定の分割方法によって、複数のデータに分割する分割
    手段と、 分割されたデータを所定方法で圧縮する圧縮手段と、 圧縮前のデータと圧縮後のデータとを対応付けて、記憶
    する記憶手段と、 前記圧縮手段で圧縮したデータが記憶手段に記憶されて
    いるか否かを判定する管理手段と、 前記管理手段で前記圧縮手段で圧縮されたデータが記憶
    されていると判定された際に、前記分割手段で分割され
    たデータを、前記圧縮手段で圧縮されたデータに変更す
    るよう処理する処理手段と、 前記処理手段で変更された圧縮されたデータを含むリプ
    ライメッセージを送信する送信手段とを備えたことを特
    徴とするデータ転送装置。
  3. 【請求項3】 請求項2記載のデータ転送装置から送信
    されるリプライメッセージを受信し、クライアント装置
    対応のリプライメッセージとしてクライアント装置へ転
    送するデータ転送装置であって、 リプライメッセージを受信する受信手段と、 圧縮前のデータと圧縮後のデータとを対応付けて、記憶
    する記憶手段と、 リプライメッセージ中の圧縮されたデータを抽出し、該
    圧縮されたデータで、前記記憶手段を検索し、該圧縮さ
    れたデータに対応する圧縮前のデータを読み出す管理手
    段と、 該リプライメッセージ中の圧縮されたデータを該管理手
    段で読み出された該圧縮前のデータに変更する変更手段
    と前記変更手段で変更されたリプライメッセージを送信
    する送信手段とを備えたことを特徴とするデータ転送装
    置。
  4. 【請求項4】 クライアント装置からのリクエストメッ
    セージに応答し、リクエストされたコンテンツを含むリ
    プライメッセージを返信するサーバ装置から該リプライ
    メッセージを受信するデータ転送装置のデータ転送方法
    であって、 該リプライメッセージを受信し、 この受信した該リプライメッセージに含まれるコンテン
    ツを所定の分割方法によって、複数のデータに分割し、 この分割されたデータを所定方法で圧縮し、 前記分割された各データと、前記圧縮された各データと
    を対応付けて、該リプライメッセージを転送するための
    リプライメッセージとして送信することを特徴とするデ
    ータ転送方法。
  5. 【請求項5】 クライアント装置からのリクエストメッ
    セージに応答し、リクエストされたコンテンツを含むリ
    プライメッセージを返信するサーバ装置から該リプライ
    メッセージを受信するデータ転送装置のデータ転送方法
    であって、 該リプライメッセージを受信し、この受信した該リプラ
    イメッセージに含まれるコンテンツを所定の分割方法に
    よって、複数のデータに分割し、この分割されたデータ
    を所定方法で圧縮し、圧縮前のデータと圧縮後のデータ
    とを対応付けて記憶部へ記憶し、該圧縮されたデータが
    記憶部に記憶されているか否かを判定し、該圧縮された
    データが記憶部に記憶されていると判定された際に、前
    記分割されたデータを、前記圧縮されたデータに変更
    し、変更されたリプライメッセージを送信することを特
    徴とするデータ転送方法。
  6. 【請求項6】 請求項2記載のデータ転送装置から送信
    されるリプライメッセージを受信し、クライアント装置
    対応のリプライメッセージとしてクライアント装置へ転
    送するデータ転送装置のデータ転送方法であって、 リプライメッセージを受信し、圧縮前のデータと圧縮後
    のデータとを対応付けて、記憶部へ記憶し、リプライメ
    ッセージ中の圧縮されたデータを抽出し、該圧縮された
    データで、前記記憶部を検索し、該圧縮されたデータに
    対応する圧縮前のデータを読み出し、該リプライメッセ
    ージ中の圧縮されたデータを読み出された該圧縮前のデ
    ータに変更し、この変更されたリプライメッセージを送
    信するようにしたことを特徴とするデータ転送方法。
JP2001295366A 2001-09-27 2001-09-27 データ転送装置およびデータ転送方法 Pending JP2003108464A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001295366A JP2003108464A (ja) 2001-09-27 2001-09-27 データ転送装置およびデータ転送方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001295366A JP2003108464A (ja) 2001-09-27 2001-09-27 データ転送装置およびデータ転送方法

Publications (1)

Publication Number Publication Date
JP2003108464A true JP2003108464A (ja) 2003-04-11

Family

ID=19116812

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001295366A Pending JP2003108464A (ja) 2001-09-27 2001-09-27 データ転送装置およびデータ転送方法

Country Status (1)

Country Link
JP (1) JP2003108464A (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008529133A (ja) * 2005-01-24 2008-07-31 エーナイン・ドット・コム インコーポレイテッド コンピュータシステムのエンドユーザに表示される情報の提示を変更する技術
JP2010539606A (ja) * 2007-09-14 2010-12-16 マイクロソフト コーポレーション データ依存チャンキングを使用する最適化されたデータストリーム圧縮
JP2014175995A (ja) * 2013-03-12 2014-09-22 Oki Electric Ind Co Ltd 映像配信装置、映像配信プログラム、映像配信方法、キャッシュ制御装置、キャッシュ制御プログラム、キャッシュ制御方法、映像配信システム及び映像配信方法
WO2016035194A1 (ja) * 2014-09-04 2016-03-10 富士通株式会社 情報処理システム、情報処理装置、情報処理方法、及び情報処理プログラム
WO2020054600A1 (ja) * 2018-09-11 2020-03-19 株式会社ブックウォーカー 電子コンテンツ閲覧システム、電子コンテンツ閲覧方法、及び、コンピュータ読出可能記録媒体
JP2020144928A (ja) * 2015-07-09 2020-09-10 Line株式会社 通信費用の節減のためのコンテンツストリーミングサービス方法およびシステム
JP2021033356A (ja) * 2019-08-14 2021-03-01 富士通株式会社 通信装置、通信システムおよび通信方法

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008529133A (ja) * 2005-01-24 2008-07-31 エーナイン・ドット・コム インコーポレイテッド コンピュータシステムのエンドユーザに表示される情報の提示を変更する技術
JP4889657B2 (ja) * 2005-01-24 2012-03-07 エーナイン・ドット・コム インコーポレイテッド コンピュータシステムのエンドユーザに表示される情報の提示を変更する技術
US8302011B2 (en) 2005-01-24 2012-10-30 A9.Com, Inc. Technique for modifying presentation of information displayed to end users of a computer system
US8645813B2 (en) 2005-01-24 2014-02-04 A9.Com, Inc. Technique for modifying presentation of information displayed to end users of a computer system
JP2010539606A (ja) * 2007-09-14 2010-12-16 マイクロソフト コーポレーション データ依存チャンキングを使用する最適化されたデータストリーム圧縮
US8819288B2 (en) 2007-09-14 2014-08-26 Microsoft Corporation Optimized data stream compression using data-dependent chunking
JP2014175995A (ja) * 2013-03-12 2014-09-22 Oki Electric Ind Co Ltd 映像配信装置、映像配信プログラム、映像配信方法、キャッシュ制御装置、キャッシュ制御プログラム、キャッシュ制御方法、映像配信システム及び映像配信方法
JPWO2016035194A1 (ja) * 2014-09-04 2017-06-29 富士通株式会社 情報処理システム、情報処理装置、情報処理方法、及び情報処理プログラム
WO2016035194A1 (ja) * 2014-09-04 2016-03-10 富士通株式会社 情報処理システム、情報処理装置、情報処理方法、及び情報処理プログラム
US10185496B2 (en) 2014-09-04 2019-01-22 Fujitsu Limited System and apparatus for removing duplicate in data transmission
JP2020144928A (ja) * 2015-07-09 2020-09-10 Line株式会社 通信費用の節減のためのコンテンツストリーミングサービス方法およびシステム
WO2020054600A1 (ja) * 2018-09-11 2020-03-19 株式会社ブックウォーカー 電子コンテンツ閲覧システム、電子コンテンツ閲覧方法、及び、コンピュータ読出可能記録媒体
JPWO2020054600A1 (ja) * 2018-09-11 2020-12-17 株式会社ブックウォーカー 電子コンテンツ閲覧システム、電子コンテンツ閲覧方法、及び、コンピュータ読出可能記録媒体
US11263271B2 (en) 2018-09-11 2022-03-01 Book Walker Co., Ltd. Digital content viewing system, digital content viewing method, and computer-readable recording medium
JP2021033356A (ja) * 2019-08-14 2021-03-01 富士通株式会社 通信装置、通信システムおよび通信方法
JP7302367B2 (ja) 2019-08-14 2023-07-04 富士通株式会社 通信装置、通信システムおよび通信方法

Similar Documents

Publication Publication Date Title
JP3990115B2 (ja) サーバ側プロキシ装置及びプログラム
CN104081739B (zh) 在覆盖网络中利用压缩和差异化引擎的基于主机/路径的数据差异化装置和系统
US7636765B2 (en) Data transfer scheme using caching technique for reducing network load
US8024484B2 (en) Caching signatures
CN102355426B (zh) 实现离线文件传输的方法和系统
US20050198189A1 (en) Methods and apparatus for generating graphical and media displays at a client
US20050004995A1 (en) Peer-to-peer active content sharing
WO2021023170A1 (zh) 一种在线传送数据文件的系统和方法
JP3848209B2 (ja) データ転送装置、データ転送方法及びプログラム
JP2003288261A (ja) データ転送装置、データ転送方法及びプログラム
JP2003108464A (ja) データ転送装置およびデータ転送方法
JP4031516B2 (ja) サーバ側プロキシ装置、クライアント側プロキシ装置、データ転送方法及びプログラム
JP3983987B2 (ja) サーバ側プロキシ装置、データ転送方法及びプログラム
JP2003108455A (ja) データ転送装置およびデータ転送方法
JP3943867B2 (ja) サーバ側プロキシ、データ転送方法及びプログラム
JPH11219312A (ja) データキャッシュ方法およびデータアクセス方法
JP3943868B2 (ja) サーバ側プロキシ、データ転送方法及びプログラム
JP4041157B2 (ja) クライアント側プロキシ装置、データ転送方法及びプログラム
JP3913508B2 (ja) データ転送装置およびデータ転送方法
JP4157585B2 (ja) サーバ側プロキシ装置、クライアント側プロキシ装置、データ転送方法及びプログラム
JP3977601B2 (ja) サーバ側プロキシ装置、クライアント側プロキシ装置及びプログラム
US20040187083A1 (en) System and method for reducing the size of wireless communications
JP4300220B2 (ja) データ転送装置およびデータ転送方法
JP3977651B2 (ja) データ転送方法、サーバ側プロキシ装置、クライアント側プロキシ装置及びプログラム
CN109920555A (zh) 一种基于c/s架构的远程会诊方法及系统

Legal Events

Date Code Title Description
RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20050414

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20050606