JP2002268937A - データ転送装置、データ転送方法及びプログラム - Google Patents
データ転送装置、データ転送方法及びプログラムInfo
- Publication number
- JP2002268937A JP2002268937A JP2001069286A JP2001069286A JP2002268937A JP 2002268937 A JP2002268937 A JP 2002268937A JP 2001069286 A JP2001069286 A JP 2001069286A JP 2001069286 A JP2001069286 A JP 2001069286A JP 2002268937 A JP2002268937 A JP 2002268937A
- Authority
- JP
- Japan
- Prior art keywords
- data
- name
- received
- transfer device
- compressed
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/04—Protocols for data compression, e.g. ROHC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/2866—Architectures; Arrangements
- H04L67/2876—Pairs of inter-processing entities at each side of the network, e.g. split proxies
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
- H04L67/5682—Policies or rules for updating, deleting or replacing the stored data
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Information Transfer Between Computers (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
置を提供すること。 【解決手段】 サーバ側プロキシ230からクライアン
ト側プロキシ240へ新たな内容のリプライデータを転
送するにあたって、両プロキシ2にて、該データと該デ
ータにハッシュ関数を適用して算出したフィンガープリ
ントとを対応付けて、フィンガープリント・キャッシュ
に登録しておく。サーバ側プロキシ230からクライア
ント側プロキシ240へフィンガープリント・キャッシ
ュに登録されたフィンガープリントと同じフィンガープ
リントを持つリプライデータを転送するにあたっては、
該リプライデータの代わりに該フィンガープリントを転
送し、同じフィンガープリントが登録されていないが、
他の登録データを参照データとして参照データのフィン
ガープリントを利用することによって転送すべきデータ
を圧縮して表現できるならば、圧縮データを転送する。
Description
データ転送を行うデータ転送装置、データ転送方法及び
プログラムに関する。
提供するサーバと、所望のサービスをサーバに対して要
求するクライアントとから構成される、クライアント・
サーバ型の情報システムが広く利用されている。特に、
インターネット上でHTTPプロトコルを使って通信す
るWEBサーバとクライアントとからなるWORLDW
IDE WEBシステム(あるいは単に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で公開される情報やサービスに
は、情報の更新頻度がそれほど高くなく、不特定多数の
人に公開されているものが多かったため、静的コンテン
ツの割合は非常に高く、従来のキャッシュ技術でもネッ
トワークの負荷の軽減に有効であった。
pplication Service Provid
er)のように、ユーザがWEBブラウザを使って、ネ
ットワーク経由でサーバ上の情報やサービスにアクセス
するシステムが普及するにつれて、下記のように従来の
キャッシュ技術では対応できないデータが増加してい
る。 ・ユーザの認証を行い、アクセスできるユーザを制限し
ているので、プライベートデータが多い。 ・バックエンドのデータベースを参照して生成する動的
データが多い。 ・帳票処理や検索などPOSTメソッドを使う場合が多
い。 ・グループ内の情報共有のためにPUTメソッドを使う
場合が多い。 この結果、キャッシュ技術のみではネットワークの負荷
を軽減する手法として有効に機能しなくなってきてい
る。
ので、データ転送装置間を接続するネットワークの負荷
をより軽減することができるキャッシュ技術・圧縮技術
を備えたデータ転送装置、データ転送方法及びプログラ
ムを提供することを目的とする。
置から送信されたデータを受信し、該データをその宛先
となる第2の通信装置に通ずる他のデータ転送装置へ送
信するとともに、該第2の通信装置から送信されたデー
タを該他のデータ転送装置を介して受信し、該データを
その宛先となる該第1の通信装置へ送信するデータ転送
装置であって、前記第1の通信装置から前記データを受
信するための受信手段と、過去に前記他のデータ転送装
置へ送信したデータと、該データの内容をもとに生成し
て該データに割り当てた名前とを対応付けて保持するた
めの保持手段と、前記第1の通信装置から送信されたデ
ータを受信した際に、該受信したデータの内容をもとに
生成した該データに割り当てるべき名前が、前記保持手
段に保持されている場合には、該データの代わりに該名
前を送信するための処理を行い、該受信したデータに割
り当てられるべき名前が、前記保持手段に保持されてい
ない場合には、該受信したデータと該名前とを対応付け
て前記保持手段に保持するための処理を行うとともに、
前記保持手段に保持されている他のデータを参照データ
とし、該参照データに対応する前記名前を利用して、該
受信したデータを圧縮して表現することが可能であるな
らば、該受信したデータを圧縮して表現した圧縮データ
を送信するための処理を行い、圧縮して表現することが
可能でないならば、該受信したデータを送信するための
処理を行う処理手段と、前記処理手段の処理に応じて前
記名前、前記圧縮データまたは前記受信したデータを、
前記他のデータ転送装置へ送信するための送信手段とを
備えたことを特徴とする。
データを他のデータ転送装置を介して受信し、該データ
をその宛先となる第2の通信装置へ送信するとともに、
該第2の通信装置から送信されたデータを受信し、該デ
ータをその宛先となる第1の通信装置に通ずる他のデー
タ転送装置へ送信するデータ転送装置であって、前記他
のデータ転送装置から、前記データ、当該データの代わ
りに当該データの内容をもとに生成して該データに割り
当てられた名前、または当該データの代わりに他のデー
タを参照データとし、該参照データの内容をもとに生成
して該参照データに割り当てられた名前を利用して当該
データを圧縮して表現した圧縮データを受信するための
受信手段と、過去に前記他のデータ転送装置から受信し
たデータと、該データの内容をもとに生成して該データ
に割り当てられた名前とを対応付けて保持するための保
持手段と、前記他のデータ転送装置から前記名前を受信
した場合には、前記保持手段から該受信した名前に対応
付けて保持されているデータを取得し、該取得したデー
タを送信するための処理を行い、前記他のデータ転送装
置から前記データを受信した場合には、該受信したデー
タと該データに割り当てられるべき名前とを対応付けて
前記保持手段に保持するための処理を行うとともに、該
受信したデータを送信するための処理を行い、前記他の
データ転送装置から前記圧縮データを受信した場合に
は、該圧縮データに含まれる参照データに対応する名前
と同一の名前に対応付けて前記保持手段に保持されてい
るデータを取得し、該取得したデータを前記参照データ
として該圧縮データの元となったデータを解凍するとと
もに、該解凍したデータと該データに割り当てられるべ
き名前とを対応付けて前記保持手段に保持するための処
理を行い、該解凍したデータを送信するための処理を行
う処理手段と、前記処理手段の処理に応じて前記取得し
たデータ、前記受信したデータまたは前記解凍したデー
タを、前記第2の通信装置へ送信するための送信手段と
を備えたことを特徴とする。
って前記データを圧縮して得た値であるようにしてもよ
い。好ましくは、前記名前は、前記データに所定のハッ
シュ関数を適用して得られた値であるようにしてもよ
い。
数の前記参照データに対応する前記名前と、当該各参照
データのうち使用する部分を示す情報と、該使用する部
分の接続方法を示す情報とを含むものであるようにして
もよい。好ましくは、前記圧縮データは、1つの前記参
照データに対応する前記名前と、該参照データのうち該
圧縮データの元となったデータと相違する部分を示す情
報と、該相違する部分に嵌め込むべき内容とを含むもの
であるようにしてもよい。
カルエリアネットワークを介して前記第1の通信装置と
接続されたものであるようにしてもよい。好ましくは、
前記データ転送装置は、前記第1の通信装置上にソフト
ウェアとして搭載されたものであるようにしてもよい。
好ましくは、前記データ転送装置は、ローカルエリアネ
ットワークを介して前記第2の通信装置と接続されたも
のであるようにしてもよい。好ましくは、前記データ転
送装置は、前記第2の通信装置上にソフトウェアとして
搭載されたものであるようにしてもよい。
されたデータを受信し、該データをその宛先となる第2
の通信装置に通ずる他のデータ転送装置へ送信するとと
もに、該第2の通信装置から送信されたデータを該他の
データ転送装置を介して受信し、該データをその宛先と
なる該第1の通信装置へ送信するデータ転送装置におけ
るデータ転送方法であって、前記第1の通信装置から送
信されたデータを受信し、受信された前記データの内容
をもとに生成した該データに割り当てるべき名前が、過
去に前記他のデータ転送装置へ送信したデータと該デー
タの内容をもとに生成して該データに割り当てた名前と
を対応付けて保持するための保持手段に保持されている
か否か判断し、保持されている場合には、受信された前
記データの代わりに前記名前を送信するための処理を行
い、保持されていない場合には、前記受信したデータと
前記名前とを対応付けて前記保持手段に保持するための
処理を行うとともに、前記保持手段に保持されている他
のデータを参照データとし、該参照データに対応する前
記名前を利用して、該受信したデータを圧縮して表現す
ることが可能であるならば、該受信したデータを圧縮し
て表現した圧縮データを送信するための処理を行い、圧
縮して表現することが可能でないならば、該受信したデ
ータを送信するための処理を行うことを特徴とする。
されたデータを他のデータ転送装置を介して受信し、該
データをその宛先となる第2の通信装置へ送信するとと
もに、該第2の通信装置から送信されたデータを受信
し、該データをその宛先となる第1の通信装置に通ずる
他のデータ転送装置へ送信するデータ転送装置における
データ転送方法であって、前記他のデータ転送装置か
ら、前記データ、当該データの代わりに当該データの内
容をもとに生成して該データに割り当てられた名前、ま
たは当該データの代わりに他のデータを参照データと
し、該参照データの内容をもとに生成して該参照データ
に割り当てられた名前を利用して当該データを圧縮して
表現した圧縮データを受信し、前記他のデータ転送装置
から前記データの代わりに該データの内容をもとに生成
して該データに割り当てられた名前を受信した場合に
は、過去に前記他のデータ転送装置から受信されたデー
タと該データの内容をもとに生成して該データに割り当
てられた名前とを対応付けて保持するための保持手段か
ら、受信された前記名前に対応付けて保持されているデ
ータを取得し、該取得したデータを送信するための処理
を行い、前記他のデータ転送装置から前記データを受信
した場合には、該受信したデータと該データに割り当て
られるべき名前とを対応付けて前記保持手段に保持する
ための処理を行うとともに、該受信したデータを送信す
るための処理を行い、前記他のデータ転送装置から前記
圧縮データを受信した場合には、該圧縮データに含まれ
る参照データに対応する名前と同一の名前に対応付けて
前記保持手段に保持されているデータを取得し、該取得
したデータを前記参照データとして該圧縮データの元と
なったデータを解凍するとともに、該解凍したデータと
該データに割り当てられるべき名前とを対応付けて前記
保持手段に保持するための処理を行い、該解凍したデー
タを送信するための処理を行うことを特徴とする。
としても成立し、方法に係る本発明は装置に係る発明と
しても成立する。また、装置または方法に係る本発明
は、コンピュータに当該発明に相当する手順を実行させ
るための(あるいはコンピュータを当該発明に相当する
手段として機能させるための、あるいはコンピュータに
当該発明に相当する機能を実現させるための)プログラ
ムとしても成立し、該プログラムを記録したコンピュー
タ読取り可能な記録媒体としても成立する。
タとその名前との対応を保持し、この対応を保持してい
るデータについては、データを転送するの代わりに対応
する名前を転送することで、データ転送装置間の転送デ
ータ量を削減することができる。
ージがプライベートデータであっても、これをフィンガ
ープリントにより圧縮してデータ転送装置間を転送する
ことができるようになる。また、例えば、GETメソッ
ドのリプライメッセージが動的データであっても、内容
が同じデータなら、これをフィンガープリントにより圧
縮してデータ転送装置間を転送することができるように
なる。また、例えば、POSTメソッドであっても、結
果が同じデータなら、これをフィンガープリントにより
圧縮してデータ転送装置間を転送することができるよう
になる。
名前が保持されていないために、データを転送するの代
わりに対応する名前を転送することができない場合であ
っても、保持されている参照データに対応する名前を利
用して当該データを圧縮して表現した圧縮データを転送
することによって、データ転送装置間の転送データ量を
削減することができる。
ドのリプライデータが以前にアクセスしたデータと一部
が異なる場合には、差分転送することで、データ量を削
減することができる。また、例えば、PUTメソッドや
POSTメソッドのリクエストデータが以前に送ったデ
ータと一部が異なる場合には、差分転送することでデー
タ量を削減することができる。
実施の形態を説明する。
り、クライアントはユーザオフィスLANに接続された
ものであり、HTTPプロトコルが使用されるような場
合を例にとって説明するが、もちろん、本発明は、WA
Nがインターネット以外のものであっても、クライアン
トがオフィス以外の例えば家庭内LAN等に設置された
ものであっても、HTTPプロトコル以外のプロトコル
が使用されるものであっても適用可能である。
ネットワーク・システムの基本的な構成例を示す。この
構成例では、ASPサーバセンター202内のローカル
エリアネットワーク(LAN)212と、ユーザオフィ
ス204内のローカルエリアネットワーク(LAN)2
16との間が、インターネットや専用回線などの広域ネ
ットワーク(WAN)214を介して接続されており、
ASPサーバセンター202内のサーバ220と、ユー
ザオフィス204内のクライアント250とが、LAN
212・WAN214・LAN216を介して通信可能
になっている。ASPサーバセンター内LANには1ま
たは複数のサーバが接続され、ユーザオフィス内LAN
には1または複数のクライアントが接続される。
202に設置したサーバ220から、WAN214を介
して、様々なアプリケーションプログラムによるサービ
スを提供し、ユーザはオフィス204に設置されたクラ
イアント上のWEBブラウザ等を使ってそれらのサービ
スにアクセスする。
フィス内LAN216とサーバセンター内LAN212
とをつなぐネットワーク、特にインターネットなどの広
域ネットワーク214の実効的な通信容量(バンド幅)
は、サーバセンター内LAN212やユーザオフィス内
LAN216よりも低く、そこが性能上のボトルネック
になって通信遅延が発生し、アプリケーションの応答性
能が低下するという問題が発生する。
に、サーバセンター内LAN212とユーザオフィス内
LAN216とをつなぐ広域ネットワーク214の両端
に、サーバ側プロキシ230およびクライアント側プロ
キシ240という2つのモジュールを設置し、それらの
間で後述するフィンガープリント圧縮(FP圧縮)また
は後述する差分圧縮を行って通信データ量を低減するこ
とで、広域ネットワークのボトルネックを解消する。
キシ230、クライアント側プロキシ240、クライア
ント250は、いずれも、計算機上でソフトウェア(サ
ーバ・プログラム、サーバ側プロキシ・プログラム、ク
ライアント側プロキシ・プログラム、クライアント・プ
ログラム)を動作させる形で実現することができる。こ
の場合に、必要に応じて計算機所望の機能を有するOS
やドライバソフト、パケット通信用ソフト、暗号ソフト
等といったソフトウェア、あるいは通信インタフェース
装置や外部記憶装置や入出力装置等といったハードウェ
アが搭載あるいは接続される。また、この場合に、ユー
ザあるいは管理者からの情報の入力やユーザへの情報の
呈示等のために、グラフィカル・ユーザ・インタフェー
ス(GUI)を用いると好ましい。
るクライアント250上では、その目的に応じて例えば
WEBブラウザ等のプログラムが動作する。ユーザは、
例えば、WEBブラウザからインターネットを介し情報
転送あるいは注文受付等の所望のサービスを提供するサ
ーバにリクエストメッセージを出し、リプライメッセー
ジを受けることによって、またはこれを適宜繰り返すこ
とによって、サービスを利用する。もちろん、WEBブ
ラウザ等の汎用のソフトウェアではなく、特定のサービ
スを利用するための専用のソフトウェアなどの他のもの
が用いられても構わない。また、クライアントは、汎用
の計算機ではなく、例えばインターネット機能を有する
携帯電話端末等でもよい。
グラムが動作し、クライアント220のユーザに対し
て、当該サーバ・サイトに固有のサービスを提供する。
に、サーバセンター内LAN212とWAN214との
両方に接続し、トランスペアレント・プロキシとして動
作するように設置して実施することができる。また、図
2のように、サーバセンター内LAN212上に設置し
て実施することもできる。また、図3のように、サーバ
側プロキシ230の機能をサーバ220に内蔵するよう
に実施することもできる。
は、図1のように、ユーザオフィス内LAN216とW
AN214との両方に接続し、トランスペアレント・プ
ロキシとして動作するように設置して実施することがで
きる。また、図2のように、ユーザオフィス内LAN2
16上に設置して実施することもできる。また、図3の
ように、クライアント側プロキシ240の機能をクライ
アント250上で動作するブラウザ等に内蔵するように
実施することもできる。あるいは、ブラウザ等の動作す
るクライアント250上に、個人用のクライアント側プ
ロキシ240を動作させるように実施することもでき
る。
ント側プロキシ240とは、図1〜図3などのように同
じ形態であってもよいし、異なる形態であってもよい。
ュやこれを利用したFP圧縮について説明し、次いで差
分圧縮について説明する。
びクライアント側プロキシ240は、いずれも、フィン
ガープリント・キャッシュ(FPキャッシュ)と呼ぶキ
ャッシュ機構を持つ。フィンガープリント・キャッシュ
は、フィンガープリント(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に対してそれぞれ計算したハッ
シュ値が同じになる場合があるが、その確率は実用上無
視できるくらいに小さい)。
0やクライアント側プロキシ240の持つフィンガープ
リント・キャッシュ(図中の60)は、過去にHTTP
プロトコルでやり取りされたデータ本体(図中の61)
を、そのデータから計算して求めたフィンガープリント
の値(図中の62)を名前として、記録・管理してい
る。
キシ230からクライアント側プロキシ240へデータ
を転送するときに、サーバ側プロキシ230は、当該デ
ータのフィンガープリントを計算し、そのフィンガープ
リントに対応するデータがフィンガープリント・キャッ
シュに入っていれば、当該データ(と同じ内容のデー
タ)は過去に転送したことがあるので、当該データを転
送せずに、対応するフィンガープリントの値を転送す
る。フィンガープリントを受け取ったクライアント側プ
ロキシ240は、当該フィンガープリントの値に対応す
るデータをフィンガープリント・キャッシュから取り出
すことで、転送すべきデータを再現することができる。
このような方式(すなわち、データ圧縮→データ転送→
データ解凍)により、過去に送ったものと同じデータな
らばフィンガープリントの値を送るだけでよいので、ネ
ットワークを流れるデータ量を大幅に削減することがで
きる。もちろん、クライアント側プロキシ240からサ
ーバ側プロキシ230へデータを転送するときも同様で
ある。
アント側プロキシ240との間でのデータ転送にあた
り、フィンガープリント・キャッシュを利用してメッセ
ージ・ボディーのデータをフィンガープリントに置き換
えて転送情報量を圧縮することを、フィンガープリント
圧縮(FP圧縮)と呼ぶものとする。
ント側プロキシ240との間において、すべてのメッセ
ージをFP圧縮を適用する対象(すなわち、フィンガー
プリント・キャッシュを利用してデータをフィンガープ
リントに置き換えるための処理を行う対象)としてもよ
いが、例えばフィンガープリント・キャッシュの効果が
期待できないものなどに対する適用を除外するために、
予め定められた条件を満たすメッセージについては、こ
れをFP圧縮の適用対象外とする(常にFP圧縮しない
で転送する)ようにしてもよい。この場合の予め定めら
れた条件とは、例えば、メッセージ・ヘッダに予め定め
られた情報が記述されていることである。具体的には、
例えば、メッセージ・ヘッダにGETメソッドを示す情
報およびリクエストを示す情報が記述されていることで
ある。また、予め定められた条件の他の例としては、転
送されるデータが空(null)あるいは非常に短いサ
イズであることである。もちろん、それらの他にも種々
のバリエーションがある。また、複数の条件を組み合わ
せて使用するようにしてもよい。
ンガープリントを用いてデータの同一性を高速に判断
し、フィンガープリント・キャッシュに登録されている
データと同じデータはプロキシ間で転送しないようにし
て(代わりに当該データに対するフィンガープリントを
転送するようにして)、ネットワークの負荷を低減させ
る。
に登録されているデータと異なるデータは、たとえ大部
分は同じ内容であってもFP圧縮を適用できない。そこ
で、本実施形態では、FP圧縮できない場合であって
も、フィンガープリント・キャッシュに登録されている
1または複数のデータを参照データとして、参照データ
のフィンガープリントや、参照データに対する差分情報
など転送すべきデータを復元するための情報によって、
転送データを表現することによって、少ない情報量で転
送データを表現し、なるべく転送データ量を減らすよう
にしている。すなわち、フィンガープリント・キャッシ
ュの中のデータを辞書として使って、その中から取り出
せるデータは送らないようにするのが基本的なアイデア
である。
用では、大部分は同じ内容であるが一部分だけが異なっ
ているようなデータが多く使われる。例えば、帳票のデ
ータなどは、多くのフィールドに同じ情報が記入されて
いて、一部分だけが違うようなものが多数存在する。ま
た、例えば、Webページで日付もしくは時刻のみ異な
るものや、総アクセス回数のカウンタ値のみ異なるもの
などもある。このような場合には、特に有効になる。
用した差分圧縮は、転送すべきデータと参照データとの
間の関係を予め取り決めておく必要がなという利点も得
られる。すなわち、従来の差分転送の方法の場合には、
予め双方で何をベースに差分を取るかを決める必要があ
ったため、差分転送をWEBシステムに実際に用いよう
とすると、このURLのデータはこのデータをベースに
差分を取るというようなルールを、双方に登録する手段
が必要であり、任意のデータに対して有効に機能させる
ことは不可能であった。これに対して、本差分圧縮方法
は、フィンガープリント・キャッシュの中にあるデータ
を参照データとして差分を取ることで、差分のベースを
予め決めておかなくても、差分によるデータの圧縮の効
果を得ることができる。
アント側プロキシ240との間でのデータ転送にあた
り、フィンガープリント・キャッシュを利用してメッセ
ージ・ボディーのデータを参照データのフィンガープリ
ント等に置き換えて転送情報量を圧縮することを、差分
圧縮と呼ぶものとする。
ッセージをすべて差分圧縮の適用対象にするものとする
場合を例にとって説明する。もちろん、前述と同様に、
FP圧縮の適用対象のメッセージのうち、予め定められ
た条件を満たすメッセージについては、これを差分圧縮
の適用対象外とするようにしてもよい(この場合、差分
圧縮を適用される条件が、FP圧縮を適用される条件に
対して更に他の条件を加重したものになる)。例えば、
FP圧縮しないデータサイズの上限値U1よりも、差分
圧縮しないデータサイズの上限値U2を大きくする(F
P圧縮すべきデータサイズの下限値L1よりも、差分圧
縮すべきデータサイズの下限L2を大きくする)という
方法や、FP圧縮の適用対象か否かはデータサイズで判
断するが、差分圧縮の適用対象か否かについては、FP
圧縮の適用対象のうちHTMLやXML以外のデータを
適用対象外とする(HTMLやXMLのデータに対して
のみ差分圧縮を行う)という方法等、種々の方法があ
る。
は、結果的に、データがFP圧縮されたメッセージ、デ
ータが差分圧縮されたメッセージ、またはデータが圧縮
されていないメッセージのいずれかとして、サーバ側プ
ロキシ230とクライアント側プロキシ240との間を
転送されることになる。
る。
た差分圧縮の方法には次に例示するものなど種々の方法
がある。 ・フィンガープリント・キャッシュに登録されているデ
ータのうちの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)も可能である。
能である。
ーバ側プロキシ230とクライアント側プロキシ240
との間でデータ転送する際の(FP圧縮の適用対象のメ
ッセージについての)プロキシ間メッセージ・フォーマ
ットについて説明する。
プロキシ240との間でデータ転送する場合、FP圧縮
の適用対象のメッセージには、データがFP圧縮されて
フィンガープリントに置き換えられたメッセージ(FP
圧縮時のメッセージ)と、FP圧縮されいないが、差分
圧縮されたデータが搭載されているメッセージ(差分圧
縮時のメッセージ)と、FP圧縮も差分圧縮もされてい
ないデータが搭載されているメッセージ(非圧縮時のメ
ッセージ)とがある。すべてのメッセージをFP圧縮の
適用対象とするのではない構成の場合には、これら3つ
のメッセージに加えて、FP圧縮の適用対象外のメッセ
ージがある。
て、FP圧縮時のメッセージでは、データが削除され、
フィンガープリントが付加され、差分圧縮時のメッセー
ジでは、データが削除され、参照データのフィンガープ
リントなど当該データを復元するための情報が付加され
る。非圧縮時のメッセージおよび圧縮適用対象外のメッ
セージでは、データは削除されない。
は、上記の3種もしくは4種のメッセージを識別できる
必要がある。FP圧縮時のメッセージ受信時は、フィン
ガープリントをデータに戻し、差分圧縮時のメッセージ
受信時は、データを復元する。また、差分圧縮時または
非圧縮時のメッセージ受信時は、フィンガープリント・
キャッシュの登録を行う。
例を示す。(a)は非圧縮時のメッセージであり、
(b)は差分圧縮時のメッセージであり、(c)はFP
圧縮時のメッセージである。
が載せられ、(b)ではメッセージ・ボディーにデータ
の代わりに当該データを復元するための情報が載せら
れ、(c)ではメッセージ・ボディーにデータの代わり
にフィンガープリント(FP)が載せられる。
に、メッセージの種類を識別可能とする識別情報が(圧
縮側のプロキシにおいて)記述され、この識別情報に基
づいて(解凍側のプロキシにおいて)FP圧縮の有無を
識別する(例えば、01ならば非圧縮なし、10ならば
差分圧縮、11ならばFP圧縮)。なお、識別情報は、
プロキシ間で使用される特別のものであってもよいし、
もともと通常のHTTPメッセージ・ヘッダに存在する
フィールドを利用あるいは併用したものであってもよ
い。
が存在し得る構成の場合には、圧縮側(送信側)のプロ
キシにおいて、図14(d)に示すように、FP圧縮の
適用対象外のメッセージのメッセージ・ヘッダに上記の
識別情報(例えば、00とする)を含めればよい。
が存在し得る構成の場合に、解凍側(受信側)プロキシ
において、メッセージ・ヘッダに含まれる何らかの情報
によって当該メッセージがFP圧縮の適用対象外のメッ
セージであることを判断できるとき、あるいはメッセー
ジ・ボディーが空(null)のときに当該メッセージ
がFP圧縮の適用対象外のメッセージであることを判断
するようにしたときなどには、FP圧縮の適用対象外の
メッセージのメッセージ・ヘッダには識別情報を含めな
いようにすることも可能である。
ットのメッセージの具体例を示し、図40に図14
(b)のフォーマットのメッセージの具体例を示し、図
41に図14(c)のフォーマットのメッセージの具体
例を示し、図42に図14(d)のフォーマットのメッ
セージの具体例を示す。各図のヘッダ中の“Finge
rprint−Mode:…”が識別情報に相当し、図
41のボディの“6E39…0128”がフィンガープ
リントに相当する。
(a),(b)の例では、メッセージに当該データに対
するフィンガープリントを含ませなかったが、メッセー
ジ・ヘッダにフィンガープリントを含ませるようにして
もよい(あるいは、メッセージ・ボディーに当該データ
に対するフィンガープリントを含ませるようにしてもよ
い)。図15(a)〜(c)は、非圧縮時や差分圧縮時
には、メッセージ・ヘッダにフィンガープリントを含ま
せ、FP圧縮時には、メッセージ・ボディーにフィンガ
ープリントを含ませる場合の一例である。このようにす
れば、解凍側で当該データについてフィンガープリント
・キャッシュの登録を行う際に、該フィンガープリント
を利用することによって、あらためて当該データからフ
ィンガープリントを求める手間が省ける。
ッセージの具体例を示し、図44に、図15(b)のフ
ォーマットのメッセージの具体例を示す。図15(c)
のフォーマットのメッセージの具体例は図41と同様で
ある。図43、図44のヘッダ中の“Fingerpr
int:…”がフィンガープリントに相当する。
16に示すように、FP圧縮時のメッセージでは、メッ
セージ・ヘッダにフィンガープリント(FP)を含め、
メッセージ・ボディーを空(null)にしてもよい。
ージの具体例を示す。
フォーマットが可能である。
メッセージのヘッダに非圧縮フラグを記述し且つフィン
ガープリントは記述せず、(b)の差分圧縮時のメッセ
ージのヘッダに差分圧縮フラグを記述し且つフィンガー
プリントは記述せず、(c)のFP圧縮時のメッセージ
のヘッダにフィンガープリントは記述し且つボディーは
空(null)にする。
(null)であることあるいはメッセージのヘッダに
フィンガープリントが記述されていることを検出するに
よって、当該メッセージがFP圧縮時のメッセージであ
ることを識別することができる。また、非圧縮時のメッ
セージや差分圧縮時のメッセージは、ヘッダに非圧縮フ
ラグや差分圧縮フラグが記述されていることを検出する
ことによって、識別することができる。
ッセージの具体例を示し、図47に、図17(b)のフ
ォーマットのメッセージの具体例を示し、図48に図1
7(c)のフォーマットのメッセージの具体例を示す。
図46のヘッダ中の“Non−Compressio
n:…”が非圧縮フラグに相当し、図47のヘッダ中の
“Differencial−Compressio
n:…”が差分縮フラグに相当する。
が存在し得る構成の場合には、圧縮側(送信側)のプロ
キシにおいて、図18の(a),(b)に示すように
((a)はデータが空(null)でない場合、(b)
はデータが空(null)である場合)、FP圧縮の適
用対象外のメッセージのメッセージ・ヘッダに対象外フ
ラグを含めればよい。
が存在し得る構成の場合に、解凍側(受信側)プロキシ
において、メッセージ・ヘッダに含まれる何らかの情報
によって当該メッセージがFP圧縮の適用対象外のメッ
セージであることを判断できるときなどには、図18の
(c),(d)に示すように((c)はデータが空(n
ull)でない場合、(d)はデータが空(null)
である場合)FP圧縮の適用対象外のメッセージのメッ
セージ・ヘッダには対象外フラグを含めないようにする
ことも可能である。
ッセージの具体例を示し、図50に図18(b)のフォ
ーマットのメッセージの具体例を示し、図51に図18
(c)のフォーマットのメッセージの具体例を示し、図
52に図18(d)のフォーマットのメッセージの具体
例を示す。図49、図50のヘッダ中の“No−FP−
Compression:…”が対象外フラグに相当す
る。
ライアント側プロキシ240へリプライメッセージを転
送するときにそのリプライデータをFP圧縮・解凍する
場合を中心に本実施形態について詳しく説明する。
30の構成例を示し、図20に本実施形態のクライアン
ト側プロキシ240の構成例を示す。なお、図19や図
20は、サーバ側プロキシ230からクライアント側プ
ロキシ240へデータを転送する際の構成を中心に示し
てある。
キシ230は、サーバセンター内LAN212または広
域ネットワーク214から転送メッセージを受信するた
めの処理を行う受信部231、転送メッセージに含まれ
るデータに対してFP圧縮、差分圧縮を施すための処理
部232、サーバセンター内LAN212または広域ネ
ットワーク214へ転送メッセージを送信するための処
理を行う送信部233、フィンガープリントとそのもと
となったデータとを対応付けて記憶するためのフィンガ
ープリント・キャッシュ(FPキャッシュ)234を備
えている。また、処理部232は、転送メッセージに含
まれるデータを圧縮対象とすべきか否かを判定するため
のフィンガープリント(FP)圧縮判定部2321、フ
ィンガープリント・キャッシュ234に対する検索や登
録などを行うためのフィンガープリント・キャッシュ
(FPキャッシュ)管理部2322、転送メッセージに
含まれるデータを対応するフィンガープリントで置き換
えるなどの処理を行うためのフィンガープリント(F
P)圧縮処理部2323、転送メッセージに含まれるデ
ータを差分圧縮データで置き換えるなどの処理を行うた
めの差分圧縮処理部2324を含む。
側プロキシ240は、ユーザオフィス内LAN216ま
たは広域ネットワーク214から転送メッセージを受信
するための処理を行う受信部241、転送メッセージに
含まれるデータに対してFP解凍を施すための処理部2
42、ユーザオフィス内LAN216または広域ネット
ワーク214へ転送メッセージを送信するための処理を
行う送信部243、フィンガープリントとそのもととな
ったデータとを対応付けて記憶するためのフィンガープ
リント・キャッシュ(FP・キャッシュ)244を備え
ている。また、処理部242は、転送メッセージに含ま
れるデータを圧縮対象とすべきか否か並びに転送メッセ
ージに対するFP圧縮および差分圧縮の有無を判定する
ためのフィンガープリント(FP)圧縮判定部242
1、フィンガープリント・キャッシュ234に対する検
索や登録などを行うためのフィンガープリント・キャッ
シュ(FPキャッシュ)管理部2422、FP圧縮され
た転送メッセージに含まれるフィンガープリントから元
のデータを解凍するなどの処理を行うためのフィンガー
プリント(FP)解凍処理部2423、差分圧縮された
転送メッセージに含まれる差分圧縮データから元のデー
タを解凍するなどの処理を行うための差分解凍処理部2
424を含む。
解凍側のFP圧縮判定部2421は、前述したようにメ
ッセージが予め定められた条件を満たすか否かを調べる
ことによって、そのメッセージに含まれるデータをFP
圧縮の適用対象とするか否かを判断する(すべてのメッ
セージをFP圧縮の適用対象にする場合には、圧縮側の
FP圧縮判定部2321および後に示す手順例の該当部
分は不要であり、解凍側のFP圧縮判定部2421の該
当判断の部分および後に示す手順例の該当部分は不要で
ある)。また、解凍側のFP圧縮判定部2421は、F
P圧縮の適用対象のメッセージについて、そのデータが
FP圧縮されたものか否かを判定する。以下では、FP
圧縮の適用対象となるメッセージを転送する場合(FP
圧縮の適用対象とすると判断された場合、またはすべて
のメッセージをFP圧縮の適用対象にする場合)を中心
に説明する。
0からクライアント側プロキシ240へリプライメッセ
ージを転送する際のサーバ側プロキシ230の処理手順
の一例を示す。なお、図21及び図22は、1つのリプ
ライメッセージを受けたときの処理を記述しているが、
実際はサーバ側プロキシ230が受け取ったリプライメ
ッセージ全てに対して、図21及び図22に例示する処
理を行う。
により、サーバ220からリプライメッセージを受信す
る(ステップS201)。
ッセージのリプライデータがFP圧縮対象のものである
か否か調べ、判断する(ステップS202)。リプライ
データがFP圧縮対象外のものと判断されたならば(ス
テップS202)、受信したリプライメッセージを送信
部33からクライアント側プロキシ240へ転送する
(ステップS212)。
ジのリプライデータがFP圧縮対象のものであると判断
されたならば、FPキャッシュ管理部322にて、該リ
プライデータのフィンガープリントの値を計算し(ステ
ップS203)、該フィンガープリントの値をキーとし
てフィンガープリント・キャッシュ234を検索する
(ステップS204)。
に対応するデータとの組がフィンガープリント・キャッ
シュ234に登録されていたならば(ステップS20
5)、FP圧縮処理部2323にて、受信したリプライ
メッセージを、該フィンガープリントの値を用いてFP
圧縮時のフォーマットにして(例えば図16等)、送信
部233から、クライアント側プロキシ240へ送信す
る(ステップS206)。
フィンガープリントの値とこれに対応するデータとの組
がフィンガープリント・キャッシュ234に登録されて
いなかったならば(ステップS205)、差分圧縮処理
部2324にて、差分圧縮を行い(ステップS20
7)、差分圧縮に成功したか否か判定する(ステップS
208)。
分圧縮の対象とした元のデータのデータ量r0と、差分
圧縮データのデータ量r1とを比較し、r0−r1>d
を満たすならば、成功したと判断する。ここで、定数d
は、予め定められた0以上の整数である。
と判断されたならば、次の2つの作業を行う。 (1−1)差分圧縮処理部2324にて、受信したリプ
ライメッセージを、(必要に応じて該フィンガープリン
トの値を用いて)差分圧縮時のフォーマットにして(例
えば図15(b)等)、送信部233から、クライアン
ト側プロキシ240へ送信する(ステップS209)。 (1−2)FPキャッシュ管理部2322にて、該フィ
ンガープリントの値と、該リプライメッセージとを対応
付けて(フィンガープリントの値をキーにして)、フィ
ンガープリント・キャッシュ234に登録する(ステッ
プS211)。
いずれを先に行ってもよいし、並行して行ってもよい。
敗したと判断されたならば、次の2つの作業を行う。 (2−1)差分圧縮処理部2324にて、受信したリプ
ライメッセージを、非圧縮時のフォーマットにして(例
えば図15(a)等)、送信部233から、クライアン
ト側プロキシ240へ送信する(ステップS210)。 (2−2)FPキャッシュ管理部2322にて、該フィ
ンガープリントの値と、該リプライメッセージとを対応
付けて(フィンガープリントの値をキーにして)、フィ
ンガープリント・キャッシュ234に登録する(ステッ
プS211)。
理部2324ではなく、FP圧縮処理部2323にて受
信リプライメッセージを非圧縮時のフォーマットにする
ようにしてもよい。
いずれを先に行ってもよいし、並行して行ってもよい。
キシ230からクライアント側プロキシ240へリプラ
イメッセージを転送する際のクライアント側プロキシ2
40の処理手順の一例を示す。なお、図23及び図24
は、1つのリクエストメッセージを受けたときの処理を
記述しているが、実際はクライアント側プロキシ240
が受け取ったリクエストメッセージ全てに対して、図2
3及び図24に例示する処理を行う。
241により、サーバ側プロキシ230からリプライメ
ッセージを受信する(ステップS211)。
ッセージのリプライデータがFP圧縮対象のものである
か否か調べ、判断する(ステップS212)。リプライ
データがFP圧縮対象外のものと判断されたならば(ス
テップS212)、受信したリプライメッセージを送信
部43からクライアント250へ転送する(ステップS
224)。
ジのリプライデータがFP圧縮対象のものであると判断
されたならば、FP圧縮判定部2421は、さらに、リ
プライデータがFP圧縮されているか否か調べ、判断す
る(ステップS213)。
ジのリプライデータがFP圧縮されているものと判断さ
れたならば(例えば図16等の場合)、FPキャッシュ
管理部2422にて、該リプライデータのフィンガープ
リントの値を求め(ステップS214)、該フィンガー
プリントの値をキーとしてフィンガープリント・キャッ
シュ244を検索する(ステップS215)。
信リプライメッセージに対して、フィンガープリント・
キャッシュ234から検索された該フィンガープリント
の値に対応するデータを付加し、プロキシ間で特別の情
報を使用する場合には該情報を削除した後に、これを送
信部243からクライアント250へ送信する(ステッ
プS216)。
ッセージのリプライデータがFP圧縮されていないもの
と判断されたならば(例えば図15(a),(b)等の
場合)、FP圧縮判定部2421は、さらに、該リプラ
イデータが差分圧縮されているか否か判定する(ステッ
プS217)。
と判断されたならば(例えば図15(b)等の場合)、
次の2つの作業を行う。 (1−1)差分解凍処理部2424にて、(FPキャッ
シュ管理部2422によりし参照データを検索・取得し
た後に)差分圧縮データを解凍して元のリプライデータ
を復元し(ステップS218)、該復元したリプライデ
ータをリプライメッセージに付加し、またプロキシ間で
特別の情報を使用する場合には受信リプライメッセージ
から該情報を削除し、該リプライメッセージを送信部2
43からクライアント250へ送信する(ステップS2
19)。 (1−2)FPキャッシュ管理部2422にて、該リプ
ライデータのフィンガープリントの値を求め(ステップ
S220)、該フィンガープリントの値と、該リプライ
メッセージとを対応付けて(フィンガープリントの値を
キーにして)、フィンガープリント・キャッシュ234
に登録する(ステップS223)。
ていないと判断されたならば(例えば図15(a)等の
場合)、次の2つの作業を行う。 (2−1)差分解凍処理部2424にて、プロキシ間で
特別の情報を使用する場合には受信リプライメッセージ
から該情報を削除した後に、これを送信部243からク
ライアント250へ送信する(ステップS222)。 (2−2)FPキャッシュ管理部2422にて、該リプ
ライデータのフィンガープリントの値を求め(ステップ
S221)、該フィンガープリントの値と、該リプライ
メッセージとを対応付けて(フィンガープリントの値を
キーにして)、フィンガープリント・キャッシュ234
に登録する(ステップS223)。
理部2424ではなく、FP解凍処理部2423にて処
理するようにしてもよい。
いずれを先に行ってもよいし、並行して行ってもよい。
上記の(2−1)と(2−2)についても同様である。
220/ステップS221では、メッセージにフィンガ
ープリントが記述されている場合に、該メッセージから
フィンガープリントを得る方法と、メッセージにフィン
ガープリントが記述されてない場合に、リプライデータ
をもとにハッシュ関数等によってフィンガープリントの
値を計算する方法とがある。なお、メッセージにフィン
ガープリントが記述されている場合であっても、リプラ
イデータをもとにフィンガープリントの値を計算する方
法も可能である。また、ステップS214/ステップS
220/ステップS221は、フィンガープリントを使
用する以前の任意のタイミングで行って構わない。ただ
し、後者の方法の場合には、ステップS220の計算
は、ステップS218より後に行う必要がある。
17の判断は、同時に行ってもよい。
る。
れは、先に説明した3種類の指定を用いる場合の手順例
である。
ガープリント・キャッシュに入っているデータのうち、
最近アクセスしたものを順に並べた履歴表を利用するも
のとする。この履歴表には、必ずしもフィンガープリン
ト・キャッシュに入っている全てのデータのフィンガー
プリントが記録されている必要は無い。例えば、予め定
められた個数が記録されていればよい(この場合、個数
は、例えば差分圧縮の参照データとして使用するに有効
な個数を想定して予め決定する)。もちろん、履歴表へ
の記録の基準として、最近のアクセスの順以外の1又は
複数の基準を用いてもよいし、最近のアクセスの順の基
準に加えて他に1又は複数の基準を併用してもよい。
ャッシュと一体化して構成する方法もある。
ーバッファおよび指示バッファを空にする。
もとに、図6(a)〜(c)の指示が作成され、これが
指示バッファに書き出される。最終的に、指示バッファ
に書き出された指示の並びが、差分圧縮データになる。
るデータを文字列として扱い、その文字列上を指すポイ
ンタを用意する。まず、ポインタが当該文字列のうちの
最初の文字を指すように設定する。
当該文字列のうちの最後の文字に辿りついたと判断され
るまで、ループ処理を実行することになる。
いるフィンガープリントに対応するデータを、新しいも
のから順に取り出し、その中に、差分圧縮したいデータ
の中のポインタの指す場所から予め定められた長さ以上
マッチするデータを参照データとして取り出す。
々の方法がある。例えば、履歴表に記録されているフィ
ンガープリントに対応するデータを最新の順に調べてい
き、最初に予め定めた長さ以上マッチしたデータを参照
データとして取り出す方法、履歴表に記録されているフ
ィンガープリントに対応するデータの全てを調べ、その
中でマッチした長さが最も長かったデータ(ただし、予
め定めた長さ以上マッチしたことを条件とする)を参照
データとして取り出す方法などがある。
られたらならば、ステップS237へ移る。参照データ
が見つけられなかったならば、ステップS235へ移
る。
て参照データが見つけられた場合に、コピーバッファが
空でなければ、コピーバッファ中の文字列に対応する、
図6の(c)の直接指定によるコピー指示を作成し、こ
れを指示バッファに書き出す。コピーバッファは、空に
する。なお、コピーバッファが空ならば、何もしない。
て見つかった参照データに対応する図6の(a)の参照
データ定義が未だ指示バッファに書き出されていなけれ
ば、指示バッファに当該参照データ定義の指示を書き出
す。
チした文字列のコピー指示を、図6の(b)のコピー指
示として指示バッファに書き出す。
タとマッチした文字列の長さ分だけ進める。
34にて参照データが見つけられた場合に、ポインタの
指す文字をコピーバッファに入れる。
だけ進める。
るデータの最後までポインタが来ていなければ(処理し
ていないデータ部分が残っていれば)、ステップS23
3へ戻る。差分圧縮の対象とするデータの最後までポイ
ンタが来ていたら(処理していないデータ部分が残って
いなければ)、処理ループを抜けて、ステップS242
へ移る。
でなければ、コピーバッファ中の文字列に対応する、図
6の(c)の直接指定によるコピー指示を作成し、これ
を指示バッファに書き出す。コピーバッファは、空にす
る。なお、コピーバッファが空ならば、何もしない。
縮データとなる。
にして差分圧縮を行った後、差分圧縮を行った結果のデ
ータサイズが、行う前のデータサイズよりも小さくなっ
ている(あるいは一定基準(一定の圧縮量)を超えて小
さくなっている)ことを確認する。差分圧縮によってデ
ータサイズが小さくならない(あるいは一定基準(一定
の圧縮量)を超えては小さくならない)場合には、差分
圧縮しない方が良いので、データはそのまま転送する。
て、ステップS233の予め定められた長さ以上マッチ
する文字列を持つ最新のデータを選び出す処理が、最も
時間がかかる処理であると考えられる。この処理をより
高速化するために、ハッシュ表を利用することができ
る。履歴表に入れるデータから、その中の全ての予め定
められた長さの文字列を取り出し、そのハッシュ値(例
えば、全ての文字のコードを足したものなど)を計算
し、ハッシュ表に登録しておく。このハッシュ表は、同
じハッシュ値を持つデータがあればより最新のデータに
よって上書きされるようにしておく。このハッシュ表を
使って、差分圧縮したいデータの現在のポインタの位置
から予め定められた長さの文字列のハッシュ値を求め、
そのハッシュ値を使ってハッシュ表を引いて求めたデー
タが、ステップS233で選ぶべきデータの第1の候補
になる。ここで、異なる文字列でも同じハッシュ値を生
成する場合があるので、本当に同じかどうかは文字列を
実際に比較して確認し、同じでなければ、履歴表のデー
タを順に見るなど方法で次の候補を探す。
方法は、行を単位として比較処理を行う方法である。図
25の手順では文字を単位として比較処理をしていた
が、履歴表にあるすべてのデータに対して、そのデータ
内の各行のハッシュ値の列を計算しておく。差分圧縮し
たいデータからも、まず、各行のハッシュ値の列を計算
する。以降は、図25の手順と同様であるが、比較は文
字単位ではなく、行のハッシュ値を単位として行う。こ
の方法は、行を単位としているため、文字単位よりも比
較回数を減らすことができる。ただし、ハッシュ値で比
較するために、異なる行でも同じハッシュ値を持つ場合
があるので、最終的にはハッシュ値が同じだと判断した
後に、実際に行の中も比較して本当に同じかどうかを判
断するのが望ましい。もちろん、このように行を単位と
して比較する構成についても、上記のハッシュ技法を組
み合わせることができる。この場合、連続する複数行を
組み合わせて、予め定められた長さと同じか長くなる最
少の行数を単位としてハッシュ表に登録すればよい。
示す。これは、フィンガープリント・キャッシュに登録
されているデータのうちの1つを参照データとし、プロ
キシ間では、参照データに対応するフィンガープリント
の値と、転送データと参照データとの差分を示す情報と
を転送する場合の手順例である。
ものとする。
プリントに対応するデータのうち、所定の基準を満たす
一つを、参照データとして選択する(ステップS24
5)。
するデータのうち、参照データとするデータとの間でマ
ッチしなかった部分のデータ量が、予め定められたデー
タ量以下であって、かつ、参照データをそのマッチしな
かった部分によって複数の塊に分断したときにおけるそ
の分断された塊の数が、予め定められた数以下である場
合に、これを参照データとして選択可能とする。
しては、前述のように、例えば、履歴表に記録されてい
るフィンガープリントに対応するデータを最新の順に調
べていき、最初に予め定めた長さ以上マッチしたデータ
を参照データとして取り出す方法、履歴表に記録されて
いるフィンガープリントに対応するデータの全てを調
べ、その中でマッチしなかったデータ量や分断数が最も
少なかったデータを参照データとして取り出す方法な
ど、種々の方法がある。
ップS246)、参照データ定義の指示(例えば図6の
(a))を、指示バッファに書き出す(ステップS24
7)。
(直接指定データで置換する部分)を示す指示(例えば
図6の(b)と同じフォーマットの指示で1バイト目の
指示識別子を変えたもの)を、指示バッファに書き出す
(ステップS248)。
込むべきデータを示す直接指定する指示(例えば図6の
(c))を、指示バッファに書き出す(ステップS24
9)。
その分だけステップS248とステップS249を実行
する。
縮データとなる。
(ステップS246)、差分圧縮はしないことになる。
履歴表をフィンガープリント・キャッシュとは別に設け
るものとしたが、履歴表は、フィンガープリント・キャ
ッシュと一体化して構成する方法もある。
のとしたが、履歴表を用いない方法もある。例えば、フ
ィンガープリント・キャッシュを所定の順番で(例え
ば、エントリ順にあるいはランダムに)予め定められた
上限数だけ調べ、それらのうちで最良のものを使用する
ようにする方法や、フィンガープリント・キャッシュを
所定の順番で(例えば、エントリ順にあるいはランダム
に)調べ、予め定められた条件を満たす参照データが初
めて得られた時点で、参照データを決定してしまう方法
など、種々の方法がある。
キャッシュに、フィンガープリントに加えて、そのフィ
ンガープリントを登録したときに元となったリプライデ
ータを含んでいたリプライメッセージについてのURL
をも保持しておき、参照データを探索する際に、まず差
分圧縮対象のリプライデータを含むリプライメッセージ
についてのURLと同じURLを持つデータが、履歴表
またはフィンガープリント・キャッシュに登録されてい
ないかどうか調べ、登録されているならば当該URLと
同じURLを持つデータを他のものよりも優先して、参
照データとして使用できないかどうか調べるようにして
もよい。
の差分圧縮の手順が可能である。
サーバ側プロキシ230へリクエストメッセージを転送
する際にはフィンガープリント・キャッシュを用いない
ものとする場合には、サーバ側プロキシ230は、図2
7に例示するように、クライアント側プロキシ240か
らリクエストメッセージを受信し(ステップS22
5)、これをサーバ220へ送信する(ステップS22
6)、という手順で構わない。同様に、クライアント側
プロキシ240は、図28に例示するように、クライア
ント250からリクエストメッセージを受信し(ステッ
プS227)、これをサーバ側プロキシ230へ送信す
る(ステップS228)、という手順で構わない。
時)、図30(FP圧縮時)および図31(登録時すな
わち差分圧縮時)を参照しながら、フィンガープリント
・キャッシュを利用したデータ転送についてより具体的
に説明する。
ロキシ230からクライアント側プロキシ240へ、フ
ィンガープリント・キャッシュ登録されていないデータ
であって且つ差分圧縮も成功しなかったデータを転送す
るとともに、該データについてフィンガープリント・キ
ャッシュ登録する場合の動作について説明する。
は、例えば“/A.cgi”というURLでサーバ22
0に、POSTメソッドのリクエストメッセージを出し
たとする。サーバ220へのリクエストメッセージは、
まず、クライアント側プロキシ240に送られるよう
に、ブラウザ等を設定しておく。
メッセージを受け取ったクライアント側プロキシ240
は、そのリクエストメッセージをサーバ側プロキシ23
0に転送する。
サーバ側プロキシ230は、そのリクエストメッセージ
をサーバ250へ転送する。
セージに対する処理を行った後、サーバ側プロキシ23
0に、そのリプライメッセージを送り返す。
ーバ側プロキシ230は、まず、受信リプライメッセー
ジの持つリプライデータのフィンガープリントを計算
し、そのフィンガープリント名を持ったデータがフィン
ガープリント・キャッシュ234に入っているかどうか
を調べる。ここでは、入っておらず、初めてのデータ
(一旦フィンガープリント・キャッシュ登録されたもの
がその後に削除あるいは無効化されることがある構成の
場合に、一旦フィンガープリント・キャッシュ登録され
たが削除あるいは無効化され、その後において初めてで
ある場合を含む)であるので、そのデータをフィンガー
プリントを名前としてフィンガープリント・キャッシュ
234に入れる(登録する)。
きなかった場合には、差分圧縮処理を行い、リプライデ
ータを差分圧縮してデータ量を減らすことができるなら
ば、差分圧縮するが、ここでは、リプライデータを差分
圧縮してデータ量を減らすことができなかったものとし
ている。
を載せたリプライメッセージをクライアント側プロキシ
240に転送する。なお、前述したように、リプライデ
ータから計算したフィンガープリントの値を、リプライ
ヘッダ等に入れて送ると、クライアント側プロキシ24
0で再度フィンガープリントを計算する手間を省くこと
が出来る。
ライアント側プロキシ240は、初めてのデータである
ので、リプライデータをフィンガープリント・キャッシ
ュ244に登録する。なお、前述したように、リプライ
データからフィンガープリントを計算するか、あるいは
サーバ側プロキシがリプライヘッダ等に入れたフィンガ
ープリントを取り出し、これを名前として入れる。
(リプライヘッダ等にフィンガープリントの値などのサ
ーバ側プロキシ230とクライアント側プロキシ240
との間だけで使用される情報が存在する構成の場合に
は、これを削除した後に、)リプライメッセージを、ク
ライアント250(上で動作するブラウザ等)へ送り返
す。
上記の(5)のフィンガープリント・キャッシュ登録
は、(6)の動作の後に行っても構わない。また、クラ
イアント側プロキシ240において、(7)のフィンガ
ープリント・キャッシュ登録は、(8)の動作の後に行
っても構わない。
作が行われてキャッシュ登録されているデータを、サー
バ側プロキシ230からクライアント側プロキシ240
へ転送する場合の動作について説明する。
した動作における(1)〜(4)と同様である。
ジを受け取ったサーバ側プロキシ240は、まず、受信
リプライメッセージの持つリプライデータのフィンガー
プリントを計算し、そのフィンガープリント名を持った
データがフィンガープリント・キャッシュ234に入っ
ているかどうかを調べる。ここではフィンガープリント
・キャッシュ登録されているので、(前述したように例
えばフィンガープリントの値をリプライヘッダ等に入れ
且つリプライボディを空にするなどして)リプライボデ
ィのデータをフィンガープリントで置き換える。
イボディをフィンガープリントで置き換えたリプライメ
ッセージをクライアント側プロキシ240に転送する。
ライアント側プロキシ240は、リプライデータがフィ
ンガープリントで置き換えられていることを検出し、
(前述したように例えばリプライヘッダなどにて)指定
されたフィンガープリントを使ってフィンガープリント
・キャッシュ244から対応するデータを取り出し、こ
れをリプライボディに入れる。また、リプライヘッダ等
にフィンガープリントの値などのサーバ側プロキシ23
0とクライアント側プロキシ240との間だけで使用さ
れる情報が存在する構成の場合には、これを削除する。
30は、リプライメッセージを、クライアント(上で動
作するブラウザ等)へ送り返す。
クライアント側プロキシ240のフィンガープリント・
キャッシュは、その容量に上限があるため、所定のアル
ゴリズムに従いガーベジコレクションを行って、例えば
古いデータや使いそうに無いデータを消して行くのが好
ましい。
キシ230のフィンガープリント・キャッシュ234は
持っていてもクライアント側プロキシ240のフィンガ
ープリント・キャッシュ244では既に消されてしまっ
ているデータが発生し得ることになるので、上記の
(7)で、クライアント側プロキシ240において、フ
ィンガープリントをもとにしてフィンガープリント・キ
ャッシュ244からリプライデータを置き換えるべきデ
ータを取り出そうとしたが、フィンガープリント・キャ
ッシュ244に該当するフィンガープリントとデータの
組が存在しない場合がある。このような場合には、例え
ば、クライアント側プロキシ240は、サーバ側プロキ
シ230に対して、指定したフィンガープリントのデー
タを送るように依頼し、依頼されたサーバ側プロキシ2
30は、指定されたフィンガープリントのデータをフィ
ンガープリント・キャッシュ234から取り出して送り
返すような仕組みを設ければよい。
ィンガープリント・キャッシュ234では既に消されて
しまっているがクライアント側プロキシ240のフィン
ガープリント・キャッシュ244はまだ持っていてるデ
ータが存在する場合には、図29を参照して説明した動
作における(7)で、クライアント側プロキシ240に
おいて、フィンガープリント/リプライデータをフィン
ガープリント・キャッシュ244に登録する際に、その
時点で登録されていたフィンガープリント/リプライデ
ータに対して上書きしてもよい。
(5)で、サーバ側プロキシ230において、リプライ
データのフィンガープリントを求め、該フィンガープリ
ントがフィンガープリント・キャッシュ234に入って
いれば、当該プライデータと同じデータが該フィンガー
プリントと組になってフィンガープリント・キャッシュ
234に入っているものとみなして処理している。実用
上、異なるデータから同じフィンガープリントが生成さ
れないことを前提にすれば、この方法で十分であるが、
非常に小さな確率で異なるデータのフィンガープリント
が偶々同じ値になってしまった場合に生じるエラーを取
り除くようにする方法もある。この場合には、リプライ
データから求めたフィンガープリントがフィンガープリ
ント・キャッシュ234に入っているときに、該フィン
ガープリントと組になってフィンガープリント・キャッ
シュ234に入っているデータと、当該プライデータと
を比較して、同じか否かを判断するようにすればよい。
このとき、もしフィンガープリントは同じであるが内容
が異なるデータが登録されていると判断された場合の処
理は、以下に例示するような方法が考えられる。 ・そのフィンガープリントは以降使用しないものとする
(そのフィンガープリントを与えるデータは以後キャッ
シュされないことになる)。 ・先に登録されているフィンガープリント/データを優
先する(登録中のフィンガープリントと同じ値のフィン
ガープリントを与える他のデータは、その登録中はキャ
ッシュされないことになる)。 ・現在登録対象となっているフィンガープリント/デー
タを優先する(登録中のフィンガープリント/データ
は、同じ値のフィンガープリントを与える他のデータに
よって次々と更新されていくことになる)。
態の動作を説明する。
した動作における(1)〜(4)と同様である。
ーバ側プロキシ230は、まず、受信リプライメッセー
ジの持つリプライデータのフィンガープリントを計算
し、そのフィンガープリント名を持ったデータがフィン
ガープリント・キャッシュ234に入っているかどうか
を調べる。ここでは、入っておらず、初めてのデータで
あるので、そのデータをフィンガープリントを名前とし
てフィンガープリント・キャッシュ234に入れる(登
録する)。
きなかった場合には、差分圧縮処理を行い、リプライデ
ータを差分圧縮してデータ量を減らすことができるなら
ば、差分圧縮する。ここでは、フィンガープリントが
“71F0…73E6”のデータを参照データとした場
合に、リプライデータを差分圧縮してデータ量を減らす
ことができたものとする。リプライデータを差分圧縮デ
ータに置き換え、リプライヘッダ等に差分圧縮したこと
を示す情報を入れる。
イメッセージをクライアント側プロキシに転送する。
リプライヘッダ等を見て、リプライデータが差分圧縮さ
れていることを知り、圧縮の解凍を行う。このとき、ま
ず、圧縮されたデータ内に指定されている参照データの
フィンガープリント“71F0…73E6”を取り出
し、次に、該フィンガープリントに対応するデータをフ
ィンガープリント・キャッシュから取り出して使用す
る。解凍したデータをリプライデータに入れ、リプライ
ヘッダのコンテンツサイズなど必要なヘッダを書き換え
る。
ったクライアント側プロキシ240は、初めてのデータ
であるので、解凍したリプライデータをフィンガープリ
ント・キャッシュ244に登録する。また、リプライヘ
ッダ等にフィンガープリントの値などのサーバ側プロキ
シ230とクライアント側プロキシ240との間だけで
使用される情報が存在する構成の場合には、これを削除
する。なお、前述したように、リプライデータからフィ
ンガープリントを計算するか、あるいはサーバ側プロキ
シがリプライヘッダ等に入れたフィンガープリントを取
り出し、これを名前として入れる。
は、リプライメッセージを、クライアント250(上で
動作するブラウザ等)へ送り返す。
録のデータは、すべてフィンガープリント・キャッシュ
に登録するものとし、また、上記の(6)で参照データ
に用いたデータは、すべてフィンガープリント・キャッ
シュの登録を維持するものとしたが、参照データに唯一
のデータを使用した場合であって、かつ、差分圧縮対象
となったデータと、その差分圧縮に用いた参照データと
が、ほとんど同じ内容(例えば、両者でマッチしないデ
ータ量が基準以下)である場合には、(i)圧縮対象で
未登録のデータはフィンガープリント・キャッシュに登
録せず、参照データはフィンガープリント・キャッシュ
の登録を維持する、あるいは(ii)圧縮対象で未登録の
データをフィンガープリント・キャッシュに登録し、参
照データはフィンガープリント・キャッシュから削除す
る、などの方法も可能である。また、参照データに唯一
のデータを使用した場合であって、かつ、差分圧縮対象
となったデータと、その差分圧縮に用いた参照データと
が、ほとんど同じ内容であって、かつ、URLが同一の
場合には、データが更新されたものとして、圧縮対象で
未登録のデータをフィンガープリント・キャッシュに登
録し、参照データはフィンガープリント・キャッシュか
ら削除する、などの方法も可能である。その他にも種々
のバリエーションがある。
バ側プロキシ230からクライアント側プロキシ240
へリプライデータを転送する際にフィンガープリント・
キャッシュを利用するものとし、あるデータとこれに対
するフィンガープリントとの組をフィンガープリント・
キャッシュに登録するタイミングは、そのデータが初め
てサーバ側プロキシ230からクライアント側プロキシ
240へ転送されるときとしている。しかし、例えばW
EBベースのASPのような利用法では、データはまず
ユーザオフィス等で作成されてサーバに登録され、それ
をブラウザ等からアクセスするような場合が多いため、
このような場合には、当該データをサーバに登録する時
点でクライアント側プロキシおよびサーバ側プロキシの
フィンガープリント・キャッシュに登録しておくと、そ
れ以降のアクセスを高速化することができる。そこで、
サーバが送信するリプライデータが、もともとはクライ
アントからサーバへ転送されたデータ(ただし、この転
送のときはリクエストデータ)である場合には、登録タ
イミングを、該リプライデータとなる元のリクエストデ
ータが初めてクライアント側プロキシ140からサーバ
側プロキシ130へ転送されるときとするようにしても
よい(この場合、当該データがリプライデータとなって
初めてサーバ側プロキシ130からクライアント側プロ
キシ140へ転送される際には、すでにフィンガープリ
ント・キャッシュへの登録が完了していることになるの
で、リプライデータとしては初めての転送であっても、
フィンガープリント・キャッシュを利用して、転送デー
タ量を削減することができる)。
プロキシ230からクライアント側プロキシ240へリ
プライデータを転送するときに、該リプライデータがフ
ィンガープリント・キャッシュに登録されているデータ
と同じものである場合には、該リプライデータに代え
て、対応するフィンガープリントを転送し、または差分
圧縮データを転送することで、ネットワークのトラフィ
ックを軽減しているが、本発明は、クライアント側プロ
キシ240からサーバ側プロキシ230へリクエストデ
ータを転送する場合についてさらに適用することが可能
である。
差分圧縮をいずれか一方についてのみ適用することも可
能である。
アント側プロキシ240からサーバ側プロキシ230へ
リクエストデータを転送する場合についてのみ適用する
ことも可能である。
プロキシ240からサーバ側プロキシ230へのリクエ
ストデータ転送に適用する場合、すでに説明したリプラ
イデータに対するサーバ側プロキシ230とクライアン
ト側プロキシ240との役割を逆にすればよいので、F
P圧縮および差分圧縮を両データ転送に適用する場合に
は、サーバ側プロキシ230は図19の構成に加えて、
更に処理部232にフィンガープリント解凍処理部およ
び差分解凍処理部を備え、クライアント側プロキシ24
0は図20の構成に加えて、更に処理部242にフィン
ガープリント圧縮処理部および差分圧縮処理部を備えれ
ばよい。
ンガープリント圧縮処理部とフィンガープリント解凍処
理部とを併せて、フィンガープリント(FP)圧縮・解
凍処理部としてもよい。同様に、差分圧縮処理部と差分
解凍処理部とを併せて、差分圧縮・解凍処理部としても
よい。
ント側プロキシ240は、リプライデータ転送に対する
フィンガープリント・キャッシュとは独立にリクエスト
データ転送に対するフィンガープリント・キャッシュを
設けてもよいが、リプライデータ転送とクエストデータ
転送とで同じフィンガープリント・キャッシュを共用し
てもよい。差分圧縮の際に前述した履歴表を使用する構
成の場合には、履歴表についても同様に独立して設けて
もよいし、共用してもよい。
プロキシ、クライアント側プロキシ)の構成例を示す。
側プロキシ240からサーバ側プロキシ230へリクエ
ストメッセージを転送する際のクライアント側プロキシ
240の処理手順の一例を示す。図33及び図34は、
図21及び図22において、転送するメッセージがリプ
ライメッセージからリクエストメッセージになり、メッ
セージ送信元がサーバからクライアントになり、メッセ
ージ送信先がクライアントからサーバになり、サーバ側
プロキシ40の動作とクライアント側プロキシ40の動
作とを入れ替えたものに相当する。
側プロキシ240からサーバ側プロキシ230へリクエ
ストメッセージを転送する際のサーバ側プロキシ230
の処理手順の一例を示す。
おいて、転送するメッセージがリプライメッセージから
リクエストメッセージになり、メッセージ送信元がサー
バからクライアントになり、メッセージ送信先がクライ
アントからサーバになり、サーバ側プロキシ40の動作
とクライアント側プロキシ40の動作とを入れ替えたも
のに相当する。
ィンガープリントまたは差分圧縮データで置き換えられ
るように実施すると、例えば、同じファイルを何度もサ
ーバにアップロードする際ときには、2回目以降フィン
ガープリントを送るだけで済むので、ネットワークのト
ラフィックを軽減させることができる。
ロセスからサーバ側プロキシへ転送されるリクエストメ
ッセージや、サーバ側プロキシからクライアント側プロ
セスへ転送されるリプライメッセージを対象とする場合
について示してきたが、あるプロキシに、リクエストメ
ッセージを送信する装置とリプライメッセージを送信す
る装置との両方、あるいはリクエストメッセージおよび
リプライメッセージの両方を送信する装置が接続されて
いる場合には、もちろん、クライアント側プロセスから
サーバ側プロキシへ転送されるリクエストメッセージお
よびリプライメッセージならびにサーバ側プロキシから
クライアント側プロセスへ転送されるリクエストメッセ
ージおよびリプライメッセージを対象とすることや、ク
ライアント側プロセスからサーバ側プロキシへ転送され
るリクエストメッセージおよびサーバ側プロキシからク
ライアント側プロセスへ転送されるリクエストメッセー
ジのみ対象とすることなども可能である。
キシと1つのクライアント側プロキシとの間の1対1の
通信に着目して説明してきたが、本発明の適用範囲はも
ちろんサーバ側プロキシとクライアント側プロキシとが
1対1で通信するシステムには限定されるものではない
く、サーバ側プロキシとクライアント側プロキシとが1
対多で通信するシステム、サーバ側プロキシとクライア
ント側プロキシとが多対1で通信するシステム、あるい
はサーバ側プロキシとクライアント側プロキシとが多対
多で通信するシステムにも適用可能である。例えば、図
37のように、複数のユーザオフィスに設置したクライ
アント側プロキシや、モバイルユーザが利用する個人用
プロキシなどがサーバ側プロキシを共有して使用するよ
うに実施することも可能である。
まれるデータ全体をFP圧縮する対象(フィンガープリ
ント・キャッシュに登録する対象)にしていたが、例え
ば、1つのメッセージに含まれるデータが所定の単位の
データの集合で構成される場合には、1つのメッセージ
に含まれる一部の単位データのみFP圧縮する対象(フ
ィンガープリント・キャッシュに登録する対象)にする
構成も可能である。
いはクライアント側プロキシ(一方でも両方でもよい)
に、プロキシの共有キャッシュ機構でキャッシュ可能と
されているリプライデータについて、クライアントが出
したリクエストメッセージにおいて指定されていたUR
Lと、該リクエストメッセージに対応するリプライメッ
セージに含まれていたリプライデータと、該リプライデ
ータに対応するフィンガープリントと、該リプライメッ
セージのリプライ・ヘッダに入れられて来たMIMEタ
イプなどのリクエスト・ヘッダを構成するのに必要な情
報や有効期間の判定に使うためのタイムスタンプなどの
情報を対応付けてキャッシュしておき(フィンガープリ
ント・キャッシュにすべて保持してもよいし、リプライ
データを除く情報(URLとフィンガープリントと他の
情報)を保持する対応テーブルを別途設けてもよい)、
これとフィンガープリント・キャッシュとを併用するこ
とで、プロキシサーバの共有キャッシュの動作をも行う
ようにすることができる。例えば、クライアント側プロ
キシに該キャッシュ機能を設けた場合、クライアントが
送信したリクエストメッセージにて指定されているUR
Lに対するリプライデータがキャッシュされており且つ
該データが有効である場合には、該クライアント側プロ
キシが、URLに対応するデータをフィンガープリント
・キャッシュから取得して、リプライメッセージを作成
して、これをクライアントに応答することができる。
て実現可能である。また、本実施形態は、コンピュータ
に所定の手段を実行させるための(あるいはコンピュー
タを所定の手段として機能させるための、あるいはコン
ピュータに所定の機能を実現させるための)プログラム
として実施することもでき、該プログラムを記録したコ
ンピュータ読取り可能な記録媒体として実施することも
できる。
成は一例であって、それ以外の構成を排除する趣旨のも
のではなく、例示した構成の一部を他のもので置き換え
たり、例示した構成の一部を省いたり、例示した構成に
別の機能あるいは要素を付加したり、それらを組み合わ
せたりすることなどによって得られる別の構成も可能で
ある。また、例示した構成と論理的に等価な別の構成、
例示した構成と論理的に等価な部分を含む別の構成、例
示した構成の要部と論理的に等価な別の構成なども可能
である。また、例示した構成と同一もしくは類似の目的
を達成する別の構成、例示した構成と同一もしくは類似
の効果を奏する別の構成なども可能である。また、この
発明の実施の形態で例示した各種構成部分についての各
種バリエーションは、適宜組み合わせて実施することが
可能である。また、この発明の実施の形態は、個別装置
としての発明、関連を持つ2以上の装置についての発
明、システム全体としての発明、個別装置内部の構成部
分についての発明、またはそれらに対応する方法の発明
等、種々の観点、段階、概念またはカテゴリに係る発明
を包含・内在するものである。従って、この発明の実施
の形態に開示した内容からは、例示した構成に限定され
ることなく発明を抽出することができるものである。
るものではなく、その技術的範囲において種々変形して
実施することができる。
ータとその名前との対応を保持し、この対応を保持して
いるデータについては、データを転送するの代わりに対
応する名前を転送することで、データ転送装置間の転送
データ量を削減することができる。
トワーク・システムの構成例を示す図
・システムの他の構成例を示す図
・システムのさらに他の構成例を示す図
いて説明するための図
ャッシュについて説明するための図
いて説明するための図
るための図
るための図
るための図
説明するための図
説明するための図
説明するための図
説明するための図
ットの一例を示す図
ットの他の例を示す図
ットのさらに他の例を示す図
ットのさらに他の例を示す図
ットのさらに他の例を示す図
を示す図
構成例を示す図
を示すフローチャート
を示すフローチャート
手順例を示すフローチャート
手順例を示すフローチャート
すフローチャート
示すフローチャート
を示すフローチャート
手順例を示すフローチャート
アント側プロキシとの間のデータ転送について説明する
ための図
アント側プロキシとの間のデータ転送について説明する
ための図
アント側プロキシとの間のデータ転送について説明する
ための図
他の手順例を示すフローチャート
他の手順例を示すフローチャート
順例を示すフローチャート
順例を示すフローチャート
ク・システムのさらに他の構成例を示す図
ムについて説明するための図
具体例を示す図
具体例を示す図
のメッセージの具体例を示す図
具体例を示す図
具体例を示す図
具体例を示す図
を示す図
具体例を示す図
具体例を示す図
具体例を示す図
具体例を示す図
具体例を示す図
具体例を示す図
具体例を示す図
管理部 2323…FP圧縮処理部 2423…FP解凍処理部 2324…差分圧縮処理部 2424…差分解凍処理部 2325,2425…FP解凍・解凍処理部 2326,2426…差分解凍・解凍処理部
Claims (19)
- 【請求項1】第1の通信装置から送信されたデータを受
信し、該データをその宛先となる第2の通信装置に通ず
る他のデータ転送装置へ送信するとともに、該第2の通
信装置から送信されたデータを該他のデータ転送装置を
介して受信し、該データをその宛先となる該第1の通信
装置へ送信するデータ転送装置であって、 前記第1の通信装置から前記データを受信するための受
信手段と、 過去に前記他のデータ転送装置へ送信したデータと、該
データの内容をもとに生成して該データに割り当てた名
前とを対応付けて保持するための保持手段と、 前記第1の通信装置から送信されたデータを受信した際
に、該受信したデータの内容をもとに生成した該データ
に割り当てるべき名前が、前記保持手段に保持されてい
る場合には、該データの代わりに該名前を送信するため
の処理を行い、該受信したデータに割り当てられるべき
名前が、前記保持手段に保持されていない場合には、該
受信したデータと該名前とを対応付けて前記保持手段に
保持するための処理を行うとともに、前記保持手段に保
持されている他のデータを参照データとし、該参照デー
タに対応する前記名前を利用して、該受信したデータを
圧縮して表現することが可能であるならば、該受信した
データを圧縮して表現した圧縮データを送信するための
処理を行い、圧縮して表現することが可能でないなら
ば、該受信したデータを送信するための処理を行う処理
手段と、 前記処理手段の処理に応じて前記名前、前記圧縮データ
または前記受信したデータを、前記他のデータ転送装置
へ送信するための送信手段とを備えたことを特徴とする
データ転送装置。 - 【請求項2】第1の通信装置から送信されたデータを他
のデータ転送装置を介して受信し、該データをその宛先
となる第2の通信装置へ送信するとともに、該第2の通
信装置から送信されたデータを受信し、該データをその
宛先となる第1の通信装置に通ずる他のデータ転送装置
へ送信するデータ転送装置であって、 前記他のデータ転送装置から、前記データ、当該データ
の代わりに当該データの内容をもとに生成して該データ
に割り当てられた名前、または当該データの代わりに他
のデータを参照データとし、該参照データの内容をもと
に生成して該参照データに割り当てられた名前を利用し
て当該データを圧縮して表現した圧縮データを受信する
ための受信手段と、 過去に前記他のデータ転送装置から受信したデータと、
該データの内容をもとに生成して該データに割り当てら
れた名前とを対応付けて保持するための保持手段と、 前記他のデータ転送装置から前記名前を受信した場合に
は、前記保持手段から該受信した名前に対応付けて保持
されているデータを取得し、該取得したデータを送信す
るための処理を行い、前記他のデータ転送装置から前記
データを受信した場合には、該受信したデータと該デー
タに割り当てられるべき名前とを対応付けて前記保持手
段に保持するための処理を行うとともに、該受信したデ
ータを送信するための処理を行い、前記他のデータ転送
装置から前記圧縮データを受信した場合には、該圧縮デ
ータに含まれる参照データに対応する名前と同一の名前
に対応付けて前記保持手段に保持されているデータを取
得し、該取得したデータを前記参照データとして該圧縮
データの元となったデータを解凍するとともに、該解凍
したデータと該データに割り当てられるべき名前とを対
応付けて前記保持手段に保持するための処理を行い、該
解凍したデータを送信するための処理を行う処理手段
と、 前記処理手段の処理に応じて前記取得したデータ、前記
受信したデータまたは前記解凍したデータを、前記第2
の通信装置へ送信するための送信手段とを備えたことを
特徴とするデータ転送装置。 - 【請求項3】前記名前は、所定の方法によって前記デー
タを圧縮して得た値であることを特徴とする請求項1ま
たは2に記載のデータ転送装置。 - 【請求項4】前記名前は、前記データに所定のハッシュ
関数を適用して得られた値であることを特徴とする請求
項1または2に記載のデータ転送装置。 - 【請求項5】前記圧縮データは、1又は複数の前記参照
データに対応する前記名前と、当該各参照データのうち
使用する部分を示す情報と、該使用する部分の接続方法
を示す情報とを含むものであることを特徴とする請求項
1または2に記載のデータ転送装置。 - 【請求項6】前記圧縮データは、1つの前記参照データ
に対応する前記名前と、該参照データのうち該圧縮デー
タの元となったデータと相違する部分を示す情報と、該
相違する部分に嵌め込むべき内容とを含むものであるこ
とを特徴とする請求項1または2に記載のデータ転送装
置。 - 【請求項7】前記受信したデータに割り当てられるべき
前記名前が前記保持手段に保持されていなかったため
に、該受信したデータを前記他のデータ転送装置へ送信
する際には、該受信したデータに割り当てられるべき前
記名前をも併せて送信することを特徴とする請求項1に
記載のデータ転送装置。 - 【請求項8】前記他のデータ転送装置から前記データと
ともに該データに割り当てられるべき前記名前を受信し
た場合に、該受信したデータと該受信した名前とを対応
付けて前記保持手段に保持することを特徴とする請求項
2に記載のデータ転送装置。 - 【請求項9】少なくともリプライメッセージのデータで
あって空でないものを対象として前記保持手段への保持
及び前記名前の転送を行うことを特徴とする請求項1ま
たは2に記載のデータ転送装置。 - 【請求項10】予め定められた条件を満たすデータは、
前記保持手段への保持を行う対象から除外することを特
徴とする請求項1または2に記載のデータ転送装置。 - 【請求項11】前記データ転送装置は、ローカルエリア
ネットワークを介して前記第1の通信装置と接続された
ものであることを特徴とする請求項1に記載のデータ転
送装置。 - 【請求項12】前記データ転送装置は、前記第1の通信
装置上にソフトウェアとして搭載されたものであること
を特徴とする請求項1に記載のデータ転送装置。 - 【請求項13】前記データ転送装置は、ローカルエリア
ネットワークを介して前記第2の通信装置と接続された
ものであることを特徴とする請求項2に記載のデータ転
送装置。 - 【請求項14】前記データ転送装置は、前記第2の通信
装置上にソフトウェアとして搭載されたものであること
を特徴とする請求項2に記載のデータ転送装置。 - 【請求項15】前記第1の通信装置はサーバ装置であ
り、前記第2の通信装置はクライアント装置であること
を特徴とする請求項1または2に記載のデータ転送装
置。 - 【請求項16】第1の通信装置から送信されたデータを
受信し、該データをその宛先となる第2の通信装置に通
ずる他のデータ転送装置へ送信するとともに、該第2の
通信装置から送信されたデータを該他のデータ転送装置
を介して受信し、該データをその宛先となる該第1の通
信装置へ送信するデータ転送装置におけるデータ転送方
法であって、 前記第1の通信装置から送信されたデータを受信し、 受信された前記データの内容をもとに生成した該データ
に割り当てるべき名前が、過去に前記他のデータ転送装
置へ送信したデータと該データの内容をもとに生成して
該データに割り当てた名前とを対応付けて保持するため
の保持手段に保持されているか否か判断し、 保持されている場合には、受信された前記データの代わ
りに前記名前を送信するための処理を行い、 保持されていない場合には、前記受信したデータと前記
名前とを対応付けて前記保持手段に保持するための処理
を行うとともに、前記保持手段に保持されている他のデ
ータを参照データとし、該参照データに対応する前記名
前を利用して、該受信したデータを圧縮して表現するこ
とが可能であるならば、該受信したデータを圧縮して表
現した圧縮データを送信するための処理を行い、圧縮し
て表現することが可能でないならば、該受信したデータ
を送信するための処理を行うことを特徴とするデータ転
送方法。 - 【請求項17】第1の通信装置から送信されたデータを
他のデータ転送装置を介して受信し、該データをその宛
先となる第2の通信装置へ送信するとともに、該第2の
通信装置から送信されたデータを受信し、該データをそ
の宛先となる第1の通信装置に通ずる他のデータ転送装
置へ送信するデータ転送装置におけるデータ転送方法で
あって、 前記他のデータ転送装置から、前記データ、当該データ
の代わりに当該データの内容をもとに生成して該データ
に割り当てられた名前、または当該データの代わりに他
のデータを参照データとし、該参照データの内容をもと
に生成して該参照データに割り当てられた名前を利用し
て当該データを圧縮して表現した圧縮データを受信し、 前記他のデータ転送装置から前記データの代わりに該デ
ータの内容をもとに生成して該データに割り当てられた
名前を受信した場合には、過去に前記他のデータ転送装
置から受信されたデータと該データの内容をもとに生成
して該データに割り当てられた名前とを対応付けて保持
するための保持手段から、受信された前記名前に対応付
けて保持されているデータを取得し、該取得したデータ
を送信するための処理を行い、前記他のデータ転送装置
から前記データを受信した場合には、該受信したデータ
と該データに割り当てられるべき名前とを対応付けて前
記保持手段に保持するための処理を行うとともに、該受
信したデータを送信するための処理を行い、前記他のデ
ータ転送装置から前記圧縮データを受信した場合には、
該圧縮データに含まれる参照データに対応する名前と同
一の名前に対応付けて前記保持手段に保持されているデ
ータを取得し、該取得したデータを前記参照データとし
て該圧縮データの元となったデータを解凍するととも
に、該解凍したデータと該データに割り当てられるべき
名前とを対応付けて前記保持手段に保持するための処理
を行い、該解凍したデータを送信するための処理を行う
ことを特徴とするデータ転送方法。 - 【請求項18】第1の通信装置から送信されたデータを
受信し、該データをその宛先となる第2の通信装置に通
ずる他のデータ転送装置へ送信するとともに、該第2の
通信装置から送信されたデータを該他のデータ転送装置
を介して受信し、該データをその宛先となる該第1の通
信装置へ送信するデータ転送装置としてコンピュータを
機能させるためのプログラムであって、 過去に前記他のデータ転送装置へ送信したデータと、該
データの内容をもとに生成して該データに割り当てた名
前とを対応付けて記憶装置に保持するための機能と、 前記第1の通信装置から送信されたデータを受信した際
に、該受信したデータの内容をもとに生成した該データ
に割り当てるべき名前が、前記記憶装置に保持されてい
る場合には、該データの代わりに該名前を送信するため
の処理を行い、該受信したデータに割り当てられるべき
名前が、前記記憶装置に保持されていない場合には、該
受信したデータと該名前とを対応付けて前記記憶装置に
保持するための処理を行うとともに、前記記憶装置に保
持されている他のデータを参照データとし、該参照デー
タに対応する前記名前を利用して、該受信したデータを
圧縮して表現することが可能であるならば、該受信した
データを圧縮して表現した圧縮データを送信するための
処理を行い、圧縮して表現することが可能でないなら
ば、該受信したデータを送信するための処理を行う機能
とをコンピュータに実現させるためのプログラム。 - 【請求項19】第1の通信装置から送信されたデータを
他のデータ転送装置を介して受信し、該データをその宛
先となる第2の通信装置へ送信するとともに、該第2の
通信装置から送信されたデータを受信し、該データをそ
の宛先となる第1の通信装置に通ずる他のデータ転送装
置へ送信するデータ転送装置としてコンピュータを機能
させるためのプログラムであって、 過去に前記他のデータ転送装置から受信したデータと、
該データの内容をもとに生成して該データに割り当てら
れた名前とを対応付けて記憶装置に保持するための機能
と、 前記他のデータ転送装置から前記データを受信したか、
当該データの代わりに当該データの内容をもとに生成し
て該データに割り当てられた名前を受信したか、または
当該データの代わりに他のデータを参照データとし、該
参照データの内容をもとに生成して該参照データに割り
当てられた名前を利用して当該データを圧縮して表現し
た圧縮データを受信したかを判断するための機能と、 前記他のデータ転送装置から前記名前を受信した場合に
は、前記記憶装置から該受信した名前に対応付けて保持
されているデータを取得し、該取得したデータを送信す
るための処理を行い、前記他のデータ転送装置から前記
データを受信した場合には、該受信したデータと該デー
タに割り当てられるべき名前とを対応付けて前記記憶装
置に保持するための処理を行うとともに、該受信したデ
ータを送信するための処理を行い、前記他のデータ転送
装置から前記圧縮データを受信した場合には、該圧縮デ
ータに含まれる参照データに対応する名前と同一の名前
に対応付けて前記記憶装置に保持されているデータを取
得し、該取得したデータを前記参照データとして該圧縮
データの元となったデータを解凍するとともに、該解凍
したデータと該データに割り当てられるべき名前とを対
応付けて前記記憶装置に保持するための処理を行い、該
解凍したデータを送信するための処理を行う機能とをコ
ンピュータに実現させるためのプログラム。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001069286A JP3990115B2 (ja) | 2001-03-12 | 2001-03-12 | サーバ側プロキシ装置及びプログラム |
US10/094,462 US7359956B2 (en) | 2001-03-12 | 2002-03-11 | Data transfer scheme using caching and differential compression techniques for reducing network load |
US11/967,435 US20080250119A1 (en) | 2001-03-12 | 2007-12-31 | Data transfer scheme using caching and differential compression techniques for reducing network load |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001069286A JP3990115B2 (ja) | 2001-03-12 | 2001-03-12 | サーバ側プロキシ装置及びプログラム |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007154535A Division JP4157585B2 (ja) | 2007-06-11 | 2007-06-11 | サーバ側プロキシ装置、クライアント側プロキシ装置、データ転送方法及びプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2002268937A true JP2002268937A (ja) | 2002-09-20 |
JP3990115B2 JP3990115B2 (ja) | 2007-10-10 |
Family
ID=18927341
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001069286A Expired - Fee Related JP3990115B2 (ja) | 2001-03-12 | 2001-03-12 | サーバ側プロキシ装置及びプログラム |
Country Status (2)
Country | Link |
---|---|
US (2) | US7359956B2 (ja) |
JP (1) | JP3990115B2 (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009519508A (ja) * | 2005-12-05 | 2009-05-14 | インターナショナル・ビジネス・マシーンズ・コーポレーション | ウェブ・サービス通信の履歴を駆使した最適化のためのシステム及び方法 |
WO2009091485A1 (en) * | 2008-01-18 | 2009-07-23 | Microsoft Corporation | Content compression in networks |
JP2015055877A (ja) * | 2013-09-10 | 2015-03-23 | 日本電気株式会社 | 送信装置、送信方法、送信プログラム、及び、中継システム |
US9083708B2 (en) | 2010-05-17 | 2015-07-14 | Microsoft Technology Licensing, Llc | Asymmetric end host redundancy elimination for networks |
Families Citing this family (129)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7054912B2 (en) * | 2001-03-12 | 2006-05-30 | Kabushiki Kaisha Toshiba | Data transfer scheme using caching technique for reducing network load |
US7484007B2 (en) * | 2002-02-01 | 2009-01-27 | Codekko Inc. | System and method for partial data compression and data transfer |
US8205009B2 (en) * | 2002-04-25 | 2012-06-19 | Emc Israel Development Center, Ltd. | Apparatus for continuous compression of large volumes of data |
US20040151187A1 (en) * | 2003-01-31 | 2004-08-05 | Lichtenstein Walter D. | Scheduling data transfers for multiple use requests |
US20040153567A1 (en) * | 2003-01-31 | 2004-08-05 | Lichtenstein Walter D. | Scheduling data transfers using virtual nodes |
US7478096B2 (en) * | 2003-02-26 | 2009-01-13 | Burnside Acquisition, Llc | History preservation in a computer storage system |
US20050086306A1 (en) * | 2003-03-14 | 2005-04-21 | Lemke Ralph E. | Providing background delivery of messages over a network |
GB0315154D0 (en) * | 2003-06-28 | 2003-08-06 | Ibm | Improvements to hypertext integrity |
GB0315155D0 (en) * | 2003-06-28 | 2003-08-06 | Ibm | Improvements to hypertext request integrity and user experience |
US7398325B2 (en) * | 2003-09-04 | 2008-07-08 | International Business Machines Corporation | Header compression in messages |
JP4057989B2 (ja) * | 2003-09-26 | 2008-03-05 | 株式会社東芝 | スケジューリング方法および情報処理システム |
US20050188089A1 (en) * | 2004-02-24 | 2005-08-25 | Lichtenstein Walter D. | Managing reservations for resources |
US7539776B1 (en) * | 2004-06-17 | 2009-05-26 | Sun Microsystems, Inc. | Dynamic uniform resource locator compression |
US8943304B2 (en) | 2006-08-03 | 2015-01-27 | Citrix Systems, Inc. | Systems and methods for using an HTTP-aware client agent |
US9621666B2 (en) | 2005-05-26 | 2017-04-11 | Citrix Systems, Inc. | Systems and methods for enhanced delta compression |
US9692725B2 (en) | 2005-05-26 | 2017-06-27 | Citrix Systems, Inc. | Systems and methods for using an HTTP-aware client agent |
US7756826B2 (en) * | 2006-06-30 | 2010-07-13 | Citrix Systems, Inc. | Method and systems for efficient delivery of previously stored content |
US9407608B2 (en) | 2005-05-26 | 2016-08-02 | Citrix Systems, Inc. | Systems and methods for enhanced client side policy |
US8060713B1 (en) | 2005-12-21 | 2011-11-15 | Emc (Benelux) B.V., S.A.R.L. | Consolidating snapshots in a continuous data protection system using journaling |
US7774565B2 (en) * | 2005-12-21 | 2010-08-10 | Emc Israel Development Center, Ltd. | Methods and apparatus for point in time data access and recovery |
US7849361B2 (en) * | 2005-12-22 | 2010-12-07 | Emc Corporation | Methods and apparatus for multiple point in time data access |
US7912089B2 (en) * | 2005-12-30 | 2011-03-22 | Qurio Holdings, Inc. | Methods, systems, and products for condensing messages |
US7782904B2 (en) * | 2005-12-30 | 2010-08-24 | Qurio Holdings, Inc. | Methods, systems, and products for condensing messages |
US20070276912A1 (en) * | 2006-05-05 | 2007-11-29 | Mike Rybak | Apparatus and method for forming and communicating a responsive data message |
US7627612B2 (en) * | 2006-09-28 | 2009-12-01 | Emc Israel Development Center, Ltd. | Methods and apparatus for optimal journaling for continuous data replication |
US7627687B2 (en) * | 2006-09-28 | 2009-12-01 | Emc Israel Development Center, Ltd. | Methods and apparatus for managing data flow in a continuous data replication system having journaling |
US20090094349A1 (en) * | 2007-03-14 | 2009-04-09 | Amx, Llc | Device roaming on a zigbee network |
US7941764B2 (en) | 2007-04-04 | 2011-05-10 | Abo Enterprises, Llc | System and method for assigning user preference settings for a category, and in particular a media category |
US8832220B2 (en) * | 2007-05-29 | 2014-09-09 | Domingo Enterprises, Llc | System and method for increasing data availability on a mobile device based on operating mode |
US20080307316A1 (en) * | 2007-06-07 | 2008-12-11 | Concert Technology Corporation | System and method for assigning user preference settings to fields in a category, particularly a media category |
US8224856B2 (en) | 2007-11-26 | 2012-07-17 | Abo Enterprises, Llc | Intelligent default weighting process for criteria utilized to score media content items |
US20090138457A1 (en) * | 2007-11-26 | 2009-05-28 | Concert Technology Corporation | Grouping and weighting media categories with time periods |
US20090158146A1 (en) * | 2007-12-13 | 2009-06-18 | Concert Technology Corporation | Resizing tag representations or tag group representations to control relative importance |
US7840536B1 (en) | 2007-12-26 | 2010-11-23 | Emc (Benelux) B.V., S.A.R.L. | Methods and apparatus for dynamic journal expansion |
US8041940B1 (en) | 2007-12-26 | 2011-10-18 | Emc Corporation | Offloading encryption processing in a storage area network |
US7860836B1 (en) | 2007-12-26 | 2010-12-28 | Emc (Benelux) B.V., S.A.R.L. | Method and apparatus to recover data in a continuous data protection environment using a journal |
US7958372B1 (en) | 2007-12-26 | 2011-06-07 | Emc (Benelux) B.V., S.A.R.L. | Method and apparatus to convert a logical unit from a first encryption state to a second encryption state using a journal in a continuous data protection environment |
US7836053B2 (en) * | 2007-12-28 | 2010-11-16 | Group Logic, Inc. | Apparatus and methods of identifying potentially similar content for data reduction |
US9501542B1 (en) | 2008-03-11 | 2016-11-22 | Emc Corporation | Methods and apparatus for volume synchronization |
US20090287140A1 (en) * | 2008-05-16 | 2009-11-19 | Rittman Iii William J | Electrical stimulation and infusion introducer assembly |
US7719443B1 (en) | 2008-06-27 | 2010-05-18 | Emc Corporation | Compressing data in a continuous data protection environment |
US8108634B1 (en) | 2008-06-27 | 2012-01-31 | Emc B.V., S.A.R.L. | Replicating a thin logical unit |
US7882286B1 (en) | 2008-09-26 | 2011-02-01 | EMC (Benelux)B.V., S.A.R.L. | Synchronizing volumes for replication |
US8060714B1 (en) | 2008-09-26 | 2011-11-15 | Emc (Benelux) B.V., S.A.R.L. | Initializing volumes in a replication system |
US20100179984A1 (en) | 2009-01-13 | 2010-07-15 | Viasat, Inc. | Return-link optimization for file-sharing traffic |
US20140040353A1 (en) * | 2009-01-13 | 2014-02-06 | Viasat, Inc. | Return-link optimization for file-sharing traffic |
WO2010104927A2 (en) | 2009-03-10 | 2010-09-16 | Viasat, Inc. | Internet protocol broadcasting |
US8301798B2 (en) * | 2009-06-12 | 2012-10-30 | Barclays Captial Inc. | System and method for processing large amounts of transactional data |
US8750370B2 (en) * | 2009-09-04 | 2014-06-10 | Brocade Communications Systems, Inc. | Congestion-adaptive compression |
EP2312464A1 (en) * | 2009-10-14 | 2011-04-20 | Amadeus S.A.S. | Method of and apparatus for operating on data in a distributed client-server architecture comprising heterogeneous platforms |
US8516253B1 (en) | 2010-01-18 | 2013-08-20 | Viasat, Inc. | Self-keyed protection of anticipatory content |
US8392680B1 (en) | 2010-03-30 | 2013-03-05 | Emc International Company | Accessing a volume in a distributed environment |
US9307003B1 (en) | 2010-04-18 | 2016-04-05 | Viasat, Inc. | Web hierarchy modeling |
US8332687B1 (en) | 2010-06-23 | 2012-12-11 | Emc Corporation | Splitter used in a continuous data protection environment |
KR101064201B1 (ko) * | 2010-07-27 | 2011-09-14 | 주식회사 파수닷컴 | 웹 데이터의 권한 관리 장치, 웹 데이터의 권한 관리 방법을 컴퓨터에서 실행시키기 위한 기록매체, 그리고 권한 관리 정보 제공 장치 및 방법 |
US8433869B1 (en) | 2010-09-27 | 2013-04-30 | Emc International Company | Virtualized consistency group using an enhanced splitter |
US8478955B1 (en) | 2010-09-27 | 2013-07-02 | Emc International Company | Virtualized consistency group using more than one data protection appliance |
US8335771B1 (en) | 2010-09-29 | 2012-12-18 | Emc Corporation | Storage array snapshots for logged access replication in a continuous data protection system |
US8694700B1 (en) | 2010-09-29 | 2014-04-08 | Emc Corporation | Using I/O track information for continuous push with splitter for storage device |
US20120131432A1 (en) * | 2010-11-24 | 2012-05-24 | Edward Wayne Goddard | Systems and methods for delta encoding, transmission and decoding of html forms |
US8335761B1 (en) | 2010-12-02 | 2012-12-18 | Emc International Company | Replicating in a multi-copy environment |
US8943216B2 (en) * | 2011-02-24 | 2015-01-27 | Saguna Networks Ltd. | Methods, circuits, devices, systems and associated computer executable code for caching content |
US9037638B1 (en) | 2011-04-11 | 2015-05-19 | Viasat, Inc. | Assisted browsing using hinting functionality |
US11983233B2 (en) | 2011-04-11 | 2024-05-14 | Viasat, Inc. | Browser based feedback for optimized web browsing |
US9912718B1 (en) | 2011-04-11 | 2018-03-06 | Viasat, Inc. | Progressive prefetching |
US9456050B1 (en) | 2011-04-11 | 2016-09-27 | Viasat, Inc. | Browser optimization through user history analysis |
US9106607B1 (en) | 2011-04-11 | 2015-08-11 | Viasat, Inc. | Browser based feedback for optimized web browsing |
EP2536065B1 (en) | 2011-06-14 | 2019-11-27 | ViaSat, Inc. | Transport protocol for anticipatory content |
US9256605B1 (en) | 2011-08-03 | 2016-02-09 | Emc Corporation | Reading and writing to an unexposed device |
US8898112B1 (en) | 2011-09-07 | 2014-11-25 | Emc Corporation | Write signature command |
US9407355B1 (en) | 2011-10-25 | 2016-08-02 | Viasat Inc. | Opportunistic content delivery using delta coding |
US8432808B1 (en) | 2012-06-15 | 2013-04-30 | Viasat Inc. | Opportunistically delayed delivery in a satellite network |
US9223659B1 (en) | 2012-06-28 | 2015-12-29 | Emc International Company | Generating and accessing a virtual volume snapshot in a continuous data protection system |
US9336094B1 (en) | 2012-09-13 | 2016-05-10 | Emc International Company | Scaleout replication of an application |
US10235145B1 (en) | 2012-09-13 | 2019-03-19 | Emc International Company | Distributed scale-out replication |
CN103873443B (zh) * | 2012-12-13 | 2018-04-27 | 联想(北京)有限公司 | 信息处理方法、本地代理服务器和网络代理服务器 |
US8996460B1 (en) | 2013-03-14 | 2015-03-31 | Emc Corporation | Accessing an image in a continuous data protection using deduplication-based storage |
US9696939B1 (en) | 2013-03-14 | 2017-07-04 | EMC IP Holding Company LLC | Replicating data using deduplication-based arrays using network-based replication |
US9383937B1 (en) | 2013-03-14 | 2016-07-05 | Emc Corporation | Journal tiering in a continuous data protection system using deduplication-based storage |
US9110914B1 (en) | 2013-03-14 | 2015-08-18 | Emc Corporation | Continuous data protection using deduplication-based storage |
US9244997B1 (en) | 2013-03-15 | 2016-01-26 | Emc Corporation | Asymmetric active-active access of asynchronously-protected data storage |
US9081842B1 (en) | 2013-03-15 | 2015-07-14 | Emc Corporation | Synchronous and asymmetric asynchronous active-active-active data access |
US9152339B1 (en) | 2013-03-15 | 2015-10-06 | Emc Corporation | Synchronization of asymmetric active-active, asynchronously-protected storage |
US9087112B1 (en) | 2013-06-24 | 2015-07-21 | Emc International Company | Consistency across snapshot shipping and continuous replication |
US9069709B1 (en) | 2013-06-24 | 2015-06-30 | Emc International Company | Dynamic granularity in data replication |
US9146878B1 (en) | 2013-06-25 | 2015-09-29 | Emc Corporation | Storage recovery from total cache loss using journal-based replication |
US9367260B1 (en) | 2013-12-13 | 2016-06-14 | Emc Corporation | Dynamic replication system |
US9405765B1 (en) | 2013-12-17 | 2016-08-02 | Emc Corporation | Replication of virtual machines |
US9158630B1 (en) | 2013-12-19 | 2015-10-13 | Emc Corporation | Testing integrity of replicated storage |
US9189339B1 (en) | 2014-03-28 | 2015-11-17 | Emc Corporation | Replication of a virtual distributed volume with virtual machine granualarity |
US10855797B2 (en) | 2014-06-03 | 2020-12-01 | Viasat, Inc. | Server-machine-driven hint generation for improved web page loading using client-machine-driven feedback |
US10082980B1 (en) | 2014-06-20 | 2018-09-25 | EMC IP Holding Company LLC | Migration of snapshot in replication system using a log |
US9274718B1 (en) | 2014-06-20 | 2016-03-01 | Emc Corporation | Migration in replication system |
US9619543B1 (en) | 2014-06-23 | 2017-04-11 | EMC IP Holding Company LLC | Replicating in virtual desktop infrastructure |
US10462258B2 (en) * | 2014-08-27 | 2019-10-29 | Huawei Technologies Co., Ltd. | Resource download method, electronic device, and apparatus |
US10324798B1 (en) | 2014-09-25 | 2019-06-18 | EMC IP Holding Company LLC | Restoring active areas of a logical unit |
US10101943B1 (en) | 2014-09-25 | 2018-10-16 | EMC IP Holding Company LLC | Realigning data in replication system |
US10437783B1 (en) | 2014-09-25 | 2019-10-08 | EMC IP Holding Company LLC | Recover storage array using remote deduplication device |
US9910621B1 (en) | 2014-09-29 | 2018-03-06 | EMC IP Holding Company LLC | Backlogging I/O metadata utilizing counters to monitor write acknowledgements and no acknowledgements |
US9529885B1 (en) | 2014-09-29 | 2016-12-27 | EMC IP Holding Company LLC | Maintaining consistent point-in-time in asynchronous replication during virtual machine relocation |
US9600377B1 (en) | 2014-12-03 | 2017-03-21 | EMC IP Holding Company LLC | Providing data protection using point-in-time images from multiple types of storage devices |
US10496487B1 (en) | 2014-12-03 | 2019-12-03 | EMC IP Holding Company LLC | Storing snapshot changes with snapshots |
US9405481B1 (en) | 2014-12-17 | 2016-08-02 | Emc Corporation | Replicating using volume multiplexing with consistency group file |
US9632881B1 (en) | 2015-03-24 | 2017-04-25 | EMC IP Holding Company LLC | Replication of a virtual distributed volume |
US9411535B1 (en) | 2015-03-27 | 2016-08-09 | Emc Corporation | Accessing multiple virtual devices |
US10296419B1 (en) | 2015-03-27 | 2019-05-21 | EMC IP Holding Company LLC | Accessing a virtual device using a kernel |
US9678680B1 (en) | 2015-03-30 | 2017-06-13 | EMC IP Holding Company LLC | Forming a protection domain in a storage architecture |
US10241960B2 (en) | 2015-05-14 | 2019-03-26 | Deephaven Data Labs Llc | Historical data replay utilizing a computer system |
US10853181B1 (en) | 2015-06-29 | 2020-12-01 | EMC IP Holding Company LLC | Backing up volumes using fragment files |
US9740809B2 (en) * | 2015-08-27 | 2017-08-22 | Altera Corporation | Efficient integrated circuits configuration data management |
BR112018007818B1 (pt) | 2015-10-20 | 2023-10-17 | Viasat, Inc. | Método para atualização de modelo de sugestão e sistema de geração de sugestão acionado por máquina |
US9684576B1 (en) | 2015-12-21 | 2017-06-20 | EMC IP Holding Company LLC | Replication using a virtual distributed volume |
US10067837B1 (en) | 2015-12-28 | 2018-09-04 | EMC IP Holding Company LLC | Continuous data protection with cloud resources |
US10133874B1 (en) | 2015-12-28 | 2018-11-20 | EMC IP Holding Company LLC | Performing snapshot replication on a storage system not configured to support snapshot replication |
US10235196B1 (en) | 2015-12-28 | 2019-03-19 | EMC IP Holding Company LLC | Virtual machine joining or separating |
US10152267B1 (en) | 2016-03-30 | 2018-12-11 | Emc Corporation | Replication data pull |
US10579282B1 (en) | 2016-03-30 | 2020-03-03 | EMC IP Holding Company LLC | Distributed copy in multi-copy replication where offset and size of I/O requests to replication site is half offset and size of I/O request to production volume |
US10235087B1 (en) | 2016-03-30 | 2019-03-19 | EMC IP Holding Company LLC | Distributing journal data over multiple journals |
US10235060B1 (en) | 2016-04-14 | 2019-03-19 | EMC IP Holding Company, LLC | Multilevel snapshot replication for hot and cold regions of a storage system |
US10235091B1 (en) | 2016-09-23 | 2019-03-19 | EMC IP Holding Company LLC | Full sweep disk synchronization in a storage system |
US10019194B1 (en) | 2016-09-23 | 2018-07-10 | EMC IP Holding Company LLC | Eventually consistent synchronous data replication in a storage system |
US10235090B1 (en) | 2016-09-23 | 2019-03-19 | EMC IP Holding Company LLC | Validating replication copy consistency using a hash function in a storage system |
US10146961B1 (en) | 2016-09-23 | 2018-12-04 | EMC IP Holding Company LLC | Encrypting replication journals in a storage system |
US10210073B1 (en) | 2016-09-23 | 2019-02-19 | EMC IP Holding Company, LLC | Real time debugging of production replicated data with data obfuscation in a storage system |
US10567539B2 (en) * | 2016-11-23 | 2020-02-18 | Cisco Technology, Inc. | Managing metadata in cloud driven, thin client video applications |
US10963450B2 (en) | 2017-01-25 | 2021-03-30 | Apple Inc. | Optimizing offline map data updates |
US10198469B1 (en) | 2017-08-24 | 2019-02-05 | Deephaven Data Labs Llc | Computer data system data source refreshing using an update propagation graph having a merged join listener |
CN111177362B (zh) * | 2019-12-30 | 2023-08-22 | 深圳市梦网科技发展有限公司 | 一种信息处理方法、装置、服务器及介质 |
CN113268453A (zh) * | 2021-05-27 | 2021-08-17 | 杭州迪普科技股份有限公司 | 日志信息压缩存储方法及装置 |
Family Cites Families (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4558302A (en) * | 1983-06-20 | 1985-12-10 | Sperry Corporation | High speed data compression and decompression apparatus and method |
US5521597A (en) * | 1993-08-02 | 1996-05-28 | Mircosoft Corporation | Data compression for network transport |
US5627533A (en) * | 1994-08-05 | 1997-05-06 | Hayes Microcomputer Products, Inc. | Adjusting encoding table size and memory allocation for data compression in response to input data |
US5701432A (en) * | 1995-10-13 | 1997-12-23 | Sun Microsystems, Inc. | Multi-threaded processing system having a cache that is commonly accessible to each thread |
JP2840589B2 (ja) * | 1996-02-09 | 1998-12-24 | 富士通株式会社 | データ圧縮装置及びデータ復元装置 |
US5878213A (en) | 1996-02-15 | 1999-03-02 | International Business Machines Corporation | Methods, systems and computer program products for the synchronization of time coherent caching system |
JPH09251414A (ja) | 1996-03-15 | 1997-09-22 | N T T Data Tsushin Kk | ネットワーク通信システム及び方法 |
US6112250A (en) * | 1996-04-11 | 2000-08-29 | America Online, Inc. | Recompression of files at an intermediate node in a network system |
US5654703A (en) * | 1996-06-17 | 1997-08-05 | Hewlett-Packard Company | Parallel data compression and decompression |
US6173311B1 (en) * | 1997-02-13 | 2001-01-09 | Pointcast, Inc. | Apparatus, method and article of manufacture for servicing client requests on a network |
US5946697A (en) * | 1997-04-22 | 1999-08-31 | Microsoft Corporation | Rapid transfer of HTML files |
US6292115B1 (en) * | 1997-12-02 | 2001-09-18 | Hughes Electronics Corporation | Data compression for use with a communications channel |
US6721740B1 (en) * | 1998-05-29 | 2004-04-13 | Sun Microsystems, Inc. | Method and apparatus of performing active update notification |
US6590588B2 (en) * | 1998-05-29 | 2003-07-08 | Palm, Inc. | Wireless, radio-frequency communications using a handheld computer |
US6263348B1 (en) * | 1998-07-01 | 2001-07-17 | Serena Software International, Inc. | Method and apparatus for identifying the existence of differences between two files |
US6427187B2 (en) * | 1998-07-31 | 2002-07-30 | Cache Flow, Inc. | Multiple cache communication |
GB9821103D0 (en) * | 1998-09-30 | 1998-11-18 | Xerox Corp | Mobile Email document transaction service |
US6697844B1 (en) * | 1998-12-08 | 2004-02-24 | Lucent Technologies, Inc. | Internet browsing using cache-based compaction |
JP2000222273A (ja) | 1999-02-03 | 2000-08-11 | Nec Software Shikoku Ltd | ドキュメントダウンロードシステム |
US20010034839A1 (en) * | 1999-12-24 | 2001-10-25 | Guenter Karjoth | Method and apparatus for secure transmission of data and applications |
US20040049598A1 (en) * | 2000-02-24 | 2004-03-11 | Dennis Tucker | Content distribution system |
US7035902B1 (en) * | 2000-08-11 | 2006-04-25 | International Business Machines Corporation | Method, article of manufacture and apparatus for processing an electronic mail document |
US20020078371A1 (en) * | 2000-08-17 | 2002-06-20 | Sun Microsystems, Inc. | User Access system using proxies for accessing a network |
US20020059463A1 (en) * | 2000-11-10 | 2002-05-16 | Leonid Goldstein | Method and system for accelerating internet access through data compression |
US6877025B2 (en) * | 2000-12-18 | 2005-04-05 | International Business Machines Corp. | Integrated JSP and command cache for web applications with dynamic content |
US6754799B2 (en) * | 2001-05-16 | 2004-06-22 | Microsoft Corporation | System and method for indexing and retrieving cached objects |
-
2001
- 2001-03-12 JP JP2001069286A patent/JP3990115B2/ja not_active Expired - Fee Related
-
2002
- 2002-03-11 US US10/094,462 patent/US7359956B2/en not_active Expired - Fee Related
-
2007
- 2007-12-31 US US11/967,435 patent/US20080250119A1/en not_active Abandoned
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009519508A (ja) * | 2005-12-05 | 2009-05-14 | インターナショナル・ビジネス・マシーンズ・コーポレーション | ウェブ・サービス通信の履歴を駆使した最適化のためのシステム及び方法 |
WO2009091485A1 (en) * | 2008-01-18 | 2009-07-23 | Microsoft Corporation | Content compression in networks |
US7975071B2 (en) | 2008-01-18 | 2011-07-05 | Microsoft Corporation | Content compression in networks |
US9083708B2 (en) | 2010-05-17 | 2015-07-14 | Microsoft Technology Licensing, Llc | Asymmetric end host redundancy elimination for networks |
JP2015055877A (ja) * | 2013-09-10 | 2015-03-23 | 日本電気株式会社 | 送信装置、送信方法、送信プログラム、及び、中継システム |
US9742832B2 (en) | 2013-09-10 | 2017-08-22 | Nec Corporation | Transmission apparatus, transmission method, computer-readable storage medium storing transmission program, and relay system |
Also Published As
Publication number | Publication date |
---|---|
US7359956B2 (en) | 2008-04-15 |
JP3990115B2 (ja) | 2007-10-10 |
US20020129168A1 (en) | 2002-09-12 |
US20080250119A1 (en) | 2008-10-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3990115B2 (ja) | サーバ側プロキシ装置及びプログラム | |
US7636765B2 (en) | Data transfer scheme using caching technique for reducing network load | |
US7383348B2 (en) | Data transfer scheme using caching technique for reducing network load | |
US6892206B2 (en) | Reduction of meta data in a network | |
CN104081739B (zh) | 在覆盖网络中利用压缩和差异化引擎的基于主机/路径的数据差异化装置和系统 | |
JP4671332B2 (ja) | ユーザ識別情報を変換するファイルサーバ | |
US20090271527A1 (en) | Caching signatures | |
US20050027731A1 (en) | Compression dictionaries | |
JP3848209B2 (ja) | データ転送装置、データ転送方法及びプログラム | |
JP3984086B2 (ja) | キャッシュサーバ、データ転送装置及びプログラム | |
JP2004310371A (ja) | ファイル共有システム及び方法、ファイル共有サーバ、ファイル共有サービスのクライアント端末、ファイル共有プログラム、ファイル共有プログラムを記録した記録媒体 | |
JP4031516B2 (ja) | サーバ側プロキシ装置、クライアント側プロキシ装置、データ転送方法及びプログラム | |
US20020107986A1 (en) | Methods and systems for replacing data transmission request expressions | |
JP4053269B2 (ja) | データ転送装置およびデータ転送方法 | |
JP3983987B2 (ja) | サーバ側プロキシ装置、データ転送方法及びプログラム | |
JP3943867B2 (ja) | サーバ側プロキシ、データ転送方法及びプログラム | |
JP2003108464A (ja) | データ転送装置およびデータ転送方法 | |
JP4157585B2 (ja) | サーバ側プロキシ装置、クライアント側プロキシ装置、データ転送方法及びプログラム | |
JP3943868B2 (ja) | サーバ側プロキシ、データ転送方法及びプログラム | |
JP4041157B2 (ja) | クライアント側プロキシ装置、データ転送方法及びプログラム | |
JP2003108462A (ja) | データ転送装置およびデータ転送方法 | |
JP3977651B2 (ja) | データ転送方法、サーバ側プロキシ装置、クライアント側プロキシ装置及びプログラム | |
JP4300220B2 (ja) | データ転送装置およびデータ転送方法 | |
JP3977601B2 (ja) | サーバ側プロキシ装置、クライアント側プロキシ装置及びプログラム | |
JP2003122730A (ja) | 情報処理方法、エージェントシステム、エージェントシステムプログラム及びエージェントシステムプログラムが記録された記録媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20061219 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070219 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20070410 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070611 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20070628 |
|
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: 20070717 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070719 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100727 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110727 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120727 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130727 Year of fee payment: 6 |
|
LAPS | Cancellation because of no payment of annual fees |