JP2003345708A - データ転送装置、データ転送方法及びプログラム - Google Patents
データ転送装置、データ転送方法及びプログラムInfo
- Publication number
- JP2003345708A JP2003345708A JP2002149131A JP2002149131A JP2003345708A JP 2003345708 A JP2003345708 A JP 2003345708A JP 2002149131 A JP2002149131 A JP 2002149131A JP 2002149131 A JP2002149131 A JP 2002149131A JP 2003345708 A JP2003345708 A JP 2003345708A
- Authority
- JP
- Japan
- Prior art keywords
- data
- received
- name
- compressed
- communication 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
Links
Landscapes
- Information Transfer Between Computers (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
置を提供すること。 【解決手段】 サーバ側プロキシ30からクライアント
側プロキシ40へ新たな内容のデータを転送するにあた
って、両プロキシにて、データとそのフィンガープリン
トとを対応付けて登録しておく。ただし、該データが既
登録の他のデータを元に圧縮できる場合には、該データ
の代わりに圧縮データを登録しておく。プロキシ30か
らプロキシ40へ登録されたフィンガープリントと同じ
フィンガープリントを持つデータを転送するにあたって
は、該データの代わりに該フィンガープリントを転送す
る。プロキシ40では、受信したフィンガープリントに
対応して登録されているデータを取り出すとともに、そ
れが圧縮データならば、これを解凍して元のデータにす
る。
Description
データ転送を行うデータ転送装置、データ転送方法及び
プログラムに関する。
提供するサーバと、所望のサービスをサーバに対して要
求するクライアントとから構成される、クライアント・
サーバ型の情報システムが広く利用されている。特に、
インターネット上でHTTPプロトコルを使って通信す
るWebサーバとクライアントとからなるWorld Wide W
ebシステム(あるいは単にWebとも呼ばれる)は、大
変広く利用されているクライアント・サーバ型の情報シ
ステムである。通常、サーバ上ではサーバプログラムが
動作し、クライアント上ではブラウザなどの所定のツー
ル(プログラム)が動作する。インターネット上で提供
されるサービスの内容も多岐に渡っており、ネットワー
ク経由で文字、静止画像、動画像、音声等の情報(例え
ば、ホームページ、電子メール、デジタルコンテンツな
ど)や、プログラムなどを提供、配信あるいは転送など
するサービス、また商品を販売するための電子店舗サー
ビス、座席や部屋等の予約サービス、種々の契約の仲介
サービスなど、種々のサービスが既に存在し、また次々
と新たな形態のサービスが出現している。
サーバ型の情報システムにおいては、提供されるサービ
スがどのような形態のものであろうと、基本的にはクラ
イアント・サーバ間でデータ転送が行われることによっ
てサービスが提供される。したがって、クライアントと
サーバとの間で通信に用いるネットワークの容量(バン
ド幅)が、システム全体のボトルネックになりやすい。
そこで、通常、ネットワークの負荷を軽減させるために
キャッシュ技術が用いられる。
動作するブラウザ等はキャッシュ機構を使用するものが
多く、最近アクセスしたデータをキャッシュしている。
WebではURLと呼ばれる名前で情報やサービスを指
定してアクセスがなされるので、クライアント上のキャ
ッシュは、過去にWebサーバに要求した情報やサービ
スの結果として返されるデータのうちでキャッシュ可能
なものを、そのURLと対応させてキャッシュに記録し
ている。この場合、キャッシュ内にあるものと同じUR
Lの情報やサービスのリクエストがあった際に、そのキ
ャッシュ内の応答データが古くなっていないと判断でき
るならば、そのデータを返すことで、Webサーバとの
間の通信を無くすことができる。
関におけるLANあるいは家庭内のLANなどで複数の
ユーザがいる場合、該LANとインターネットとの間に
プロキシサーバを置き、プロキシサーバにキャッシュ機
構を設けるようにすることも多い。クライアント内のキ
ャッシュ(例えば、ブラウザのキャッシュ)は、当該ク
ライアント・ユーザに専用のキャッシュとして動作する
が、LAN上のプロキシサーバのキャッシュは、複数の
クライアント・ユーザに共有のキャッシュとして動作す
る。そのため、後者では、過去に他人(他クライアン
ト)がアクセスしたURLに対してアクセスする際にも
キャッシュが効く。
ーバとの間は、HTTPと呼ぶプロトコルで通信が行わ
れる。HTTPプロトコルは、クライアントからサーバ
へ送る「リクエストメッセージ」と、それに答えてサー
バからクライアントへ応答を返す「リプライメッセー
ジ」とが組になっている。
ッダ」と「リクエストボディ」からなる。リクエストヘ
ッダには、アクセスしたい情報やサービスを指定するU
RLやアクセスの種類を示すメソッド名、その他アクセ
スに必要な各種の情報が入る。リクエストボディには、
サーバに送るデータを入れる。リクエストボディに入っ
ているデータを「リクエストデータ」とも呼ぶ。
ダ」と「リプライボディ」からなる。リプライヘッダに
は、処理結果のステータスなどの情報が入り、リプライ
ボディには要求された情報や要求されたサービスの処理
結果などのデータが入る。リプライボディに入っている
データを「リプライデータ」とも呼ぶ。
は、サーバ上の情報を読み出す「GETメソッド」、ユ
ーザの持つデータをサーバに書き込む「PUTメソッ
ド」、リクエストの応じて処理した結果を送り返しても
らう「POSTメソッド」が、情報やサービスのアクセ
スに用いられる主要なものである。その他、DELET
Eなどのメソッドが定義されている。
メッセージのリクエストボディ、PUTメソッドのリプ
ライメッセージのリプライボディは空である。POST
メソッドのリクエストメッセージのリクエストボディに
は、必要に応じてサーバ側での処理に用いる情報が入
り、POSTメソッドのリプライメッセージのリプライ
ボディには、その処理の結果のデータが入る。
タは、読み出す毎にサーバ側で生成する「動的データ」
と、既にサーバ側で記憶しているデータをそのまま送り
返す「静的データ」に分けることができる。これらのう
ち、動的データについては、同じURLでも読み出す度
に内容が異なる可能性があるので、多くの場合、サーバ
はキャッシュ不可の指定をそのリプライメッセージのヘ
ッダに入れて送り返す。したがって、Webのデータで
キャッシュの対象になるのは、静的データの部分であ
る。この静的データは、不特定多数のユーザが参照して
構わない「共有データ」と、ユーザ認証することで特定
のユーザだけがアクセスできるようにアクセス制御を行
う「プライベートデータ」に分けることができる。前者
の共有データは、どのようなキャッシュでもキャッシュ
可能である。しかしながら、後者のプライベートデータ
は、プロキシサーバなどの共有キャッシュでは、キャッ
シュ不可である(プライベートデータは必ずサーバで認
証して送り返す必要があるので)。ただし、ブラウザな
どの個人専用のキャッシュの場合には、プライベートデ
ータでもキャッシュは可能である。
た結果を返すので、一般的にサーバはキャッシュ不可の
指定をリプライメッセージのヘッダに入れて結果を送り
返す。そのため、通常はキャッシュの対象にはならな
い。
ものなので、キャッシュは何も処理をしない。
シュは、静的コンテンツをキャッシュの対象にしてい
る。かつては、Webで公開される情報やサービスに
は、情報の更新頻度がそれほど高くなく、不特定多数の
人に公開されているものが多かったため、静的コンテン
ツの割合は非常に高く、従来のキャッシュ技術でもネッ
トワークの負荷の軽減に有効であった。
lication Service Provider)のように、ユーザがWeb
ブラウザを使って、ネットワーク経由でサーバ上の情報
やサービスにアクセスするシステムが普及するにつれ
て、下記のように従来のキャッシュ技術では対応できな
いデータが増加している。 ・ユーザの認証を行い、アクセスできるユーザを制限し
ているので、プライベートデータが多い。 ・バックエンドのデータベースを参照して生成する動的
データが多い。 ・帳票処理や検索などPOSTメソッドを使う場合が多
い。 ・グループ内の情報共有のためにPUTメソッドを使う
場合が多い。 この結果、キャッシュ技術のみではネットワークの負荷
を軽減する手法として有効に機能しなくなってきてい
る。
ので、データ転送装置間を接続するネットワークの負荷
をより軽減することができるキャッシュ技術・圧縮技術
を備えたデータ転送装置、データ転送方法及びプログラ
ムを提供することを目的とする。
装置は、過去に他のデータ転送装置へ送信したデータ又
は該データを圧縮して表現した圧縮データと、該データ
をもとに生成して該データに割り当てた名前とを対応付
けて保持する保持手段と、第1の通信装置から、前記他
のデータ転送装置を介した第2の通信装置を宛先とする
データを受信する受信手段と、この受信手段により前記
データを受信した際に、該受信したデータの内容をもと
に生成した名前が、前記保持手段に保持されている場合
には、該受信したデータの代わりに該名前を送信するた
めの処理を行い、該名前が、前記保持手段に保持されて
いない場合には、前記保持手段に保持されている他のデ
ータを参照データとし、該参照データに対応する前記名
前を利用して、該受信したデータを圧縮して表現するこ
とが可能であるならば、該受信したデータを圧縮して表
現した圧縮データと該名前とを対応付けて前記保持手段
に保持するとともに、該受信したデータの代わりに該圧
縮データを送信するための処理を行い、圧縮して表現す
ることが可能でないならば、該受信したデータと該名前
とを対応付けて前記保持手段に保持するとともに、該受
信したデータを送信するための処理を行う処理手段と、
前記処理手段の処理に応じて前記データの代わりの前記
名前、前記データの代わりの前記圧縮データ又は前記デ
ータを、前記他のデータ転送装置へ送信する送信手段と
を備えたことを特徴とする。
去に他のデータ転送装置から受信したデータ又は該デー
タを圧縮して表現した圧縮データと、該データをもとに
生成して該データに割り当てた名前と、圧縮データであ
るか否か示す識別情報とを対応付けて保持する保持手段
と、第1の通信装置から送信され、第2の通信装置を宛
先とするデータ、該データの代わりに該データを圧縮し
て表現した圧縮データ又は該データの代わりに該データ
の内容をもとに生成して該データに割り当てられた名前
を、前記他のデータ転送装置を介して受信する受信手段
と、この受信手段により前記データを受信した場合に
は、該受信したデータと該データに割り当てられるべき
名前と圧縮データでないことを示す識別情報とを対応付
けて前記保持手段に保持するとともに、該受信したデー
タを送信するための処理を行い、前記データの代わりに
前記圧縮データを受信した場合には、該受信したデータ
と該データに割り当てられるべき名前と圧縮データであ
ることを示す識別情報とを対応付けて前記保持手段に保
持するとともに、該受信した圧縮データを解凍し、該解
凍したデータを送信するための処理を行い、前記データ
の代わりに前記名前を受信した場合には、前記保持手段
に該受信した名前に対応付けて保持されている前記識別
情報を参照し、該データが圧縮データでないならば、該
保持手段から該受信した名前に対応付けて保持されてい
るデータを取得し、該取得したデータを送信するための
処理を行い、該データが圧縮データであるならば、該保
持手段から該受信した名前に対応付けて保持されている
圧縮データを取得し、該取得した圧縮データを解凍し、
該解凍したデータを送信するための処理を行う処理手段
と、前記処理手段の処理に応じて前記受信したデータ、
前記解凍したデータ又は前記取得したデータを、前記第
2の通信装置へ送信する送信手段とを備えたことを特徴
とする。
1の通信装置から、他のデータ転送装置を介した第2の
通信装置を宛先とするデータを受信し、受信された前記
データの内容をもとに生成した名前が、過去に前記他の
データ転送装置へ送信したデータ又は該データを圧縮し
て表現した圧縮データと該データをもとに生成して該デ
ータに割り当てた名前とを対応付けて保持する前記保持
手段に保持されているか否か判断し、保持されている場
合には、受信された前記データの代わりに前記名前を前
記他のデータ転送装置へ送信し、保持されていない場合
には、前記保持手段に保持されている他のデータを参照
データとし、該参照データに対応する前記名前を利用し
て、受信された前記データを圧縮して表現することが可
能であるか否か判断し、可能であるならば、受信された
前記データを圧縮して表現した圧縮データと前記名前と
を対応付けて前記保持手段に保持するとともに、受信さ
れた前記データの代わりに該圧縮データを前記他のデー
タ転送装置へ送信し、圧縮して表現することが可能でな
いならば、受信された前記データと該名前とを対応付け
て前記保持手段に保持するとともに、受信された前記デ
ータを前記他のデータ転送装置へ送信することを特徴と
する。
1の通信装置から送信され、第2の通信装置を宛先とす
るデータ、該データの代わりに該データを圧縮して表現
した圧縮データ又は該データの代わりに該データの内容
をもとに生成して該データに割り当てられた名前を、他
のデータ転送装置を介して受信し、前記他のデータ転送
装置から前記データを受信した場合には、過去に他のデ
ータ転送装置から受信したデータ又は該データを圧縮し
て表現した圧縮データと該データをもとに生成して該デ
ータに割り当てた名前と圧縮データであるか否か示す識
別情報とを対応付けて保持する保持手段に、該受信した
データと該データに割り当てられるべき名前と圧縮デー
タでないことを示す識別情報とを対応付けて保持すると
ともに、該受信したデータを前記第2の通信装置へ送信
し、前記データの代わりに前記圧縮データを受信した場
合には、該受信したデータと該データに割り当てられる
べき名前と圧縮データであることを示す識別情報とを対
応付けて前記保持手段に保持するとともに、該受信した
圧縮データを解凍し、該解凍したデータを前記第2の通
信装置へ送信し、前記データの代わりに前記名前を受信
した場合には、前記保持手段に該受信した名前に対応付
けて保持されている前記識別情報を参照し、該データが
圧縮データでないならば、該保持手段から該受信した名
前に対応付けて保持されているデータを取得し、該取得
したデータを前記第2の通信装置へ送信し、該データが
圧縮データであるならば、該保持手段から該受信した名
前に対応付けて保持されている圧縮データを取得し、該
取得した圧縮データを解凍し、該解凍したデータを前記
第2の通信装置へ送信することを特徴とする。
置へ送信したデータ又は該データを圧縮して表現した圧
縮データと、該データをもとに生成して該データに割り
当てた名前とを対応付けて記憶装置に保持する機能と、
第1の通信装置から、前記他のデータ転送装置を介した
第2の通信装置を宛先とするデータを受信した際に、該
受信したデータの内容をもとに生成した名前が、前記記
憶装置に保持されている場合には、該受信したデータの
代わりに該名前を送信するための処理を行い、該名前
が、前記記憶装置に保持されていない場合には、前記記
憶装置に保持されている他のデータを参照データとし、
該参照データに対応する前記名前を利用して、該受信し
たデータを圧縮して表現することが可能であるならば、
該受信したデータを圧縮して表現した圧縮データと該名
前とを対応付けて前記記憶装置に保持するとともに、該
受信したデータの代わりに該圧縮データを送信するため
の処理を行い、圧縮して表現することが可能でないなら
ば、該受信したデータと該名前とを対応付けて前記記憶
装置に保持するとともに、該受信したデータを送信する
ための処理を行う機能とをコンピュータに実現させるた
めのプログラムである。
置から受信したデータ又は該データを圧縮して表現した
圧縮データと、該データをもとに生成して該データに割
り当てた名前と、圧縮データであるか否か示す識別情報
とを対応付けて記憶装置に保持する機能と、第1の通信
装置から送信され、第2の通信装置を宛先とするデー
タ、該データの代わりに該データを圧縮して表現した圧
縮データ又は該データの代わりに該データの内容をもと
に生成して該データに割り当てられた名前を、前記他の
データ転送装置を介して受信する機能と、この受信機能
により前記データを受信した場合には、該受信したデー
タと該データに割り当てられるべき名前と圧縮データで
ないことを示す識別情報とを対応付けて前記記憶装置に
保持するとともに、該受信したデータを送信するための
処理を行い、前記データの代わりに前記圧縮データを受
信した場合には、該受信したデータと該データに割り当
てられるべき名前と圧縮データであることを示す識別情
報とを対応付けて前記記憶装置に保持するとともに、該
受信した圧縮データを解凍し、該解凍したデータを送信
するための処理を行い、前記データの代わりに前記名前
を受信した場合には、前記記憶装置に該受信した名前に
対応付けて保持されている前記識別情報を参照し、該デ
ータが圧縮データでないならば、該記憶装置から該受信
した名前に対応付けて保持されているデータを取得し、
該取得したデータを送信するための処理を行い、該デー
タが圧縮データであるならば、該記憶装置から該受信し
た名前に対応付けて保持されている圧縮データを取得
し、該取得した圧縮データを解凍し、該解凍したデータ
を送信するための処理を行う機能とをコンピュータに実
現させるためのプログラムである。
としても成立し、方法に係る本発明は装置に係る発明と
しても成立する。また、装置または方法に係る本発明
は、コンピュータに当該発明に相当する手順を実行させ
るための(あるいはコンピュータを当該発明に相当する
手段として機能させるための、あるいはコンピュータに
当該発明に相当する機能を実現させるための)プログラ
ムとしても成立し、該プログラムを記録したコンピュー
タ読取り可能な記録媒体としても成立する。
タとその名前との対応を保持し、この対応を保持してい
るデータについては、データ本体を転送する代わりに対
応する名前を転送することで、データ転送装置間の転送
データ量を削減させることができる。例えば、GETメ
ソッドのリプライメッセージがプライベートデータであ
っても、これをフィンガープリントにより圧縮してデー
タ転送装置間を転送することができるようになる。ま
た、例えば、GETメソッドのリプライメッセージが動
的データであっても、内容が同じデータなら、これをフ
ィンガープリントにより圧縮してデータ転送装置間を転
送することができるようになる。また、例えば、POS
Tメソッドであっても、結果が同じデータなら、これを
フィンガープリントにより圧縮してデータ転送装置間を
転送することができるようになる。
名前が保持されていないために、データを転送するの代
わりに対応する名前を転送することができない場合であ
っても、保持されている参照データに対応する名前を利
用して当該データを圧縮して表現した圧縮データを転送
することによって、データ転送装置間の転送データ量を
削減することができる。例えば、GETメソッドやPO
STメソッドのリプライデータが以前にアクセスしたデ
ータと一部が異なる場合には、差分転送することで、デ
ータ量を削減することができる。また、例えば、PUT
メソッドやPOSTメソッドのリクエストデータが以前
に送ったデータと一部が異なる場合には、差分転送する
ことでデータ量を削減することができる。
な場合には、データの代わりに圧縮データを保存するこ
とにより、記憶装置(メモリやハードディスクなど)を
有効利用できる。
実施の形態を説明する。
り、クライアントはユーザオフィスLANに接続された
ものであり、HTTPプロトコルが使用されるような場
合を例にとって説明するが、本発明は、WANがインタ
ーネット以外のものでも、クライアントがオフィス以外
の例えば家庭内LAN等に設置されたものでも、HTT
P以外のプロトコルが使用されるものでも適用可能であ
る。
ネットワーク・システムの基本的な構成例を示す。この
構成例では、ASPサーバセンター2内のローカルエリ
アネットワーク(LAN)12とユーザオフィス4内の
ローカルエリアネットワーク(LAN)16との間が、
インターネットや専用回線などの広域ネットワーク(W
AN)14を介して接続されており、サーバ20とクラ
イアント50とがLAN12・WAN14・LAN16
を介して通信可能になっている。LAN12には1また
は複数のサーバが接続され、LAN16には1または複
数のクライアントが接続される。
置したサーバ20からWAN14を介して様々なアプリ
ケーションプログラムによるサービスを提供し、ユーザ
はオフィス4に設置されたクライアント上のWebブラ
ウザ等を使ってそれらのサービスにアクセスする。この
ような利用形態においては、オフィス内LAN16とセ
ンター内LAN12とをつなぐネットワーク、特にイン
ターネットなどのWAN14の実効的な通信容量(バン
ド幅)は、LAN12やLAN16よりも低く、そこが
性能上のボトルネックになって通信遅延が発生し、アプ
リケーションの応答性能が低下するという問題が発生す
る。そこで、本実施形態では、例えば図1に示すよう
に、センター内LAN12とオフィス内LAN16をつ
なぐWAN14の両端に、サーバ側プロキシ30及びク
ライアント側プロキシ40なる2つのモジュールを設置
し、サーバ20とクライアント50がLAN12・プロ
キシ30・WAN14・プロキシ40・LAN16を介
して通信するにあたって、それらプロキシ間で後述する
フィンガープリント圧縮(FP圧縮)や差分圧縮を行っ
て通信データ量を低減することで、広域ネットワークの
ボトルネックを解消する。さらに、それらプロキシで
は、詳しくは後述するように、圧縮に必要なデータの一
部を差分情報によって保持することで、必要なキャッシ
ュ量を削減する。
シ30、クライアント側プロキシ40、クライアント5
0は、いずれも、計算機上でソフトウェア(サーバ・プ
ログラム、サーバ側プロキシ・プログラム、クライアン
ト側プロキシ・プログラム、クライアント・プログラ
ム)を動作させる形で実現することができる。この場合
に、所望の機能を有する、OSやドライバソフト、パケ
ット通信用ソフト、暗号ソフト等といったソフトウェ
ア、あるいは通信インタフェース装置や外部記憶装置や
入出力装置等といったハードウェアが、必要に応じて計
算機に搭載あるいは接続される。また、この場合に、ユ
ーザあるいは管理者などからの情報の入力やユーザへの
情報の呈示等のために、グラフィカル・ユーザ・インタ
フェース(GUI)を用いると好ましい。
るクライアント50上では、その目的に応じて例えばW
ebブラウザ等のプログラムが動作する。ユーザは、例
えば、Webブラウザからインターネットを介し情報転
送あるいは注文受付等の所望のサービスを提供するサー
バにリクエストメッセージを出し、リプライメッセージ
を受けることによって、またはこれを適宜繰り返すこと
によって、サービスを利用する。なお、Webブラウザ
等の汎用のソフトウェアではなく、特定のサービスを利
用するための専用のソフトウェアなどの他のものが用い
られても構わない。また、クライアントは、汎用の計算
機ではなく、例えばインターネット機能を有する携帯電
話端末等でもよい。
ラムが動作し、クライアント50のユーザに対して、当
該サーバ・サイトに固有のサービスを提供する。
サーバセンター内LAN12とWAN14の両方に接続
し、トランスペアレント・プロキシとして動作するよう
に設置して実施してもよい。また、図2のようにサーバ
センター内LAN12上に設置して実施してもよい。ま
た、図3のようにサーバ側プロキシ30の機能をサーバ
20に内蔵するように実施してもよい。
1のように、ユーザオフィス内LAN16とWAN14
の両方に接続し、トランスペアレント・プロキシとして
動作するように設置して実施してもよい。また、図2の
ようにユーザオフィス内LAN16上に設置して実施し
てもよい。また、図3のようにクライアント側プロキシ
40の機能をクライアント50上で動作するブラウザ等
に内蔵するように実施してもよい。あるいは、ブラウザ
等の動作するクライアント50上に、個人用のクライア
ント側プロキシ40を動作させるように実施してもよ
い。
ト側プロキシ40とは、図1〜図3などのように同じ形
態であってもよいし、異なる形態であってもよい。
ュ、これを利用したFP圧縮及び差分圧縮、データ管理
について、それらの概要を説明する。
イアント側プロキシ40との間のデータ転送方向として
いずれか一方向を例にとって説明する際には、サーバ側
プロキシ30からクライアント側プロキシ40へデータ
を転送する場合を例にとって説明していくが、クライア
ント側プロキシ40からサーバ側プロキシ30へデータ
を転送する場合にも同様のことが可能である。
イアント側プロキシ40は、フィンガープリント・キャ
ッシュと呼ぶキャッシュ機構を持つ。フィンガープリン
ト・キャッシュは、フィンガープリント(FP)と呼ぶ
名前によって、HTTPプロトコルでやりとりされるデ
ータを記録・管理する。
うに、HTTPプロトコルでやり取りされるデータ(図
4ではコンテンツ)の内容から、あらかじめ決められた
計算方法(図4ではハッシュ関数)で決定される、短い
数値である。この数値は、可変長でもよいが、処理の容
易さの観点では、固定長の数値の方が扱いやすい。
は、良く知られている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に対してそれぞれ計算したハッ
シュ値が同じになる場合があるが、その確率は実用上無
視できるくらいに小さい)。
やクライアント側プロキシ40の持つフィンガープリン
ト・キャッシュ(260)は、過去にHTTPプロトコ
ルでやり取りされたデータ本体(261)または後述す
る差分圧縮により生成されたデータ(264)を、その
やりとりされたデータから計算して求めたフィンガープ
リントの値(262)を名前として、記録されているデ
ータがデータ本体かそれとも差分圧縮により生成された
データかを示す差分圧縮データ識別子(以下、圧縮識別
子と記述する)(263)とともに記録・管理する。な
お、以下では、該識別子=0が“記録されているデータ
はデータ本体である”ことを示し、該識別子=1が“記
録されているデータが差分圧縮により生成されたデータ
である”ことを示すものとした例で説明するが、これに
限定されるものではない。
ロキシ30からクライアント側プロキシ40へデータを
転送する場合に、サーバ側プロキシ30は、当該データ
のフィンガープリントを計算し、そのフィンガープリン
トに対応するデータがフィンガープリント・キャッシュ
に入っていてかつ圧縮識別子が0であれば、キャッシュ
に存在するデータは差分圧縮により生成されたデータで
はないが、当該データ(と同じ内容のデータ)は過去に
転送したことがあるので、当該データを転送せずに、対
応するフィンガープリントの値を転送する。フィンガー
プリントを受け取ったクライアント側プロキシ40は、
当該フィンガープリントの値に対応するデータをフィン
ガープリント・キャッシュから取り出すことで、転送す
べきデータを再現することができる。
キシ30は、計算したフィンガープリントに対応するデ
ータがフィンガープリント・キャッシュに入っていてか
つ圧縮識別子が1であれば、キャッシュに存在するデー
タは差分圧縮により生成されたデータであり、当該受信
データ(と同じ内容のデータ)に対して過去に差分圧縮
が成功し、差分情報を転送したことがあることがわか
り、当該データを転送せずに、対応するフィンガープリ
ントの値を転送する。フィンガープリントを受け取った
クライアント側プロキシ40は、当該フィンガープリン
トの値に対応するデータをフィンガープリント・キャッ
シュから取り出して差分圧縮されているデータを解凍す
ることで、転送すべきデータを再現することができる。
リントによるデータの圧縮→フィンガープリントの転送
→フィンガープリントによるデータの解凍)により、過
去に送ったものと同じデータ(データ本体あるいは差分
圧縮により生成されたデータ)ならばフィンガープリン
トの値を送るだけでよいので、ネットワークを流れるデ
ータ量を大幅に削減することができる。
プリントに対応するデータがフィンガープリント・キャ
ッシュに入っていないものについては、今回は、後述す
る差分圧縮により生成されたデータまたはデータ本体を
転送するとともに、フィンガープリント・キャッシュへ
の登録を行うことによって、次回からは、FP圧縮によ
るフィンガープリントの転送ができるようになる。
ント側プロキシ40との間でのデータ転送にあたり、フ
ィンガープリント・キャッシュを利用してメッセージ・
ボディーのデータをフィンガープリントに置き換えて転
送情報量を圧縮することを、フィンガープリント圧縮
(FP圧縮)と呼ぶものとする。
ンガープリントを用いてデータの同一性を高速に判断
し、フィンガープリント・キャッシュに登録されている
データと同じデータはプロキシ間で転送せず、代わりに
当該データに対するフィンガープリントを転送するよう
にして、ネットワークの負荷を低減させる。しかし、フ
ィンガープリント・キャッシュに登録されているデータ
と異なるデータは、たとえ大部分は同じ内容であっても
FP圧縮を適用できない。そこで、本実施形態では、F
P圧縮できない場合であっても、フィンガープリント・
キャッシュに登録されている1または複数のデータを参
照データとして、参照データのフィンガープリントや、
参照データに対する差分情報など転送すべきデータを復
元するための情報によって、転送データを表現すること
によって、少ない情報量で転送データを表現し、なるべ
く転送データ量を減らすようにしている。すなわち、フ
ィンガープリント・キャッシュの中のデータを辞書とし
て使って、その中から取り出せるデータは送らないよう
にする。
ント側プロキシ40との間でのデータ転送にあたり、フ
ィンガープリント・キャッシュを利用してメッセージ・
ボディーのデータを参照データのフィンガープリント等
に置き換えて転送情報量を圧縮することを、差分圧縮と
呼ぶものとする。また、この差分圧縮により生成された
転送データを、差分圧縮データと呼ぶものとする。
用した差分圧縮は、転送すべきデータと参照データとの
間の関係を予め取り決めておく必要がなという利点も得
られる。すなわち、従来の差分転送では、予め双方で何
をベースに差分を取るかを決める必要があるため、差分
転送をWebシステムに実際に用いようとすると、この
URLのデータはこのデータをベースに差分を取るとい
うようなルールを、双方に登録する手段が必要であり、
任意のデータに対して有効に機能させることは不可能で
あった。これに対して、本差分圧縮方法は、フィンガー
プリント・キャッシュの中にあるデータを参照データと
して差分を取ることで、差分のベースを予め決めておか
なくても、差分によるデータの圧縮の効果を得ることが
できる。
て説明する。
おいてサーバ20から受信したリプライデータに対して
差分圧縮が成功した場合、サーバ側プロキシ30は差分
圧縮により生成された差分圧縮データをクライアント側
プロキシ40に送信するとともに、自分自身のフィンガ
ープリント・キャッシュ260には、該リプライデータ
から取得したフィンガープリントと該差分圧縮データと
を記録・管理する。この際、記録・管理されているデー
タが差分圧縮データであることを示すために、圧縮識別
子を1にセットする。
サーバ側プロキシ30から受信したリプライデータが差
分圧縮データであった場合には、差分圧縮データからサ
ーバ側プロキシ30が受信したリプライデータを生成し
クライアント50に送信するとともに、自分自身のフィ
ンガープリント・キャッシュ260には、差分圧縮デー
タから生成された該リプライデータに対するフィンガー
プリントと、サーバ側プロキシ30から受信した差分圧
縮データとを記録・管理する。この際、記録・管理され
ているデータが差分圧縮データであることを示すため
に、圧縮識別子を1にセットする。
バ20から受信したリプライデータが初めてのデータで
あり、FP圧縮及び差分圧縮の両方とも失敗した場合に
は、サーバ側プロキシ30はクライアント側プロキシ4
0に対して該リプライデータを送信するとともに、自分
自身のフィンガープリント・キャッシュ260には、該
リプライデータから取得したフィンガープリントと該リ
プライデータとを記録・管理する。この際、記録・管理
されているデータが差分圧縮データではないことを示す
ため、圧縮識別子を0にセットする。
サーバ側プロキシ30から受信したリプライデータがF
P圧縮及び差分圧縮のどちらも施されていないデータで
あることを検知した場合には、該リプライデータをクラ
イアント50へ送信するとともに、自分自身のフィンガ
ープリント・キャッシュ260には、該リプライデータ
から取得したフィンガープリントと該リプライデータと
を記録・管理する。この際、記録・管理されているデー
タが差分圧縮データではないことを示すため、圧縮識別
子を0にセットする。
ついては、サーバ側プロキシ30及びクライアント側プ
ロキシ40双方のフィンガープリント・キャッシュ26
0において、差分圧縮データのみが保存されることにな
る。
応用では、大部分は同じ内容であるが一部分だけが異な
っているようなデータが多く使われる。例えば、帳票の
データなどは、多くのフィールドに同じ情報が記入され
ていて、一部分だけが違うようなものが多数存在する。
また、例えば、Webページで日付もしくは時刻のみ異
なるものや、総アクセス回数のカウンタ値のみ異なるも
のなどもある。このような場合には、差分圧縮データに
よる転送や保存は特に有効で、データ本体による転送や
保存を効果的に少なくすることができる。
全メッセージをFP圧縮の適用対象としてもよいが、例
えば、予め定められた条件を満たすメッセージについて
は、これをFP圧縮の適用対象外とする(常にFP圧縮
しないで転送する)ようにしてもよい。予め定められた
条件は、例えば、メッセージ・ヘッダに予め定められた
情報(例えばGETメソッドを示す情報およびリクエス
トを示す情報)が記述されていること、転送されるデー
タが空(null)あるいは非常に短いサイズであるこ
となど、種々のバリエーションが考えられる。
すべて差分圧縮の適用対象としてもよいが、FP圧縮の
適用対象のメッセージのうち予め定められた条件を満た
すメッセージについては、これを差分圧縮の適用対象外
とするようにしてもよい(この場合、差分圧縮を適用さ
れる条件が、FP圧縮を適用される条件に対して更に他
の条件を加重したものになる)。例えば、FP圧縮しな
いデータサイズの上限値U1よりも、差分圧縮しないデ
ータサイズの上限値U2を大きくする(FP圧縮すべき
データサイズの下限値L1よりも、差分圧縮すべきデー
タサイズの下限L2を大きくする)という方法や、FP
圧縮の適用対象か否かはデータサイズで判断するが、差
分圧縮の適用対象か否かについては、FP圧縮の適用対
象のうちHTMLやXML以外のデータを適用対象外と
する(HTMLやXMLのデータに対してのみ差分圧縮
を行う)という方法等、種々のバリエーションが考えら
れる。なお、以下では、FP圧縮の適用対象のメッセー
ジをすべて差分圧縮の適用対象とする場合を例にとって
説明する。
縮対象のメッセージは、データがFP圧縮されたメッセ
ージ(ただし、圧縮識別子が0になるものと1になるも
のとがある)、データが差分圧縮されたメッセージ、ま
たはデータが圧縮されていないメッセージのいずれかと
して、サーバ側プロキシ30とクライアント側プロキシ
40との間を転送されることになる。
象でないメッセージがある場合、該メッセージは、デー
タがFP圧縮されたメッセージ(圧縮識別子=0にな
る)、またはデータが圧縮されていないメッセージのい
ずれかとして、サーバ側プロキシ30とクライアント側
プロキシ40との間を転送されることになる。
る場合には、該メッセージは、データが圧縮されていな
いメッセージとして、サーバ側プロキシ30とクライア
ント側プロキシ40との間を転送されることになる。
る。
た差分圧縮の方法には次に例示するものなど種々の方法
がある。・フィンガープリント・キャッシュに登録され
ているデータのうちの1つを参照データとする。プロキ
シ間では、参照データに対応するフィンガープリントの
値と、転送データと参照データとの差分を示す情報とを
転送する。・上記の方法において、参照データとの差分
の全部または一部についても、フィンガープリント・キ
ャッシュに登録されているデータを利用する。あるい
は、フィンガープリント・キャッシュに登録されている
データ(の全体または部分)を組み合わせることによっ
て転送データの全部または一部を表現する。例えば、フ
ィンガープリント・キャッシュに登録されているデータ
のうち任意数のものを参照データとする。プロキシ間で
は、参照データに対応するフィンガープリントの値と、
参照データのうち転送データの復元に使用する部分を示
す情報と、その部分をもとにした転送データの復元方法
を示す情報とを転送する。
例を示す。
の3種類の指示を示す。データの代わりに転送される差
分圧縮データは、これら指示の並びで構成する。
ュ内のデータを参照するときに、参照データに番号を付
けて定義する指示である。1バイト目の8n(図6の例
では、n=0)は指示識別子である。この指示識別子の
うちnは、そのフィンガープリントで指定されるデータ
をn番の参照データとして扱うことを示す。2バイト目
から始まる16バイトが当該参照データに対するフィン
ガープリントの値を示す。この例では、80〜8Fによ
ってそれぞれ0番の参照データから、最大15番までの
参照データが扱えるようになっている。扱える参照デー
タの最大数は、実装によって多くも少なくもできる。
の中から部分データをコピーする指示を表す。1バイト
目の9n(図6の例では、n=0)は指示識別子であ
る。この指示識別子のうちnは、(a)の指示で定義さ
れたn番の参照データを使用することを示す。2バイト
目からの4バイトは、そのn番の参照データ中のオフセ
ット位置を、6バイト目からの4バイトでデータの長さ
をそれぞれ指示する。そして、それらによって、n番の
参照データの中の指定オフセット位置から指定長さのデ
ータを、この指示の並びの位置(順番)に従って(転送
データの構成部分として)コピーすべきことを示す。
示である。1バイト目のA0は、指示識別子である。2
バイト目からの4バイトは、データの長さを示す。6バ
イト目以降に、その長さで指定されたバイト数のデータ
が続く。そして、それらによって、6バイト目以降のデ
ータを、この指示の並びの位置(順番)に従って(転送
データの構成部分として)コピーすることを示す。
縮データは、フィンガープリント・キャッシュを参照し
ながら、指示された順にデータをコピーして接続してい
くだけで解凍することができる。
示す。
ント5E83…B6としてフィンガープリント・キャッ
シュに入っていたとする。
ると、図7のデータを参照データとして、図9のように
差分圧縮することができる。
と比較すると、図7のデータの『TOKYO』が『OS
AKA』に変わっているだけである。そこで、図9のよ
うに、まず、0バイト目でフィンガープリント“5E8
3…B6”のデータを0番参照データとして定義するこ
とを指示し、17バイト目で0番参照データの0バイト
目から60バイトをコピーすることを指示し、次に26
バイト目で『OSAKA』の5文字をコピーすることを
指示し、最後に36バイト目で0番参照データの65バ
イト目から51バイトをコピーすることを指示してい
る。
タを再現することができる。
が、複数個使うことも可能である。
例を示す。
リント82F3…38としてフィンガープリント・キャ
ッシュに入っており、図11に示すようなデータがフィ
ンガープリントA20D…CBとしてフィンガープリン
ト・キャッシュに入っていたとする。このとき、図12
のようなデータが与えられると、図10のデータと図1
1のデータを参照データとして、図13のように差分圧
縮することができる。
ープリント“82F3…38”のデータを0番参照デー
タとして定義することを指示し、17バイト目で0番参
照データの0バイト目から53バイトをコピーすること
を指示し、26バイト目でフィンガープリント“A20
D…CB”のデータを1番参照データとして定義するこ
とを指示し、43バイト目で1番参照データの96バイ
ト目から55バイトをコピーすることを指示している。
ータを再現することができる。
用すべき部分の指示と、使用すべきデータの直接指定を
行う方法(方法1)であったが、その代わりに、参照デ
ータのうち使用しない部分(直接指示データで置き換え
る部分)の指示と、その使用しない部分に嵌め込むデー
タの直接指定を行う方法(方法2)も可能である。
能である。
ーバ側プロキシ30とクライアント側プロキシ40との
間でデータ転送する際の(FP圧縮の適用対象のメッセ
ージについての)プロキシ間メッセージ・フォーマット
について説明する。
ロキシ40との間でデータ転送する場合、FP圧縮の適
用対象のメッセージには、データがFP圧縮されてフィ
ンガープリントに置き換えられたメッセージ(FP圧縮
時のメッセージ)と、FP圧縮されいないが、差分圧縮
されたデータが搭載されているメッセージ(差分圧縮時
のメッセージ)と、FP圧縮も差分圧縮もされていない
データが搭載されているメッセージ(非圧縮時のメッセ
ージ)とがある。すべてのメッセージをFP圧縮の適用
対象とするのではない構成の場合には、これら3つのメ
ッセージに加えて、FP圧縮の適用対象外のメッセージ
がある。
て、FP圧縮時のメッセージでは、データが削除され、
フィンガープリントが付加され、差分圧縮時のメッセー
ジでは、データが削除され、参照データのフィンガープ
リントなど当該データを復元するための情報が付加され
る。非圧縮時のメッセージおよび圧縮適用対象外のメッ
セージでは、データは削除されない。
は、上記の3種もしくは4種のメッセージを識別できる
必要がある。FP圧縮時のメッセージ受信時は、フィン
ガープリントをデータに戻し(ただし、圧縮識別子が0
である場合には、データ本体が保持されているが、圧縮
識別子が1である場合には、差分圧縮により生成された
データが保持されているので、これをもとにデータを復
元する)、差分圧縮時のメッセージ受信時は、データを
復元する。また、差分圧縮時または非圧縮時のメッセー
ジ受信時は、フィンガープリント・キャッシュの登録を
行う。
例を示す。(a)は非圧縮時のメッセージであり、
(b)は差分圧縮時のメッセージであり、(c)はFP
圧縮時のメッセージである。
が載せられ、(b)ではメッセージ・ボディーにデータ
の代わりに当該データを復元するための情報が載せら
れ、(c)ではメッセージ・ボディーにデータの代わり
にフィンガープリント(FP)が載せられる。
に、メッセージの種類を識別可能とする識別情報が(圧
縮側のプロキシにおいて)記述され、この識別情報に基
づいて(解凍側のプロキシにおいて)FP圧縮の有無を
識別する(例えば、01ならば非圧縮なし、10ならば
差分圧縮、11ならばFP圧縮)。なお、識別情報は、
プロキシ間で使用される特別のものであってもよいし、
もともと通常のHTTPメッセージ・ヘッダに存在する
フィールドを利用あるいは併用したものであってもよ
い。
が存在し得る構成の場合には、圧縮側(送信側)のプロ
キシにおいて、図14(d)に示すように、FP圧縮の
適用対象外のメッセージのメッセージ・ヘッダに上記の
識別情報(例えば、00とする)を含めればよい。
が存在し得る構成の場合に、解凍側(受信側)プロキシ
において、メッセージ・ヘッダに含まれる何らかの情報
によって当該メッセージがFP圧縮の適用対象外のメッ
セージであることを判断できるとき、あるいはメッセー
ジ・ボディーが空(null)のときに当該メッセージ
がFP圧縮の適用対象外のメッセージであることを判断
するようにしたときなどには、FP圧縮の適用対象外の
メッセージのメッセージ・ヘッダには識別情報を含めな
いようにすることも可能である。
(a),(b)の例では、メッセージに当該データに対
するフィンガープリントを含ませなかったが、メッセー
ジ・ヘッダにフィンガープリントを含ませるようにして
もよい(あるいは、メッセージ・ボディーに当該データ
に対するフィンガープリントを含ませるようにしてもよ
い)。図15(a)〜(c)は、非圧縮時や差分圧縮時
には、メッセージ・ヘッダにフィンガープリントを含ま
せ、FP圧縮時には、メッセージ・ボディーにフィンガ
ープリントを含ませる場合の一例である。このようにす
れば、解凍側で当該データについてフィンガープリント
・キャッシュの登録を行う際に、該フィンガープリント
を利用することによって、あらためて当該データからフ
ィンガープリントを求める手間が省ける。
16に示すように、FP圧縮時のメッセージでは、メッ
セージ・ヘッダにフィンガープリント(FP)を含め、
メッセージ・ボディーを空(null)にしてもよい。
フォーマットが可能である。
メッセージのヘッダに非圧縮フラグを記述し且つフィン
ガープリントは記述せず、(b)の差分圧縮時のメッセ
ージのヘッダに差分圧縮フラグを記述し且つフィンガー
プリントは記述せず、(c)のFP圧縮時のメッセージ
のヘッダにフィンガープリントは記述し且つボディーは
空(null)にする。
(null)であることあるいはメッセージのヘッダに
フィンガープリントが記述されていることを検出するに
よって、当該メッセージがFP圧縮時のメッセージであ
ることを識別することができる。また、非圧縮時のメッ
セージや差分圧縮時のメッセージは、ヘッダに非圧縮フ
ラグや差分圧縮フラグが記述されていることを検出する
ことによって、識別することができる。
が存在し得る構成の場合には、圧縮側(送信側)のプロ
キシにおいて、図18の(a),(b)に示すように
((a)はデータが空(null)でない場合、(b)
はデータが空(null)である場合)、FP圧縮の適
用対象外のメッセージのメッセージ・ヘッダに対象外フ
ラグを含めればよい。
が存在し得る構成の場合に、解凍側(受信側)プロキシ
において、メッセージ・ヘッダに含まれる何らかの情報
によって当該メッセージがFP圧縮の適用対象外のメッ
セージであることを判断できるときなどには、図18の
(c),(d)に示すように((c)はデータが空(n
ull)でない場合、(d)はデータが空(null)
である場合)FP圧縮の適用対象外のメッセージのメッ
セージ・ヘッダには対象外フラグを含めないようにする
ことも可能である。
クライアント側プロキシ40へリプライメッセージを転
送するときにそのリプライデータをFP圧縮・解凍する
場合を中心に本実施形態について詳しく説明する。
キシ30の構成例を示し、図20に本実施形態における
のクライアント側プロキシ40の構成例を示す。なお、
図19や図20は、サーバ側プロキシ30からクライア
ント側プロキシ40へデータを転送する際の構成を中心
に示してある。
センター内LAN12または広域ネットワーク14から
転送メッセージを受信するための処理を行う受信部3
1、転送メッセージに含まれるデータに対してFP圧
縮、差分圧縮を施すための処理部32、サーバセンター
内LAN12または広域ネットワーク14へ転送メッセ
ージを送信するための処理を行う送信部33、フィンガ
ープリントとそのもととなったデータまたは差分圧縮デ
ータとを対応付けて記憶するためのフィンガープリント
・キャッシュ(FPキャッシュ)34を備えている。ま
た、処理部32は、転送メッセージに含まれるデータを
圧縮対象とすべきか否かを判定するためのフィンガープ
リント圧縮判定部(FP圧縮判定部)321、FPキャ
ッシュ34に対する検索や登録などを行うためのフィン
ガープリント・キャッシュ管理部(FPキャッシュ管理
部)322、転送メッセージに含まれるデータを対応す
るフィンガープリントで置き換えるなどの処理を行うた
めのフィンガープリント圧縮処理部(FP圧縮処理部)
323、転送メッセージに含まれるデータを差分圧縮デ
ータで置き換えるなどの処理を行うための差分圧縮処理
部324を含む。
ユーザオフィス内LAN16または広域ネットワーク1
4から転送メッセージを受信するための処理を行う受信
部41、転送メッセージに含まれるデータに対してFP
解凍を施すための処理部42、ユーザオフィス内LAN
16または広域ネットワーク14へ転送メッセージを送
信するための処理を行う送信部43、フィンガープリン
トとそのもととなったデータまたは差分圧縮データとを
対応付けて記憶するためのフィンガープリント・キャッ
シュ(FPキャッシュ)44を備えている。また、処理
部42は、転送メッセージに含まれるデータを圧縮対象
とすべきか否か並びに転送メッセージに対するFP圧縮
および差分圧縮の有無を判定するためのフィンガープリ
ント圧縮判定部(FP圧縮判定部)421、FPキャッ
シュ44に対する検索や登録などを行うためのフィンガ
ープリント・キャッシュ管理部(FPキャッシュ管理
部)422、FP圧縮された転送メッセージに含まれる
フィンガープリントから元のデータを解凍するなどの処
理を行うためのフィンガープリント解凍処理部(FP解
凍処理部)423、差分圧縮された転送メッセージに含
まれる差分圧縮データから元のデータを解凍するなどの
処理を行うための差分解凍処理部424を含む。
凍側のFP圧縮判定部421は、前述したようにメッセ
ージが予め定められた条件を満たすか否かを調べること
によって、そのメッセージに含まれるデータをFP圧縮
の適用対象とするか否かを判断する(全メッセージをF
P圧縮の適用対象にする場合には、圧縮側のFP圧縮判
定部321及び後に示す手順例の該当部分並びに解凍側
のFP圧縮判定部421の該当判断の部分及び後に示す
手順例の該当部分は不要である)。また、解凍側のFP
圧縮判定部421は、FP圧縮の適用対象のメッセージ
について、そのデータがFP圧縮されたものか否かを判
定する。以下では、FP圧縮の適用対象となるメッセー
ジを転送する場合(FP圧縮の適用対象とすると判断さ
れた場合、または全メッセージをFP圧縮の適用対象に
する場合)を中心に説明する。
0からクライアント側プロキシ40へリプライメッセー
ジを転送する際のサーバ側プロキシ30の処理手順の一
例を示す。なお、図21及び図22は、1つのリプライ
メッセージを受けたときの処理を記述しているが、実際
はサーバ側プロキシ30が受け取ったリプライメッセー
ジ全てに対して、図21及び図22に例示する処理を行
う。
り、サーバ20からリプライメッセージを受信する(ス
テップS1)。
セージのリプライデータがFP圧縮対象のものであるか
否か調べ、判断する(S2)。リプライデータがFP圧
縮対象外のものと判断されたならば(S2)、受信した
リプライメッセージを送信部33からクライアント側プ
ロキシ40へ転送する(S13)。
リプライデータがFP圧縮対象のものであると判断され
たならば、FPキャッシュ管理部322にて、該リプラ
イデータのフィンガープリントの値を計算し(S3)、
該フィンガープリントの値をキーとしてFPキャッシュ
34を検索する(S4)。
に対応するデータ(データ本体または差分圧縮データ)
との組がFPキャッシュ34に登録されていたならば
(S5)、FP圧縮処理部323にて、受信したリプラ
イメッセージを、該フィンガープリントの値を用いてF
P圧縮時のフォーマットにして、送信部33から、クラ
イアント側プロキシ40へ送信する(S6)。
ンガープリントの値とこれに対応するデータとの組がF
Pキャッシュ34に登録されていなかったならば(S
5)、差分圧縮処理部324にて、差分圧縮を行い(S
7)、差分圧縮に成功したか否か判定する(S8)。
分圧縮の対象とした元のデータのデータ量r0と、差分
圧縮データのデータ量r1とを比較し、r0−r1>d
を満たすならば、成功したと判断する。ここで、定数d
は、予め定められた0以上の整数である。
された場合、次の2つの作業を行う(1-1と1-2のいずれ
を先に行ってもよいし、並行して行ってもよい)。 (1−1)差分圧縮処理部324にて、受信したリプラ
イメッセージを、(必要に応じて該フィンガープリント
の値を用いて)差分圧縮時のフォーマットにして、送信
部33から、クライアント側プロキシ40へ送信する
(S9)。 (1−2)FPキャッシュ管理部322にて、該フィン
ガープリントの値と、ステップS7において生成された
差分圧縮データとを対応付けて(フィンガープリントの
値をキーにして)、FPキャッシュ34に登録する(S
10)。この際、登録するデータは差分圧縮データであ
るので、圧縮識別子を1にセットする。
分圧縮データをFPキャッシュに登録するものとした
が、(i)差分圧縮データのサイズと該差分圧縮データ
の元になったデータのサイズがほとんど変わらない場合
は差分圧縮データではなく該差分圧縮データの元になっ
たデータを保存する、(ii)差分圧縮データのサイズ
が該差分圧縮データの元になったデータのサイズに比べ
て非常に小さい場合は差分圧縮データは保存せず、該差
分圧縮データの元になったデータも保存せず差分圧縮デ
ータ作成時に参照データとして用いたデータのFPキャ
ッシュにおける登録を維持する、などの方法も可能であ
る。その他にも種々のバリエーションがある。また、こ
の点は、後で説明する他の処理手順例において差分圧縮
データをFPキャッシュに登録する場合についても同様
である(なお、後の説明でも、全ての差分圧縮データを
FPキャッシュに登録するものとした場合を例にとって
説明している)。
と判断された場合、次の2つの作業を行う(2-1と2-2の
いずれを先に行ってもよいし、並行して行ってもよい)。 (2-1)差分圧縮処理部324(あるいはFP圧縮処理部
323)にて、受信したリプライメッセージを、非圧縮
時のフォーマットにして、送信部33から、クライアン
ト側プロキシ40へ送信する(S11)。 (2-2)FPキャッシュ管理部322にて、該フィンガー
プリントの値と、該リプライメッセージとを対応付けて
(フィンガープリントの値をキーにして)、FPキャッ
シュ34に登録する(S12)。この際、登録するデー
タは差分圧縮データではないので、圧縮識別子を0にセ
ットする。
シ30からクライアント側プロキシ40へリプライメッ
セージを転送する際のクライアント側プロキシ40の処
理手順の一例を示す。なお、図23〜図25は、1つの
リクエストメッセージを受けたときの処理を記述してい
るが、実際はクライアント側プロキシ40が受け取った
リクエストメッセージ全てに対して、図23〜図25に
例示する処理を行う。
1により、サーバ側プロキシ30からリプライメッセー
ジを受信する(ステップS21)。
セージのリプライデータがFP圧縮対象のものであるか
否か調べ、判断する(S22)。リプライデータがFP
圧縮対象外のものと判断されたならば(S22)、受信
したリプライメッセージを送信部43からクライアント
50へ転送する(S38)。
のリプライデータがFP圧縮対象のものであると判断さ
れたならば、FP圧縮判定部421は、さらに、リプラ
イデータがFP圧縮されているか否か調べ、判断する
(S23)。
のリプライデータがFP圧縮されているものと判断され
たならば、FPキャッシュ管理部422にて、該リプラ
イデータのフィンガープリントの値を求め(S24)、
該フィンガープリントの値をキーとしてFPキャッシュ
44を検索する(S25)。
得られたデータが差分圧縮データかどうか、FPキャッ
シュ管理部422にて該データの圧縮識別子を用いて調
べ、判断する(S26)。
ータであると判断された(本例では、圧縮識別子が1)
ならば、差分解凍処理部424にて、(FPキャッシュ
管理部422において参照データを検索・取得した後
に)差分圧縮データを解凍して元のリプライデータを復
元し(S27)、該復元したリプライデータをリプライ
メッセージに付加し、またプロキシ間で特別の情報を使
用する場合には受信リプライメッセージから該情報を削
除し、該リプライメッセージを送信部43からクライア
ント50へ送信する(S28)。
ータではないと判断された(本例では、圧縮識別子が
0)ならば、FP解凍処理部423にて、受信リプライ
メッセージに対して、FPキャッシュ44から検索され
た該フィンガープリントの値に対応するデータを付加
し、プロキシ間で特別の情報を使用する場合には該情報
を削除した後に、これを送信部43からクライアント5
0へ送信する(S29)。
セージのリプライデータがFP圧縮されていないものと
判断されたならば、FP圧縮判定部421は、さらに、
該リプライデータが差分圧縮されているか否か判定する
(S30)。
断された場合、次の2つの作業を行う(1-1と1-2のいず
れを先に行ってもよいし、並行して行ってもよい)。 (1−1)差分解凍処理部424にて、(FPキャッシ
ュ管理部422により参照データを検索・取得した後
に)差分圧縮データを解凍して元のリプライデータを復
元し(S31)、該復元したリプライデータをリプライ
メッセージに付加し、またプロキシ間で特別の情報を使
用する場合には受信リプライメッセージから該情報を削
除し、該リプライメッセージを送信部43からクライア
ント50へ送信する(S32)。 (1−2)FPキャッシュ管理部422にて、該リプラ
イデータのフィンガープリントの値を求め(S33)、
該フィンガープリントの値と、差分圧縮データとを対応
付けて(フィンガープリントの値をキーにして)、FP
キャッシュ44に登録する(S34)。このとき、FP
キャッシュ44への登録においては、リプライメッセー
ジは差分圧縮データであるので、圧縮識別子は1にセッ
トする。
いと判断された場合、次の2つの作業を行う(2-1と2-2
のいずれを先に行ってもよいし、並行して行ってもよ
い)。 (2-1)差分解凍処理部424(あるいはFP解凍処理部
423)にて、プロキシ間で特別の情報を使用する場合
には受信リプライメッセージから該情報を削除した後
に、これを送信部43からクライアント50へ送信する
(S35)。 (2-2)FPキャッシュ管理部422にて、該リプライデ
ータのフィンガープリントの値を求め(S36)、該フ
ィンガープリントの値と、該リプライメッセージとを対
応付けて(フィンガープリントの値をキーにして)、F
Pキャッシュ44に登録する(S37)。このとき、F
Pキャッシュ44への登録においては、リプライメッセ
ージは差分圧縮データではないので、圧縮識別子は0に
セットする。
は、メッセージにフィンガープリントが記述されている
場合に、該メッセージからフィンガープリントを得る方
法と、メッセージにフィンガープリントが記述されてな
い場合に、リプライデータをもとにハッシュ関数等によ
ってフィンガープリントの値を計算する方法とがある。
なお、メッセージにフィンガープリントが記述されてい
る場合であっても、リプライデータをもとにフィンガー
プリントの値を計算する方法も可能である。また、ステ
ップS24/S33/S36は、フィンガープリントを
使用する以前の他のタイミングで行って構わない。ま
た、ステップS22、S23、S26、S30の判断の
全部または一部を同時に行ってもよい。
る。
れは、先に説明した3種類の指定を用いる場合の手順例
である。
ガープリント・キャッシュに入っているデータのうち、
最近アクセスしたものを順に並べた履歴表を利用するも
のとする。この履歴表には、必ずしもフィンガープリン
ト・キャッシュに入っている全てのデータのフィンガー
プリントが記録されている必要は無い。例えば、予め定
められた個数が記録されていればよい(この場合、個数
は、例えば差分圧縮の参照データとして使用するに有効
な個数を想定して予め決定する)。もちろん、履歴表へ
の記録の基準として、最近のアクセスの順以外の1又は
複数の基準を用いてもよいし、最近のアクセスの順の基
準に加えて他に1又は複数の基準を併用してもよい。
ャッシュと一体化して構成する方法もある。
ーバッファおよび指示バッファを空にする。
もとに、図6(a)〜(c)の指示が作成され、これが
指示バッファに書き出される。最終的に、指示バッファ
に書き出された指示の並びが、差分圧縮データになる。
るデータを文字列として扱い、その文字列上を指すポイ
ンタを用意する。まず、ポインタが当該文字列のうちの
最初の文字を指すように設定する。
当該文字列のうちの最後の文字に辿りついたと判断され
るまで、ループ処理を実行することになる。
いるフィンガープリントに対応するデータを、新しいも
のから順に取り出し、その中に、差分圧縮したいデータ
の中のポインタの指す場所から予め定められた長さ以上
マッチするデータを参照データとして取り出す。
々の方法がある。例えば、履歴表に記録されているフィ
ンガープリントに対応するデータを最新の順に調べてい
き、最初に予め定めた長さ以上マッチしたデータを参照
データとして取り出す方法、履歴表に記録されているフ
ィンガープリントに対応するデータの全てを調べ、その
中でマッチした長さが最も長かったデータ(ただし、予
め定めた長さ以上マッチしたことを条件とする)を参照
データとして取り出す方法などがある。
られたらならば、ステップS237へ移る。参照データ
が見つけられなかったならば、ステップS235へ移
る。
て参照データが見つけられた場合に、コピーバッファが
空でなければ、コピーバッファ中の文字列に対応する、
図6の(c)の直接指定によるコピー指示を作成し、こ
れを指示バッファに書き出す。コピーバッファは、空に
する。なお、コピーバッファが空ならば、何もしない。
て見つかった参照データに対応する図6の(a)の参照
データ定義が未だ指示バッファに書き出されていなけれ
ば、指示バッファに当該参照データ定義の指示を書き出
す。
チした文字列のコピー指示を、図6の(b)のコピー指
示として指示バッファに書き出す。
タとマッチした文字列の長さ分だけ進める。
34にて参照データが見つけられた場合に、ポインタの
指す文字をコピーバッファに入れる。
だけ進める。
るデータの最後までポインタが来ていなければ(処理し
ていないデータ部分が残っていれば)、ステップS23
3へ戻る。差分圧縮の対象とするデータの最後までポイ
ンタが来ていたら(処理していないデータ部分が残って
いなければ)、処理ループを抜けて、ステップS242
へ移る。
でなければ、コピーバッファ中の文字列に対応する、図
6の(c)の直接指定によるコピー指示を作成し、これ
を指示バッファに書き出す。コピーバッファは、空にす
る。なお、コピーバッファが空ならば、何もしない。
縮データとなる。
にして差分圧縮を行った後、差分圧縮を行った結果のデ
ータサイズが、行う前のデータサイズよりも小さくなっ
ている(あるいは一定基準(一定の圧縮量)を超えて小
さくなっている)ことを確認する。差分圧縮によってデ
ータサイズが小さくならない(あるいは一定基準(一定
の圧縮量)を超えては小さくならない)場合には、差分
圧縮しない方が良いので、データはそのまま転送する。
て、ステップS233の予め定められた長さ以上マッチ
する文字列を持つ最新のデータを選び出す処理が、最も
時間がかかる処理であると考えられる。この処理をより
高速化するために、ハッシュ表を利用することができ
る。履歴表に入れるデータから、その中の全ての予め定
められた長さの文字列を取り出し、そのハッシュ値(例
えば、全ての文字のコードを足したものなど)を計算
し、ハッシュ表に登録しておく。このハッシュ表は、同
じハッシュ値を持つデータがあればより最新のデータに
よって上書きされるようにしておく。このハッシュ表を
使って、差分圧縮したいデータの現在のポインタの位置
から予め定められた長さの文字列のハッシュ値を求め、
そのハッシュ値を使ってハッシュ表を引いて求めたデー
タが、ステップS233で選ぶべきデータの第1の候補
になる。ここで、異なる文字列でも同じハッシュ値を生
成する場合があるので、本当に同じかどうかは文字列を
実際に比較して確認し、同じでなければ、履歴表のデー
タを順に見るなど方法で次の候補を探す。
方法は、行を単位として比較処理を行う方法である。図
26の手順では文字を単位として比較処理をしていた
が、履歴表にあるすべてのデータに対して、そのデータ
内の各行のハッシュ値の列を計算しておく。差分圧縮し
たいデータからも、まず、各行のハッシュ値の列を計算
する。以降は、図26の手順と同様であるが、比較は文
字単位ではなく、行のハッシュ値を単位として行う。こ
の方法は、行を単位としているため、文字単位よりも比
較回数を減らすことができる。ただし、ハッシュ値で比
較するために、異なる行でも同じハッシュ値を持つ場合
があるので、最終的にはハッシュ値が同じだと判断した
後に、実際に行の中も比較して本当に同じかどうかを判
断するのが望ましい。もちろん、このように行を単位と
して比較する構成についても、上記のハッシュ技法を組
み合わせることができる。この場合、連続する複数行を
組み合わせて、予め定められた長さと同じか長くなる最
少の行数を単位としてハッシュ表に登録すればよい。
示す。これは、フィンガープリント・キャッシュに登録
されているデータのうちの1つを参照データとし、プロ
キシ間では、参照データに対応するフィンガープリント
の値と、転送データと参照データとの差分を示す情報と
を転送する場合の手順例である。
ものとする。
プリントに対応するデータのうち、所定の基準を満たす
一つを、参照データとして選択する(ステップS24
5)。
するデータのうち、参照データとするデータとの間でマ
ッチしなかった部分のデータ量が、予め定められたデー
タ量以下であって、かつ、参照データをそのマッチしな
かった部分によって複数の塊に分断したときにおけるそ
の分断された塊の数が、予め定められた数以下である場
合に、これを参照データとして選択可能とする。
しては、前述のように、例えば、履歴表に記録されてい
るフィンガープリントに対応するデータを最新の順に調
べていき、最初に予め定めた長さ以上マッチしたデータ
を参照データとして取り出す方法、履歴表に記録されて
いるフィンガープリントに対応するデータの全てを調
べ、その中でマッチしなかったデータ量や分断数が最も
少なかったデータを参照データとして取り出す方法な
ど、種々の方法がある。
46)、参照データ定義の指示(例えば図6の(a))
を、指示バッファに書き出す(S247)。
(直接指定データで置換する部分)を示す指示(例えば
図6の(b)と同じフォーマットの指示で1バイト目の
指示識別子を変えたもの)を、指示バッファに書き出す
(S248)。
込むべきデータを示す直接指定する指示(例えば図6の
(c))を、指示バッファに書き出す(S249)。
その分だけステップS248とステップS249を実行
する。
縮データとなる。
(S246)、差分圧縮はしないことになる。
履歴表をフィンガープリント・キャッシュとは別に設け
るものとしたが、履歴表は、フィンガープリント・キャ
ッシュと一体化して構成する方法もある。
のとしたが、履歴表を用いない方法もある。例えば、フ
ィンガープリント・キャッシュを所定の順番で(例え
ば、エントリ順にあるいはランダムに)予め定められた
上限数だけ調べ、それらのうちで最良のものを使用する
ようにする方法や、フィンガープリント・キャッシュを
所定の順番で(例えば、エントリ順にあるいはランダム
に)調べ、予め定められた条件を満たす参照データが初
めて得られた時点で、参照データを決定してしまう方法
など、種々の方法がある。
キャッシュに、フィンガープリントに加えて、そのフィ
ンガープリントを登録したときに元となったリプライデ
ータを含んでいたリプライメッセージについてのURL
をも保持しておき、参照データを探索する際に、まず差
分圧縮対象のリプライデータを含むリプライメッセージ
についてのURLと同じURLを持つデータが、履歴表
またはフィンガープリント・キャッシュに登録されてい
ないかどうか調べ、登録されているならば当該URLと
同じURLを持つデータを他のものよりも優先して、参
照データとして使用できないかどうか調べるようにして
もよい。
の差分圧縮の手順が可能である。
ーバ側プロキシ30へリクエストメッセージを転送する
際にはフィンガープリント・キャッシュを用いないもの
とする場合には、サーバ側プロキシ30は、図28に例
示するように、クライアント側プロキシ40からリクエ
ストメッセージを受信し(ステップS60)、これをサ
ーバ20へ送信する(ステップS61)、という手順で
構わない。同様に、クライアント側プロキシ40は、図
29に例示するように、クライアント50からリクエス
トメッセージを受信し(ステップS62)、これをサー
バ側プロキシ30へ送信する(ステップS63)、とい
う手順で構わない。
ら、フィンガープリント・キャッシュを利用したデータ
転送についてより具体的に説明する。
ロキシ30からクライアント側プロキシ40へ、フィン
ガープリント・キャッシュ登録されていないデータであ
って且つ差分圧縮も成功しなかったデータを転送すると
ともに、該データについてフィンガープリント・キャッ
シュ登録する場合の動作について説明する。
は、例えば“/A.cgi”というURLでサーバ20に、P
OSTメソッドのリクエストメッセージを出したとす
る。サーバ20へのリクエストメッセージは、まず、ク
ライアント側プロキシ40に送られるように、ブラウザ
等を設定しておく。
ッセージを受け取ったクライアント側プロキシ40は、
そのリクエストメッセージをサーバ側プロキシ30に転
送する。
サーバ側プロキシ30は、そのリクエストメッセージを
サーバ20へ転送する。
ージに対する処理を行った後、サーバ側プロキシ30
に、そのリプライメッセージを送り返す。
ーバ側プロキシ30は、まず、受信リプライメッセージ
の持つリプライデータのフィンガープリントを計算し、
そのフィンガープリント名を持ったデータがFPキャッ
シュ34に入っているかどうかを調べる。ここでは、入
っておらず、初めてのデータ(一旦フィンガープリント
・キャッシュ登録されたものがその後に削除あるいは無
効化されることがある構成の場合に、一旦フィンガープ
リント・キャッシュ登録されたが削除あるいは無効化さ
れ、その後において初めてである場合を含む)であるの
で、そのデータをフィンガープリントを名前としてFP
キャッシュ34に入れる(登録する)。なお、ここで
は、リプライデータを差分圧縮してデータ量を減らすこ
とができなかったものとする。このとき、FPキャッシ
ュ34への登録においては、該データが差分圧縮データ
ではないので、圧縮識別子は0にセットする。
載せたリプライメッセージをクライアント側プロキシ4
0に転送する。なお、リプライデータから計算したフィ
ンガープリントの値を、リプライヘッダ等に入れて送る
と、クライアント側プロキシ40で再度フィンガープリ
ントを計算する手間を省くことが出来る。
ライアント側プロキシ40は、初めてのデータであるの
で、リプライデータをFPキャッシュ44に登録する。
このとき、FPキャッシュ44への登録においては、該
リプライデータが差分圧縮データではないので、圧縮識
別子は0にセットする。なお、前述したように、リプラ
イデータからフィンガープリントを計算するか、あるい
はサーバ側プロキシがリプライヘッダ等に入れたフィン
ガープリントを取り出し、これを名前として入れる。
(リプライヘッダ等にフィンガープリントの値などのサ
ーバ側プロキシ30とクライアント側プロキシ40との
間だけで使用される情報が存在する構成の場合には、こ
れを削除した後に、)リプライメッセージを、クライア
ント50(上で動作するブラウザ等)へ送り返す。
記の(5)のフィンガープリント・キャッシュ登録は、
(6)の動作の後に行っても構わない。また、クライア
ント側プロキシ40において、(7)のフィンガープリ
ント・キャッシュ登録は、(8)の動作の後に行っても
構わない。
ロキシ30からクライアント側プロキシ40へ、フィン
ガープリント・キャッシュ登録されていないデータであ
って且つ差分圧縮が成功したデータを転送するととも
に、該データについてフィンガープリント・キャッシュ
登録する場合の動作について説明する。
した動作における(1)〜(4)と同様である。
ーバ側プロキシ30は、まず、受信リプライメッセージ
の持つリプライデータのフィンガープリントを計算し、
そのフィンガープリント名を持ったデータがFPキャッ
シュ34に入っているかどうかを調べる。ここでは、入
っておらず、初めてのデータであることを判断する。そ
して、圧縮対象になるデータをFP圧縮できなかった場
合には、差分圧縮処理を行い、リプライデータを差分圧
縮してデータ量を減らすことができるならば、差分圧縮
する。ここでは、フィンガープリントが“71F0…7
3E6”のデータを参照データとした場合に、リプライ
データを差分圧縮してデータ量を減らすことができたも
のとする。リプライデータを差分圧縮データに置き換
え、リプライヘッダ等に差分圧縮したことを示す情報を
入れる。
おいて生成された差分圧縮データを同じく(5)で計算
したフィンガープリントを名前としてFPキャッシュ3
4へ入れる(登録する)。このとき、FPキャッシュ3
4への登録においては、該データが差分圧縮データであ
るので、圧縮識別子を1にセットする。
メッセージをクライアント側プロキシ40に転送する。
プライヘッダ等を見て、リプライデータが差分圧縮され
ていることを知り、圧縮の解凍を行う。このとき、ま
ず、圧縮されたデータ内に指定されている参照データの
フィンガープリント“71F0…73E6”を取り出
し、次に、該フィンガープリントに対応するデータをF
Pキャッシュ44から取り出して使用する。そして解凍
したデータをリプライデータに入れ、リプライヘッダの
コンテンツサイズなど必要なヘッダを書き換える。
ったクライアント側プロキシ40は、初めてのデータで
あるので、サーバ側プロキシ30から受信した差分圧縮
データをFPキャッシュ44に登録する。このとき、F
Pキャッシュ44への登録においては、登録するデータ
が差分圧縮データであるので、圧縮識別子を1にセット
する。また、リプライヘッダ等にフィンガープリントの
値などのサーバ側プロキシ30とクライアント側プロキ
シ40との間だけで使用される情報が存在する構成の場
合には、これを削除する。なお、前述したように、リプ
ライデータ(差分圧縮データから解凍して得られたデー
タ)からフィンガープリントを計算するか、あるいはサ
ーバ側プロキシがリプライヘッダ等に入れたフィンガー
プリントを取り出し、これを名前として入れる。
リプライメッセージを、クライアント50(上で動作す
るブラウザ等)へ送り返す。
録のデータは、すべてフィンガープリント・キャッシュ
に登録するものとし、また、上記の(6)で参照データ
に用いたデータは、すべてフィンガープリント・キャッ
シュの登録を維持するものとしたが、参照データに唯一
のデータを使用した場合であって、かつ、差分圧縮対象
となったデータと、その差分圧縮に用いた参照データと
が、ほとんど同じ内容(例えば、両者でマッチしないデ
ータ量が基準以下)である場合には、(i)圧縮対象で
未登録のデータはフィンガープリント・キャッシュに登
録せず、参照データはフィンガープリント・キャッシュ
の登録を維持する、あるいは(ii)圧縮対象で未登録の
データをフィンガープリント・キャッシュに登録し、参
照データはフィンガープリント・キャッシュから削除す
る、などの方法も可能である。また、参照データに唯一
のデータを使用した場合であって、かつ、差分圧縮対象
となったデータと、その差分圧縮に用いた参照データと
が、ほとんど同じ内容であって、かつ、URLが同一の
場合には、データが更新されたものとして、圧縮対象で
未登録のデータをフィンガープリント・キャッシュに登
録し、参照データはフィンガープリント・キャッシュか
ら削除する、などの方法も可能である。その他にも種々
のバリエーションがある。
は図31の動作が行われてキャッシュ登録されているデ
ータを、サーバ側プロキシ30からクライアント側プロ
キシ40へ転送する場合の動作について説明する。
した動作における(1)〜(4)と同様である。
を受け取ったサーバ側プロキシ40は、まず、受信リプ
ライメッセージの持つリプライデータのフィンガープリ
ントを計算し、そのフィンガープリント名を持ったデー
タがFPキャッシュ34に入っているかどうかを調べ
る。ここではフィンガープリント・キャッシュ登録され
ているので、(例えばフィンガープリントの値をリプラ
イヘッダ等に入れ且つリプライボディを空にするなどし
て)リプライボディのデータをフィンガープリントで置
き換える。
ボディをフィンガープリントで置き換えたリプライメッ
セージをクライアント側プロキシ40に転送する。
ライアント側プロキシ40は、リプライデータがフィン
ガープリントで置き換えられていることを検出し、(前
述したように例えばリプライヘッダなどにて)指定され
たフィンガープリントを使ってFPキャッシュ44から
対応するデータを取り出す。ここで、該データの圧縮識
別子が0である場合には、該データは差分圧縮データで
はないので、これをリプライボディに入れる。一方、該
データの圧縮識別子は1である場合には、該データは差
分圧縮データであるので、これを解凍してもとのリプラ
イデータを復元し、これをリプライボディに入れる。な
お、図32は、前者の場合を例示している。また、リプ
ライヘッダ等にフィンガープリントの値などのサーバ側
プロキシ30とクライアント側プロキシ40との間だけ
で使用される情報が存在する構成の場合には、これを削
除する。
0は、リプライメッセージを、クライアント50(上で
動作するブラウザ等)へ送り返す。
ライアント側プロキシ40のフィンガープリント・キャ
ッシュは、その容量に上限があるため、所定のアルゴリ
ズムに従いガベージコレクションを行って、例えば古い
データや使いそうに無いデータを消して行くのが好まし
い。
キシ30のFPキャッシュ34は持っていてもクライア
ント側プロキシ40のFPキャッシュ44では既に消さ
れているようなデータが発生し得ることになるので、図
32を参照して説明した動作における(7)で、クライ
アント側プロキシ40において、フィンガープリントを
もとにしてFPキャッシュ44からリプライデータを置
き換えるべきデータを得ようとしたが、FPキャッシュ
44に該当するフィンガープリントとデータの組が存在
しない場合がある。このような場合には、例えば、クラ
イアント側プロキシ40は、サーバ側プロキシ30に対
して、指定したフィンガープリントのデータを送るよう
に依頼し、依頼されたサーバ側プロキシ30は、指定さ
れたフィンガープリントのデータをFPキャッシュ34
から取り出して送り返すような仕組みを設ければよい。
キャッシュ34では既に消されているがクライアント側
プロキシ40のFPキャッシュ44はまだ持っていてる
ようなデータが存在する場合には、図30を参照して説
明した動作における(7)や図31を参照して説明した
動作における(9)で、クライアント側プロキシ40に
おいて、フィンガープリント/データをFPキャッシュ
44に登録する際に、その時点で登録されていたフィン
ガープリント/リプライデータに対して上書きしてもよ
い。
(5)で、サーバ側プロキシ30において、リプライデ
ータのフィンガープリントを求め、該フィンガープリン
トがFPキャッシュ34に入っていれば、当該プライデ
ータと同じデータが該フィンガープリントと組になって
FPキャッシュ34に入っているものとみなして処理し
ている。実用上、異なるデータから同じフィンガープリ
ントが生成されないことを前提にすれば、この方法で十
分であるが、非常に小さな確率で異なるデータのフィン
ガープリントが偶々同じ値になってしまった場合に生じ
るエラーを取り除くようにする方法もある。この場合に
は、リプライデータから求めたフィンガープリントがF
Pキャッシュ34に入っているときに、該フィンガープ
リントと組になってFPキャッシュ34に入っているデ
ータと、当該プライデータとを比較して、同じか否かを
判断するようにすればよい。このとき、もしフィンガー
プリントは同じであるが内容が異なるデータが登録され
ていると判断された場合の処理は、以下に例示するよう
な方法が考えられる。 ・そのフィンガープリントは以降使用しないものとする
(そのフィンガープリントを与えるデータは以後キャッ
シュされないことになる) ・先に登録されているフィンガープリント/データを優
先する(登録中のフィンガープリントと同じ値のフィン
ガープリントを与える他のデータは、その登録中はキャ
ッシュされないことになる) ・現在登録対象となっているフィンガープリント/デー
タを優先する(登録中のフィンガープリント/データ
は、同じ値のフィンガープリントを与える他のデータに
よって次々と更新されていくことになる) ところで、これまで説明した例では、サーバ側プロキシ
30からクライアント側プロキシ40へリプライデータ
を転送する際にフィンガープリント・キャッシュを利用
するものとし、あるデータとこれに対するフィンガープ
リントとの組をフィンガープリント・キャッシュに登録
するタイミングは、そのデータが初めてサーバ側プロキ
シ30からクライアント側プロキシ40へ転送されると
きとしている。しかし、例えばWebベースのASPの
ような利用法では、データはまずユーザオフィス等で作
成されてサーバに登録され、それをブラウザ等からアク
セスするような場合が多いため、このような場合には、
当該データを(データ本体または差分圧縮データとし
て)サーバに登録する時点でクライアント側プロキシお
よびサーバ側プロキシのフィンガープリント・キャッシ
ュに登録しておくと、それ以降のアクセスを高速化する
ことができる。そこで、サーバが送信するリプライデー
タが、もともとはクライアントからサーバへ転送された
データ(ただし、この転送のときはリクエストデータ)
である場合には、登録タイミングを、該リプライデータ
となる元のリクエストデータが初めてクライアント側プ
ロキシ40からサーバ側プロキシ30へ転送されるとき
とするようにしてもよい(この場合、当該データがリプ
ライデータとなって初めてサーバ側プロキシ30からク
ライアント側プロキシ40へ転送される際には、すでに
フィンガープリント・キャッシュへの登録が完了してい
ることになるので、リプライデータとしては初めての転
送であっても、フィンガープリント・キャッシュを利用
して、転送データ量を削減することができる)。
プロキシ30からクライアント側プロキシ40へリプラ
イデータを転送するときに、該リプライデータがフィン
ガープリント・キャッシュに登録されているデータと同
じものである場合には、該リプライデータに代えて、対
応するフィンガープリントを転送し、または差分圧縮デ
ータを転送することで、ネットワークのトラフィックを
軽減しているが、本発明は、クライアント側プロキシ4
0からサーバ側プロキシ30へリクエストデータを転送
する場合についてさらに適用することが可能である。
差分圧縮をいずれか一方についてのみ適用することも可
能である。
アント側プロキシ40からサーバ側プロキシ30へリク
エストデータを転送する場合についてのみ適用すること
も可能である。
プロキシ40からサーバ側プロキシ30へのリクエスト
データ転送に適用する場合、すでに説明したリプライデ
ータに対するサーバ側プロキシ30とクライアント側プ
ロキシ40との役割を逆にすればよいので、FP圧縮お
よび差分圧縮を両データ転送に適用する場合には、サー
バ側プロキシ30は図19の構成に加えて、更に処理部
32にフィンガープリント解凍処理部および差分解凍処
理部を備え、クライアント側プロキシ40は図20の構
成に加えて、更に処理部42にフィンガープリント圧縮
処理部および差分圧縮処理部を備えればよい。
ンガープリント圧縮処理部とフィンガープリント解凍処
理部とを併せて、フィンガープリント(FP)圧縮・解
凍処理部としてもよい。同様に、差分圧縮処理部と差分
解凍処理部とを併せて、差分圧縮・解凍処理部としても
よい。
ト側プロキシ40は、リプライデータ転送に対するフィ
ンガープリント・キャッシュとは独立にリクエストデー
タ転送に対するフィンガープリント・キャッシュを設け
てもよいが、リプライデータ転送とクエストデータ転送
とで同じフィンガープリント・キャッシュを共用しても
よい。なお、差分圧縮の際に前述した履歴表を使用する
構成の場合には、履歴表についても同様に独立して設け
てもよいし、共用してもよい。
データ転送とで同じフィンガープリント・キャッシュを
共用する場合のプロキシ(サーバ側プロキシ、クライア
ント側プロキシ)の構成例を示す。
側プロキシ40からサーバ側プロキシ30へリクエスト
メッセージを転送する際のクライアント側プロキシ40
の処理手順の一例を示す。図34及び図35は、図21
及び図22において、転送するメッセージがリプライメ
ッセージからリクエストメッセージになり、メッセージ
送信元がサーバからクライアントになり、メッセージ送
信先がクライアントからサーバになり、サーバ側プロキ
シ30の動作とクライアント側プロキシ40の動作とを
入れ替えたものに相当する。
プロキシ40からサーバ側プロキシ30へリクエストメ
ッセージを転送する際のサーバ側プロキシ30の処理手
順の一例を示す。
て、転送するメッセージがリプライメッセージからリク
エストメッセージになり、メッセージ送信元がサーバか
らクライアントになり、メッセージ送信先がクライアン
トからサーバになり、サーバ側プロキシ30の動作とク
ライアント側プロキシ40の動作とを入れ替えたものに
相当する。
ィンガープリントまたは差分圧縮データで置き換えられ
るように実施すると、例えば、同じファイルを何度もサ
ーバにアップロードするときには、2回目以降フィンガ
ープリントを送るだけで済むので、ネットワークのトラ
フィックを軽減させることができる。
ロセスからサーバ側プロキシへ転送されるリクエストメ
ッセージや、サーバ側プロキシからクライアント側プロ
セスへ転送されるリプライメッセージを対象とする場合
について示してきたが、あるプロキシに、リクエストメ
ッセージを送信する装置とリプライメッセージを送信す
る装置との両方、あるいはリクエストメッセージおよび
リプライメッセージの両方を送信する装置が接続されて
いる場合には、もちろん、クライアント側プロセスから
サーバ側プロキシへ転送されるリクエストメッセージお
よびリプライメッセージならびにサーバ側プロキシから
クライアント側プロセスへ転送されるリクエストメッセ
ージおよびリプライメッセージを対象とすることや、ク
ライアント側プロセスからサーバ側プロキシへ転送され
るリクエストメッセージおよびサーバ側プロキシからク
ライアント側プロセスへ転送されるリクエストメッセー
ジのみ対象とすることなども可能である。
キシと1つのクライアント側プロキシとの間の1対1の
通信に着目して説明してきたが、本発明の適用範囲はも
ちろんサーバ側プロキシとクライアント側プロキシとが
1対1で通信するシステムには限定されるものではな
く、サーバ側プロキシとクライアント側プロキシとが1
対多で通信するシステム、サーバ側プロキシとクライア
ント側プロキシとが多対1で通信するシステム、あるい
はサーバ側プロキシとクライアント側プロキシとが多対
多で通信するシステムにも適用可能である。例えば、図
39のように、複数のユーザオフィスに設置したクライ
アント側プロキシや、モバイルユーザが利用する個人用
プロキシなどがサーバ側プロキシを共有して使用するよ
うに実施することも可能である。
まれるデータ全体をFP圧縮する対象(フィンガープリ
ント・キャッシュに登録する対象)にしていたが、例え
ば、1つのメッセージに含まれるデータが所定の単位の
データの集合で構成される場合には、1つのメッセージ
に含まれる一部の単位データのみFP圧縮する対象(フ
ィンガープリント・キャッシュに登録する対象)にする
構成も可能である。
あるいはクライアント側プロキシ(一方でも両方でもよ
い)に、プロキシの共有キャッシュ機構でキャッシュ可
能とされているリプライデータについて、クライアント
が出したリクエストメッセージにおいて指定されていた
URLと、該リクエストメッセージに対応するリプライ
メッセージに含まれていたリプライデータと、該リプラ
イデータに対応するフィンガープリントと、該リプライ
メッセージのリプライ・ヘッダに入れられて来たMIM
Eタイプなどのリクエスト・ヘッダを構成するのに必要
な情報や有効期間の判定に使うためのタイムスタンプな
どの情報を対応付けてキャッシュしておき(フィンガー
プリント・キャッシュにすべて保持してもよいし、リプ
ライデータを除く情報(URLとフィンガープリントと
他の情報)を保持する対応テーブルを別途設けてもよ
い)、これとフィンガープリント・キャッシュとを併用
することで、プロキシサーバの共有キャッシュの動作を
も行うようにすることができる。例えば、クライアント
側プロキシに該キャッシュ機能を設けた場合、クライア
ントが送信したリクエストメッセージにて指定されてい
るURLに対するリプライデータがキャッシュされてお
り且つ該データが有効である場合には、該クライアント
側プロキシが、URLに対応するデータをフィンガープ
リント・キャッシュから取得して、リプライメッセージ
を作成して、これをクライアントに応答することができ
る。
毎に、また個々のクライアント側プロキシ40毎に、設
けるか否かを定めることができる。
ロキシ40について説明する。
キシ40の構成例を示す。このクライアント側プロキシ
40は、図20の構成・機能に加えて、更に過去にアク
セスしたURLと、そのリプライデータのフィンガープ
リントとの対応を保持するURL・フィンガープリント
・テーブル(URL・FPテーブル)45と、URLキ
ャッシュ処理部427とを備えている。
RLおよびフィンガープリント以外に、そのURLでア
クセスしたときにリプライヘッダに入れられて来たMI
MEタイプや、有効期間の判定に使うためのタイムスタ
ンプなどの情報も併せて記録する。また、URL・FP
テーブル45には、従来の共有キャッシュがキャッシュ
できる場合にのみ必要な情報を記録する。
イアント側プロキシ40へリプライメッセージを転送す
る際のクライアント側プロキシ40の処理手順例を示
す。
25の手順の端子4および端子6およびステップS38
の後に追加される以外は、図23〜図25の手順と同じ
であり、図41では、図23〜図25の手順の端子4お
よび端子6およびステップS38より後の処理手順の部
分を示してある。ここでは、図23〜図25で説明した
手順に追加する部分を中心に説明する。
3により、クライアント50にリプライメッセージを送
信(図23〜図25のステップS28、S29、S3
2、S35またはS38)した後、URLキャッシュ処
理部427にて、該リプライメッセージがキャッシュ対
象のものであるか否か調べ、判断する(S39)。キャ
ッシュ対象であると判断されたならば、URLキャッシ
ュ処理部427にて、URLとフィンガープリントとリ
プライヘッダを構成するのに必要な情報等を対応付けて
(URLをキーにして)をURL・FPテーブル45に
登録する(S40)。キャッシュ対象でないと判断され
たならば、何もしない。
プS40のURL・FPテーブルへの登録は、ステップ
S23とステップS28あるいはS29、ステップS2
3とステップS32あるいはステップS35の間にて行
うようにしても構わない。
キャッシュ対象のものであるか否かの判断方法は、従来
の登録時の手法と同様で構わない(例えば、GETメソ
ッドのリプライデータであって、かつ、そのヘッダにキ
ャッシュ不可を示す情報が記述されていないものをキャ
ッシュ対象とする等)。
ト250から受信したリクエストメッセージをクライア
ント側プロキシ40からサーバ側プロキシ30へ転送す
る際のクライアント側プロキシ40におけるプロキシサ
ーバの共有キャッシュの動作に関する処理手順の一例を
示す。
1により、クライアント50からリクエストメッセージ
を受信する(ステップS141)。
ストメッセージに対するリプライメッセージがキャッシ
ュ対象のものであるか否か調べ、判断する(S14
2)。なお、応答時のキャッシュ対象か否かの判断方法
は、従来の応答時の手法と同様で構わない(例えば、受
信リクエストメッセージがGETメソッドのものである
か否か)。
のと判断されたならば(S142)、受信したリクエス
トメッセージを送信部43からサーバ側プロキシ30へ
転送する(S151)。
ージに対するリプライメッセージがキャッシュ対象のも
のであると判断されたならば、URLキャッシュ処理部
427は、さらに、該リクエストメッセージに指定され
ているURLを取り出し(S143)、そのURLをキ
ーとしてURL・FPテーブル45を検索する(S14
4)。
ィンガープリントがキャッシュされていなければ(S1
45)、受信したリクエストメッセージを送信部43か
らサーバ側プロキシ30へ転送する(S151)。この
とき、現在保持しているデータのタイムスタンプをリク
エストメッセージのIf-Modified-Sinceヘッダに記入し
てサーバ側プロキシ30へ転送し、サーバ側プロキシ3
0から現在保持しているデータが有効であるとのリプラ
イメッセージを受け取ると、ステップS147へ行くよ
うに実施することもできる。
タのフィンガープリントが登録されていても(S14
5)、併せて保持されている有効期間の判定のための情
報に基づいてそのデータが無効になっていると判断され
れば(S146)、受信したリクエストメッセージを送
信部43からサーバ側プロキシ30へ転送する(S15
1)。
タのフィンガープリントが登録されており(S14
5)、かつ、併せて保持されている有効期間の判定のた
めの情報に基づいてそのデータが有効であると判断され
れば(S146)、URLキャッシュ処理部427は、
URL・FPテーブル45からリプライデータを構成す
るのに必要な情報を得るとともに、当該URLに対応す
るリプライデータのフィンガープリントをキーとしてF
Pキャッシュ44を検索する(S147)。
テップS147にて取得したデータが差分圧縮データで
あるかどうかを、圧縮識別子が0または1のいずれであ
るかをもって判断する(S148)。圧縮識別子が0で
あれば、差分圧縮データではないと判断され、1であれ
ば、差分圧縮データであると判断される。
明した場合(S148)、差分解凍処理部424は該デ
ータを解凍し、リプライデータを生成する(S14
9)。そして、該リプライデータからリプライメッセー
ジを生成し、送信部43からクライアントへ転送する
(S150)。
とが判明した場合(S148)、FP圧縮解凍部423
は、該データからリプライデータを生成し、送信部43
からクライアントへ転送する(S150)。
ら、共有キャッシュの動作についてより具体的に説明す
る。
は、例えば“/C.html”というURLでサーバ20に、
GETメソッドのリクエストメッセージを出したとす
る。
きに、そのURLがURL・FPテーブル45に載って
いれば、従来の共有キャッシュと同様に有効期間の判定
を行い、有効と判断できれば、そのURLに対応するフ
ィンガープリントをURL・FPテーブル45を引いて
求め、それを名前とするデータをFPキャッシュ44か
ら取り出す。そして、圧縮識別子により、該データが差
分圧縮データかどうか調べる。図44の例では、圧縮識
別子が1であるので差分圧縮データである。すると、差
分圧縮を解凍し(図44では、差分圧縮データ内に、フ
ィンガープリントが“71F0…73E6”であるデー
タへの参照情報があるため、既にキャッシュされている
該データが参照され、解凍される)、これをリプライデ
ータとする。さらに、URL・FPテーブル45からM
IMEタイプ等のリプライヘッダを構成するのに必要な
情報を取り出してリプライヘッダを作成する。
ライアント50(上で動作するブラウザ等)へ送り返
す。
降に更新されている場合にのみデータを送ることを依頼
するIf-Modified-Sinceヘッダを持つリクエストメッセ
ージの場合も、まずURL・FPテーブルを参照し更新
されていないことが判断できれば、そこでリプライメッ
セージを作成して返し、そうでなければサーバまで再び
If-Modified-Sinceの情報を書き直して聞きに行くよう
に実施することもできる。
ロキシ30について説明する。
ャッシュ機能について説明したが、サーバ側プロキシ3
0も同様に実施可能である。
対するメッセージ転送元のクライアント50とメッセー
ジ転送先のサーバ側プロキシ30が、サーバ側プロキシ
30に対してはそれぞれクライアント側プロキシ40
(転送元)とサーバ20(転送先)になり、キャッシュ
に関係する構成・手順は同様である。
0の構成例を示す。このサーバ側プロキシ30は、図1
9の構成・機能に加えて、更に過去にアクセスしたUR
Lと、そのリプライデータのフィンガープリントとの対
応を保持するURL・フィンガープリント・テーブル
(URL・FPテーブル)35と、URLキャッシュ処
理部327とを備えている。
イアント側プロキシ40へリプライメッセージを転送す
る際のサーバ側プロキシ30の処理手順の一例を示す。
図22の手順のステップS6および端子2およびS13
の後に追加される以外は、図21及び図22の手順と同
じであり、図46では、図21及び図22の手順のステ
ップS6および端子2およびS13より後の処理手順の
部分を示してある。ここでは、図21及び図22で説明
した手順と相違する部分を中心に説明する。
り、クライアント側プロキシ40にリプライメッセージ
を送信(図21及び図22のステップS6、S9、S1
1、またはS13)した後、URLキャッシュ処理部3
27にて、該リプライメッセージのリプライデータがキ
ャッシュ対象のものであるか否か調べ、判断する(S1
4)。キャッシュ対象であると判断されたならば、UR
Lキャッシュ処理部327にて、URLとフィンガープ
リントとリプライヘッダを構成するのに必要な情報等を
対応付けて(URLをキーにして)をURL・FPテー
ブル35に登録する(S15)。キャッシュ対象でない
と判断されたならば、何もしない。
変形することが可能である。
ら受信したリクエストメッセージをサーバ側プロキシ3
0からサーバ20へ転送する際のサーバ側プロキシ30
におけるプロキシサーバの共有キャッシュの動作に関す
る処理手順の一例を示す。
り、クライアント側プロキシ40からリクエストメッセ
ージを受信する(ステップS161)。
ストメッセージに対するリプライメッセージがキャッシ
ュ対象のものであるか否か調べ、判断する(S16
2)。なお、応答時のキャッシュ対象か否かの判断方法
は、従来の応答時の手法と同様で構わない(例えば、受
信リクエストメッセーシ゛がGETメソット゛のものであるか否か)。
のと判断されたならば(S162)、受信したリクエス
トメッセージを送信部33からサーバ20へ転送する
(S169)。
ージに対するリプライメッセージがキャッシュ対象のも
のであると判断されたならば、URLキャッシュ処理部
327は、さらに、該リクエストメッセージに指定され
ているURLを取り出し(S163)、そのURLをキ
ーとしてURL・FPテーブル35を検索する(S16
4)。
ィンガープリントがキャッシュされていなければ(S1
65)、受信したリクエストメッセージを送信部33か
らサーバ20へ転送する(S169)。このとき、現在
保持しているデータのタイムスタンプをリクエストメッ
セージのIf-Modified-Sinceヘッダに記入してサーバ2
0へ転送し、サーバ20から現在保持しているデータが
有効であるとのリプライメッセージを受け取ると、ステ
ップS167へ行くように実施することもできる。
タのフィンガープリントが登録されていても(S16
5)、併せて保持されている有効期間の判定のための情
報に基づいてそのデータが無効になっていると判断され
れば(S166)、受信したリクエストメッセージを送
信部33からサーバ20へ転送する(S169)。
タのフィンガープリントが登録されており(S16
5)、かつ、併せて保持されている有効期間の判定のた
めの情報に基づいてそのデータが有効であると判断され
れば(S166)、URLキャッシュ処理部327は、
URL・FPテーブル35からリプライデータを構成す
るのに必要な情報を得るとともに、当該URLに対応す
るリプライデータのフィンガープリントをキーとしてF
Pキャッシュ34を検索する(S167)。
ッシュ34から取得したデータから、該フィンガープリ
ントの値を用いてリプライメッセージをFP圧縮時のフ
ォーマットで生成し、送信部33から、クライアント側
プロキシ40へ送信する(S168)。
・FPテーブル表を持ってキャッシュの処理をする構成
は、一つのサーバ側プロキシが複数のクライアント側プ
ロキシから使われているときに有効に働く。すなわち、
あるクライアント側プロキシから要求のあったキャッシ
ュ可能なデータが既に他のクライアント側プロキシによ
ってアクセスされている場合には、サーバ側プロキシに
もキャッシュされているので、そのデータを送り返すだ
けで処理が完了する。
・FPテーブル表を持ってキャッシュの処理をする構成
は、一つのサーバ側プロキシが複数のクライアント側プ
ロキシから使われているときに有効に働く。すなわち、
あるクライアント側プロキシから要求のあったキャッシ
ュ可能なデータが既に他のクライアント側プロキシによ
ってアクセスされている場合には、サーバ側プロキシに
もキャッシュされているので、そのデータを送り返すだ
けで処理が完了する。
をフィンガープリント・キャッシュとは別途に設ける場
合について説明したが、URL・FPテーブル表をフィ
ンガープリント・キャッシュと一体化して構成すること
も可能である。
ンガープリント圧縮処理部とフィンガープリント解凍処
理部とを併せて、フィンガープリント(FP)圧縮・解
凍処理部としてもよい。また、いずれのプロキシにおい
ても、差分圧縮処理部と差分解凍処理部とを併せて、差
分圧縮・解凍処理部としてもよい。図48に、この場合
のプロキシ(サーバ側プロキシ、クライアント側プロキ
シ)の構成例を示す。
適用した場合、FP圧縮を該リプライデータ転送のみに
適用した場合、FP圧縮を該リクエストデータ転送およ
び該リプライデータ転送に適用した場合のいずれにおい
ても、リクエストメッセージが指定するURLに対応す
るリプライデータに対する共用キャッシュ機能に関する
構成をクライアント側プロキシのみに設けることも、サ
ーバ側プロキシのみに設けることも、両プロキシに設け
ることも可能である。
の手段を実行させるための(あるいはコンピュータを所
定の手段として機能させるための、あるいはコンピュー
タに所定の機能を実現させるための)プログラムとして
実施することも、該プログラムを記録したコンピュータ
読取り可能な記録媒体として実施することもできる。
成は一例であって、それ以外の構成を排除する趣旨のも
のではなく、例示した構成の一部を他のもので置き換え
たり、例示した構成の一部を省いたり、例示した構成に
別の機能あるいは要素を付加したり、それらを組み合わ
せたりすることなどによって得られる別の構成も可能で
ある。また、例示した構成と論理的に等価な別の構成、
例示した構成と論理的に等価な部分を含む別の構成、例
示した構成の要部と論理的に等価な別の構成なども可能
である。また、例示した構成と同一もしくは類似の目的
を達成する別の構成、例示した構成と同一もしくは類似
の効果を奏する別の構成なども可能である。また、この
発明の実施の形態で例示した各種構成部分についての各
種バリエーションは、適宜組み合わせて実施することが
可能である。また、この発明の実施の形態は、個別装置
としての発明、関連を持つ2以上の装置についての発
明、システム全体としての発明、個別装置内部の構成部
分についての発明、またはそれらに対応する方法の発明
等、種々の観点、段階、概念またはカテゴリに係る発明
を包含・内在するものである。従って、この発明の実施
の形態に開示した内容からは、例示した構成に限定され
ることなく発明を抽出することができるものである。
るものではなく、その技術的範囲において種々変形して
実施することができる。
ータとその名前との対応を保持し、この対応を保持して
いるデータについては、データ本体を転送する代わりに
対応する名前を転送することで、データ転送装置間の転
送データ量を削減させることができる。
テムの構成例を示す図
の構成例を示す図
らに他の構成例を示す図
シュについて説明するための図
いて説明するための図
るための図
るための図
るための図
説明するための図
説明するための図
説明するための図
説明するための図
ットの一例を示す図
ットの他の例を示す図
ットのさらに他の例を示す図
ットのさらに他の例を示す図
ットのさらに他の例を示す図
を示す図
構成例を示す図
を示すフローチャート
を示すフローチャート
手順例を示すフローチャート
手順例を示すフローチャート
手順例を示すフローチャート
すフローチャート
示すフローチャート
を示すフローチャート
手順例を示すフローチャート
ついて説明するための図
ついて説明するための図
ついて説明するための図
他の手順例を示すフローチャート
他の手順例を示すフローチャート
順例を示すフローチャート
順例を示すフローチャート
順例を示すフローチャート
さらに他の構成例を示す図
他の構成例を示す図
他の手順例を示すフローチャート
他の手順例を示すフローチャート
他の手順例を示すフローチャート
ト側プロキシとの間のデータ転送について説明するため
の図
成例を示す図
順例を示すフローチャート
順例を示すフローチャート
例を示す図
ムについて説明するための図
部 323…FP圧縮処理部 423…FP解凍処理部 324…差分圧縮処理部 424…差分解凍処理部 325,425…FP圧縮・解凍処理部 326,426…差分圧縮・解凍処理部 327,427…URLキャッシュ処理部 50…クライアント装置
Claims (22)
- 【請求項1】過去に他のデータ転送装置へ送信したデー
タ又は該データを圧縮して表現した圧縮データと、該デ
ータをもとに生成して該データに割り当てた名前とを対
応付けて保持する保持手段と、 第1の通信装置から、前記他のデータ転送装置を介した
第2の通信装置を宛先とするデータを受信する受信手段
と、 この受信手段により前記データを受信した際に、該受信
したデータの内容をもとに生成した名前が、前記保持手
段に保持されている場合には、該受信したデータの代わ
りに該名前を送信するための処理を行い、該名前が、前
記保持手段に保持されていない場合には、前記保持手段
に保持されている他のデータを参照データとし、該参照
データに対応する前記名前を利用して、該受信したデー
タを圧縮して表現することが可能であるならば、該受信
したデータを圧縮して表現した圧縮データと該名前とを
対応付けて前記保持手段に保持するとともに、該受信し
たデータの代わりに該圧縮データを送信するための処理
を行い、圧縮して表現することが可能でないならば、該
受信したデータと該名前とを対応付けて前記保持手段に
保持するとともに、該受信したデータを送信するための
処理を行う処理手段と、 前記処理手段の処理に応じて前記データの代わりの前記
名前、前記データの代わりの前記圧縮データ又は前記デ
ータを、前記他のデータ転送装置へ送信する送信手段と
を備えたことを特徴とするデータ転送装置。 - 【請求項2】過去に他のデータ転送装置から受信したデ
ータ又は該データを圧縮して表現した圧縮データと、該
データをもとに生成して該データに割り当てた名前と、
圧縮データであるか否か示す識別情報とを対応付けて保
持する保持手段と、 第1の通信装置から送信され、第2の通信装置を宛先と
するデータ、該データの代わりに該データを圧縮して表
現した圧縮データ又は該データの代わりに該データの内
容をもとに生成して該データに割り当てられた名前を、
前記他のデータ転送装置を介して受信する受信手段と、 この受信手段により前記データを受信した場合には、該
受信したデータと該データに割り当てられるべき名前と
圧縮データでないことを示す識別情報とを対応付けて前
記保持手段に保持するとともに、該受信したデータを送
信するための処理を行い、前記データの代わりに前記圧
縮データを受信した場合には、該受信したデータと該デ
ータに割り当てられるべき名前と圧縮データであること
を示す識別情報とを対応付けて前記保持手段に保持する
とともに、該受信した圧縮データを解凍し、該解凍した
データを送信するための処理を行い、前記データの代わ
りに前記名前を受信した場合には、前記保持手段に該受
信した名前に対応付けて保持されている前記識別情報を
参照し、該データが圧縮データでないならば、該保持手
段から該受信した名前に対応付けて保持されているデー
タを取得し、該取得したデータを送信するための処理を
行い、該データが圧縮データであるならば、該保持手段
から該受信した名前に対応付けて保持されている圧縮デ
ータを取得し、該取得した圧縮データを解凍し、該解凍
したデータを送信するための処理を行う処理手段と、 前記処理手段の処理に応じて前記受信したデータ、前記
解凍したデータ又は前記取得したデータを、前記第2の
通信装置へ送信する送信手段とを備えたことを特徴とす
るデータ転送装置。 - 【請求項3】前記圧縮データは、前記保持手段に保持さ
れている他のデータを参照データとし、該参照データに
対応する前記名前を利用して表現したものであることを
特徴とする請求項2に記載のデータ転送装置。 - 【請求項4】前記処理手段は、前記圧縮データを受信し
た場合に、該受信した圧縮データを解凍するにあたって
は、該圧縮データに含まれる参照データに対応する名前
と同一の名前に対応付けて前記保持手段に保持されてい
るデータを取得し、該取得したデータを前記参照データ
として、該圧縮データの元となったデータを復元するこ
とをことを特徴とする請求項3に記載のデータ転送装
置。 - 【請求項5】前記圧縮データは、1又は複数の前記参照
データに対応する前記名前と、当該各参照データのうち
使用する部分を示す情報と、該使用する部分の接続方法
を示す情報とを含むものであることを特徴とする請求項
1ないし4のいずれか1項に記載のデータ転送装置。 - 【請求項6】前記圧縮データは、1つの前記参照データ
に対応する前記名前と、該参照データのうち該圧縮デー
タの元となったデータと相違する部分を示す情報と、該
相違する部分に嵌め込むべき内容とを含むものであるこ
とを特徴とする請求項1ないし4のいずれか1項に記載
のデータ転送装置。 - 【請求項7】前記名前は、所定の方法によって前記デー
タを圧縮して得た値であることを特徴とする請求項1な
いし6のいずれか1項に記載のデータ転送装置。 - 【請求項8】前記名前は、前記データに所定のハッシュ
関数を適用して得られた値であることを特徴とする請求
項1ないし6のいずれか1項に記載のデータ転送装置。 - 【請求項9】前記第1の通信装置から受信したデータに
ついて前記保持手段への保持を行う場合に、該受信した
データが、前記第2の通信装置から該第1の通信装置へ
の所定のリクエストメッセージに対するリプライメッセ
ージのデータであるときに、該リプライメッセージに対
応するリクエストメッセージが要求するデータについて
のURLと、該データに割り当てられた前記名前とを対
応付けて、前記保持手段または別の保持手段に保持して
おき、 前記他のデータ転送装置から前記第2の通信装置が送信
した所定のリクエストメッセージを受信した場合に、該
リクエストメッセージが要求するデータについてのUR
Lが前記保持手段または別の保持手段に保持されている
ときに、該URLに対応する前記名前に対応付けて前記
保持手段に保持されている前記データ又は前記圧縮デー
タをもとに前記所定のリクエストメッセージに対するリ
プライメッセージであって前記第2の通信装置に宛てた
ものを作成し、 作成した前記リプライメッセージを前記他のデータ転送
装置へ送信することを特徴とする請求項1に記載のデー
タ転送装置。 - 【請求項10】前記他のデータ転送装置から受信したデ
ータについて前記保持手段への保持を行う場合に、該受
信したデータが、前記第2の通信装置から前記第1の通
信装置への所定のリクエストメッセージに対するリプラ
イメッセージのデータであるときに、該リプライメッセ
ージに対応するリクエストメッセージが要求するデータ
についてのURLと、該データに割り当てられた前記名
前とを対応付けて、前記保持手段または別の保持手段に
保持しておき、 前記第2の通信装置から所定のリクエストメッセージを
受信した場合に、該リクエストメッセージが要求するデ
ータについてのURLが前記保持手段または別の保持手
段に保持されているときに、該URLに対応する前記名
前に対応付けて前記保持手段に保持されている前記デー
タ又は前記圧縮データをもとに前記所定のリクエストメ
ッセージに対するリプライメッセージを作成し、 作成した前記リプライメッセージを前記第2の通信装置
へ送信することを特徴とする請求項2に記載のデータ転
送装置。 - 【請求項11】前記所定のリクエストメッセージは、G
ETメソッドのリクエストメッセージであることを特徴
とする請求項9または10に記載のデータ転送装置。 - 【請求項12】少なくともリプライメッセージのデータ
であって空でないものを対象として前記保持手段への保
持及び前記名前の転送を行うことを特徴とする請求項1
ないし11のいずれか1項に記載のデータ転送装置。 - 【請求項13】予め定められた条件を満たすデータは、
前記保持手段への保持を行う対象から除外することを特
徴とする請求項1ないし11のいずれか1項に記載のデ
ータ転送装置。 - 【請求項14】前記第1の通信装置はサーバ装置であ
り、前記第2の通信装置はクライアント装置であること
を特徴とする請求項1ないし13のいずれか1項に記載
のデータ転送装置。 - 【請求項15】第1の通信装置から、他のデータ転送装
置を介した第2の通信装置を宛先とするデータを受信
し、 受信された前記データの内容をもとに生成した名前が、
過去に前記他のデータ転送装置へ送信したデータ又は該
データを圧縮して表現した圧縮データと該データをもと
に生成して該データに割り当てた名前とを対応付けて保
持する前記保持手段に保持されているか否か判断し、 保持されている場合には、受信された前記データの代わ
りに前記名前を前記他のデータ転送装置へ送信し、 保持されていない場合には、前記保持手段に保持されて
いる他のデータを参照データとし、該参照データに対応
する前記名前を利用して、受信された前記データを圧縮
して表現することが可能であるか否か判断し、可能であ
るならば、受信された前記データを圧縮して表現した圧
縮データと前記名前とを対応付けて前記保持手段に保持
するとともに、受信された前記データの代わりに該圧縮
データを前記他のデータ転送装置へ送信し、圧縮して表
現することが可能でないならば、受信された前記データ
と該名前とを対応付けて前記保持手段に保持するととも
に、受信された前記データを前記他のデータ転送装置へ
送信することを特徴とするデータ転送方法。 - 【請求項16】前記第1の通信装置から受信したデータ
について前記保持手段への保持を行う場合に、該受信し
たデータが、前記第2の通信装置から該第1の通信装置
への所定のリクエストメッセージに対するリプライメッ
セージのデータであるときに、該リプライメッセージに
対応するリクエストメッセージが要求するデータについ
てのURLと、該データに割り当てられた前記名前とを
対応付けて、前記保持手段または別の保持手段に保持し
ておき、 前記他のデータ転送装置から前記第2の通信装置が送信
した所定のリクエストメッセージを受信した場合に、該
リクエストメッセージが要求するデータについてのUR
Lが前記保持手段または別の保持手段に保持されている
ときに、該URLに対応する前記名前に対応付けて前記
保持手段に保持されている前記データ又は前記圧縮デー
タをもとに前記所定のリクエストメッセージに対するリ
プライメッセージであって前記第2の通信装置に宛てた
ものを作成し、 作成した前記リプライメッセージを前記他のデータ転送
装置へ送信することを特徴とする請求項15に記載のデ
ータ転送方法。 - 【請求項17】第1の通信装置から送信され、第2の通
信装置を宛先とするデータ、該データの代わりに該デー
タを圧縮して表現した圧縮データ又は該データの代わり
に該データの内容をもとに生成して該データに割り当て
られた名前を、他のデータ転送装置を介して受信し、 前記他のデータ転送装置から前記データを受信した場合
には、過去に他のデータ転送装置から受信したデータ又
は該データを圧縮して表現した圧縮データと該データを
もとに生成して該データに割り当てた名前と圧縮データ
であるか否か示す識別情報とを対応付けて保持する保持
手段に、該受信したデータと該データに割り当てられる
べき名前と圧縮データでないことを示す識別情報とを対
応付けて保持するとともに、該受信したデータを前記第
2の通信装置へ送信し、 前記データの代わりに前記圧縮データを受信した場合に
は、該受信したデータと該データに割り当てられるべき
名前と圧縮データであることを示す識別情報とを対応付
けて前記保持手段に保持するとともに、該受信した圧縮
データを解凍し、該解凍したデータを前記第2の通信装
置へ送信し、 前記データの代わりに前記名前を受信した場合には、前
記保持手段に該受信した名前に対応付けて保持されてい
る前記識別情報を参照し、該データが圧縮データでない
ならば、該保持手段から該受信した名前に対応付けて保
持されているデータを取得し、該取得したデータを前記
第2の通信装置へ送信し、該データが圧縮データである
ならば、該保持手段から該受信した名前に対応付けて保
持されている圧縮データを取得し、該取得した圧縮デー
タを解凍し、該解凍したデータを前記第2の通信装置へ
送信することを特徴とするデータ転送方法。 - 【請求項18】前記他のデータ転送装置から受信したデ
ータについて前記保持手段への保持を行う場合に、該受
信したデータが、前記第2の通信装置から前記第1の通
信装置への所定のリクエストメッセージに対するリプラ
イメッセージのデータであるときに、該リプライメッセ
ージに対応するリクエストメッセージが要求するデータ
についてのURLと、該データに割り当てられた前記名
前とを対応付けて、前記保持手段または別の保持手段に
保持しておき、 前記第2の通信装置から所定のリクエストメッセージを
受信した場合に、該リクエストメッセージが要求するデ
ータについてのURLが前記保持手段または別の保持手
段に保持されているときに、該URLに対応する前記名
前に対応付けて前記保持手段に保持されている前記デー
タ又は前記圧縮データをもとに前記所定のリクエストメ
ッセージに対するリプライメッセージを作成し、 作成した前記リプライメッセージを前記第2の通信装置
へ送信することを特徴とする請求項17に記載のデータ
転送方法。 - 【請求項19】過去に他のデータ転送装置へ送信したデ
ータ又は該データを圧縮して表現した圧縮データと、該
データをもとに生成して該データに割り当てた名前とを
対応付けて記憶装置に保持する機能と、 第1の通信装置から、前記他のデータ転送装置を介した
第2の通信装置を宛先とするデータを受信した際に、該
受信したデータの内容をもとに生成した名前が、前記記
憶装置に保持されている場合には、該受信したデータの
代わりに該名前を送信するための処理を行い、該名前
が、前記記憶装置に保持されていない場合には、前記記
憶装置に保持されている他のデータを参照データとし、
該参照データに対応する前記名前を利用して、該受信し
たデータを圧縮して表現することが可能であるならば、
該受信したデータを圧縮して表現した圧縮データと該名
前とを対応付けて前記記憶装置に保持するとともに、該
受信したデータの代わりに該圧縮データを送信するため
の処理を行い、圧縮して表現することが可能でないなら
ば、該受信したデータと該名前とを対応付けて前記記憶
装置に保持するとともに、該受信したデータを送信する
ための処理を行う機能とをコンピュータに実現させるた
めのプログラム。 - 【請求項20】前記第1の通信装置から受信したデータ
について前記記憶装置への保持を行う場合に、該受信し
たデータが、前記第2の通信装置から該第1の通信装置
への所定のリクエストメッセージに対するリプライメッ
セージのデータであるときに、該リプライメッセージに
対応するリクエストメッセージが要求するデータについ
てのURLと、該データに割り当てられた前記名前とを
対応付けて前記記憶装置に保持する機能と、 前記他のデータ転送装置から前記第2の通信装置が送信
した所定のリクエストメッセージを受信した場合に、該
リクエストメッセージが要求するデータについてのUR
Lが前記記憶装置に保持されているときに、該URLに
対応する前記名前に対応付けて前記記憶装置に保持され
ている前記データ又は前記圧縮データをもとに前記所定
のリクエストメッセージに対するリプライメッセージで
あって前記第2の通信装置に宛てたものを作成する機能
とを更にコンピュータに実現させるための請求項19に
記載のプログラム。 - 【請求項21】過去に他のデータ転送装置から受信した
データ又は該データを圧縮して表現した圧縮データと、
該データをもとに生成して該データに割り当てた名前
と、圧縮データであるか否か示す識別情報とを対応付け
て記憶装置に保持する機能と、 第1の通信装置から送信され、第2の通信装置を宛先と
するデータ、該データの代わりに該データを圧縮して表
現した圧縮データ又は該データの代わりに該データの内
容をもとに生成して該データに割り当てられた名前を、
前記他のデータ転送装置を介して受信する機能と、 この受信機能により前記データを受信した場合には、該
受信したデータと該データに割り当てられるべき名前と
圧縮データでないことを示す識別情報とを対応付けて前
記記憶装置に保持するとともに、該受信したデータを送
信するための処理を行い、前記データの代わりに前記圧
縮データを受信した場合には、該受信したデータと該デ
ータに割り当てられるべき名前と圧縮データであること
を示す識別情報とを対応付けて前記記憶装置に保持する
とともに、該受信した圧縮データを解凍し、該解凍した
データを送信するための処理を行い、前記データの代わ
りに前記名前を受信した場合には、前記記憶装置に該受
信した名前に対応付けて保持されている前記識別情報を
参照し、該データが圧縮データでないならば、該記憶装
置から該受信した名前に対応付けて保持されているデー
タを取得し、該取得したデータを送信するための処理を
行い、該データが圧縮データであるならば、該記憶装置
から該受信した名前に対応付けて保持されている圧縮デ
ータを取得し、該取得した圧縮データを解凍し、該解凍
したデータを送信するための処理を行う機能とをコンピ
ュータに実現させるためのプログラム。 - 【請求項22】前記他のデータ転送装置から受信したデ
ータについて前記記憶装置への保持を行う場合に、該受
信したデータが、前記第2の通信装置から前記第1の通
信装置への所定のリクエストメッセージに対するリプラ
イメッセージのデータであるときに、該リプライメッセ
ージに対応するリクエストメッセージが要求するデータ
についてのURLと、該データに割り当てられた前記名
前とを対応付けて前記記憶装置に保持する機能と、 前記第2の通信装置から所定のリクエストメッセージを
受信した場合に、該リクエストメッセージが要求するデ
ータについてのURLが前記記憶装置に保持されている
ときに、該URLに対応する前記名前に対応付けて前記
記憶装置に保持されている前記データ又は前記圧縮デー
タをもとに前記所定のリクエストメッセージに対するリ
プライメッセージを作成する機能とを更にコンピュータ
に実現させるための請求項21に記載のプログラム。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2002149131A JP3848209B2 (ja) | 2002-05-23 | 2002-05-23 | データ転送装置、データ転送方法及びプログラム |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2002149131A JP3848209B2 (ja) | 2002-05-23 | 2002-05-23 | データ転送装置、データ転送方法及びプログラム |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2003345708A true JP2003345708A (ja) | 2003-12-05 |
| JP3848209B2 JP3848209B2 (ja) | 2006-11-22 |
Family
ID=29767399
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2002149131A Expired - Fee Related JP3848209B2 (ja) | 2002-05-23 | 2002-05-23 | データ転送装置、データ転送方法及びプログラム |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP3848209B2 (ja) |
Cited By (12)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2005302004A (ja) * | 2004-04-15 | 2005-10-27 | Microsoft Corp | 遠隔差分圧縮用の効率的アルゴリズムとプロトコル |
| JP2007080223A (ja) * | 2005-09-16 | 2007-03-29 | Ricoh Co Ltd | 符号変換装置、符号変換方法、プログラム及び記録媒体 |
| JP2007226635A (ja) * | 2006-02-24 | 2007-09-06 | Victor Co Of Japan Ltd | リモートデスクトップシステムのサーバ装置及びクライアント装置 |
| JP2008225833A (ja) * | 2007-03-13 | 2008-09-25 | Nec Corp | トランザクションアクセラレータ、通信システム、通信方法及びプログラム |
| JP2009093314A (ja) * | 2007-10-05 | 2009-04-30 | Nec Corp | 電子メール送受信システム |
| JP2009246816A (ja) * | 2008-03-31 | 2009-10-22 | Univ Of Tokyo | パケット符号化方法および装置ならびに復号方法および装置 |
| JP2011510572A (ja) * | 2008-01-24 | 2011-03-31 | 華為技術有限公司 | フィンガープリント技術の実現方法、装置、及びシステム |
| JP2013061993A (ja) * | 2004-12-17 | 2013-04-04 | Microsoft Corp | 拡張ファイルシステム |
| US9122695B2 (en) | 2006-05-23 | 2015-09-01 | Microsoft Technology Licensing, Llc | Extending cluster allocations in an extensible file system |
| JP2016071811A (ja) * | 2014-10-02 | 2016-05-09 | 日本電信電話株式会社 | コンテンツ解析装置、コンテンツ解析方法、及びプログラム |
| US9575972B2 (en) | 2004-12-17 | 2017-02-21 | Microsoft Technology Licensing, Llc | Contiguous file allocation in an extensible file system |
| US10614032B2 (en) | 2004-12-17 | 2020-04-07 | Microsoft Technology Licensing, Llc | Quick filename lookup using name hash |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP2908466B1 (en) * | 2014-02-12 | 2018-07-25 | Regify S.A. | Network system for retrieval of configuration related data |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH10214239A (ja) * | 1996-10-11 | 1998-08-11 | At & T Corp | データネットワーク上のデータページの転送および表示方法 |
| JPH10240604A (ja) * | 1997-02-25 | 1998-09-11 | Chubu Nippon Denki Software Kk | インターネットのホームページ管理システム |
| JP2002055870A (ja) * | 2000-08-15 | 2002-02-20 | Fuji Xerox Co Ltd | データ提供装置、データ取得装置及びデータ処理システム |
-
2002
- 2002-05-23 JP JP2002149131A patent/JP3848209B2/ja not_active Expired - Fee Related
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH10214239A (ja) * | 1996-10-11 | 1998-08-11 | At & T Corp | データネットワーク上のデータページの転送および表示方法 |
| JPH10240604A (ja) * | 1997-02-25 | 1998-09-11 | Chubu Nippon Denki Software Kk | インターネットのホームページ管理システム |
| JP2002055870A (ja) * | 2000-08-15 | 2002-02-20 | Fuji Xerox Co Ltd | データ提供装置、データ取得装置及びデータ処理システム |
Non-Patent Citations (4)
| Title |
|---|
| 吉井謙一郎,木場雄一,佐藤英昭 木村康浩,関 俊文: "Webアクセス高速化システムの性能評価モデルの検討", 情報処理学会第64回全国大会論文集(4), CSNJ200200018001, 12 March 2002 (2002-03-12), JP, pages 4 - 415, ISSN: 0000734832 * |
| 吉井謙一郎,木場雄一,佐藤英昭 木村康浩,関 俊文: "Webアクセス高速化システムの性能評価モデルの検討", 情報処理学会第64回全国大会論文集(4), JPNX006037809, 12 March 2002 (2002-03-12), JP, pages 4 - 415, ISSN: 0000765373 * |
| 吉井謙一郎,金井達徳,関 俊文,吉田英樹: "フィンガープリントキャッシュと動的Webコンテンツ配信への応用", 第4回インターネットテクノロジーワークショップ, vol. WIT2001-G3-1, JPNX006020119, 6 September 2001 (2001-09-06), JP, pages 1 - 8, ISSN: 0000734831 * |
| 吉井謙一郎,金井達徳,関 俊文,吉田英樹: "フィンガープリントキャッシュと動的Webコンテンツ配信への応用", 第4回インターネットテクノロジーワークショップ, vol. WIT2001-G3-1, JPNX006037808, 6 September 2001 (2001-09-06), JP, pages 1 - 8, ISSN: 0000765372 * |
Cited By (21)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2005302004A (ja) * | 2004-04-15 | 2005-10-27 | Microsoft Corp | 遠隔差分圧縮用の効率的アルゴリズムとプロトコル |
| US9454542B2 (en) | 2004-12-17 | 2016-09-27 | Microsoft Technology Licensing, Llc | Extensible file system |
| US10303650B2 (en) | 2004-12-17 | 2019-05-28 | Microsoft Technology Licensing, Llc | Contiguous file allocation in an extensible file system |
| US9575972B2 (en) | 2004-12-17 | 2017-02-21 | Microsoft Technology Licensing, Llc | Contiguous file allocation in an extensible file system |
| US9575988B2 (en) | 2004-12-17 | 2017-02-21 | Microsoft Technology Licensing, Llc | Extensible file system |
| US9639554B2 (en) | 2004-12-17 | 2017-05-02 | Microsoft Technology Licensing, Llc | Extensible file system |
| US10474641B2 (en) | 2004-12-17 | 2019-11-12 | Microsoft Technology Licensing, Llc | Extensible file system |
| US10614032B2 (en) | 2004-12-17 | 2020-04-07 | Microsoft Technology Licensing, Llc | Quick filename lookup using name hash |
| US9336231B2 (en) | 2004-12-17 | 2016-05-10 | Microsoft Technology Licensing, Llc | Extensible file system |
| JP2013061993A (ja) * | 2004-12-17 | 2013-04-04 | Microsoft Corp | 拡張ファイルシステム |
| JP2007080223A (ja) * | 2005-09-16 | 2007-03-29 | Ricoh Co Ltd | 符号変換装置、符号変換方法、プログラム及び記録媒体 |
| JP2007226635A (ja) * | 2006-02-24 | 2007-09-06 | Victor Co Of Japan Ltd | リモートデスクトップシステムのサーバ装置及びクライアント装置 |
| US9122695B2 (en) | 2006-05-23 | 2015-09-01 | Microsoft Technology Licensing, Llc | Extending cluster allocations in an extensible file system |
| US9558223B2 (en) | 2006-05-23 | 2017-01-31 | Microsoft Technology Licensing, Llc | Extending cluster allocations in an extensible file system |
| US10585868B2 (en) | 2006-05-23 | 2020-03-10 | Microsoft Technology Licensing, Llc | Extending cluster allocations in an extensible file system |
| JP2008225833A (ja) * | 2007-03-13 | 2008-09-25 | Nec Corp | トランザクションアクセラレータ、通信システム、通信方法及びプログラム |
| JP2009093314A (ja) * | 2007-10-05 | 2009-04-30 | Nec Corp | 電子メール送受信システム |
| US8706746B2 (en) | 2008-01-24 | 2014-04-22 | Huawei Technologies Co., Ltd. | Method, device, and system for realizing fingerprint technology |
| JP2011510572A (ja) * | 2008-01-24 | 2011-03-31 | 華為技術有限公司 | フィンガープリント技術の実現方法、装置、及びシステム |
| JP2009246816A (ja) * | 2008-03-31 | 2009-10-22 | Univ Of Tokyo | パケット符号化方法および装置ならびに復号方法および装置 |
| JP2016071811A (ja) * | 2014-10-02 | 2016-05-09 | 日本電信電話株式会社 | コンテンツ解析装置、コンテンツ解析方法、及びプログラム |
Also Published As
| Publication number | Publication date |
|---|---|
| JP3848209B2 (ja) | 2006-11-22 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP3990115B2 (ja) | サーバ側プロキシ装置及びプログラム | |
| US7054912B2 (en) | Data transfer scheme using caching technique for reducing network load | |
| US7383348B2 (en) | Data transfer scheme using caching technique for reducing network load | |
| US8024484B2 (en) | Caching signatures | |
| US6952737B1 (en) | Method and apparatus for accessing remote storage in a distributed storage cluster architecture | |
| JP4671332B2 (ja) | ユーザ識別情報を変換するファイルサーバ | |
| JP2003345708A (ja) | データ転送装置、データ転送方法及びプログラム | |
| JP3984086B2 (ja) | キャッシュサーバ、データ転送装置及びプログラム | |
| JP4031516B2 (ja) | サーバ側プロキシ装置、クライアント側プロキシ装置、データ転送方法及びプログラム | |
| JP3983987B2 (ja) | サーバ側プロキシ装置、データ転送方法及びプログラム | |
| JP4053269B2 (ja) | データ転送装置およびデータ転送方法 | |
| JP3943867B2 (ja) | サーバ側プロキシ、データ転送方法及びプログラム | |
| JP3943868B2 (ja) | サーバ側プロキシ、データ転送方法及びプログラム | |
| JP2003108464A (ja) | データ転送装置およびデータ転送方法 | |
| JP3913508B2 (ja) | データ転送装置およびデータ転送方法 | |
| JP4157585B2 (ja) | サーバ側プロキシ装置、クライアント側プロキシ装置、データ転送方法及びプログラム | |
| JP4041157B2 (ja) | クライアント側プロキシ装置、データ転送方法及びプログラム | |
| JP3977651B2 (ja) | データ転送方法、サーバ側プロキシ装置、クライアント側プロキシ装置及びプログラム | |
| CN121284025B (zh) | 一种可实现秒传的轻量通用文件上传系统 | |
| JP4300220B2 (ja) | データ転送装置およびデータ転送方法 | |
| JP2002268936A (ja) | データ転送装置、データ転送方法及びプログラム | |
| JP2003122730A (ja) | 情報処理方法、エージェントシステム、エージェントシステムプログラム及びエージェントシステムプログラムが記録された記録媒体 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20060424 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060516 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060718 |
|
| 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: 20060822 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060824 |
|
| LAPS | Cancellation because of no payment of annual fees |