JP4020676B2 - Webシステム及びWebシステムの制御方法 - Google Patents
Webシステム及びWebシステムの制御方法 Download PDFInfo
- Publication number
- JP4020676B2 JP4020676B2 JP2002084926A JP2002084926A JP4020676B2 JP 4020676 B2 JP4020676 B2 JP 4020676B2 JP 2002084926 A JP2002084926 A JP 2002084926A JP 2002084926 A JP2002084926 A JP 2002084926A JP 4020676 B2 JP4020676 B2 JP 4020676B2
- Authority
- JP
- Japan
- Prior art keywords
- value
- content data
- data
- cache
- client
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
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
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- 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/2895—Intermediate processing functionally located close to the data provider application, e.g. reverse 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/34—Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters
-
- 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
-
- 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/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/565—Conversion or adaptation of application format or content
-
- 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/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/329—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
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)
Description
【発明の属する技術分野】
本発明は、Webシステム、およびWebシステムの制御方法に関する。
【0002】
【従来の技術】
ネットワーク上で様々なサービスを提供するサーバと、サービスをサーバに対して要求するクライアントとを有する、クライアント・サーバ型の情報システムが広く利用されている。インターネット上でHTTP(HyperText Transfer Protocol)プロトコルを利用して通信を行うWorld Wide Webシステム(以下、Web)は、大変広く利用されているクライアント・サーバ型の情報システムである。通常、Webにおいては、サーバ上ではサーバプログラムが動作し、クライアント上ではWebブラウザなどの所定のプログラムが動作する。
【0003】
Webのようなクライアント・サーバ型の情報システムでは、クライアントとサーバ間の通信によってサービスが提供される。従って、クライアントとサーバとの間の通信帯域が、システム全体のボトルネックになりやすい。そこで、通常、ネットワークの負荷を軽減させるためにキャッシュ技術が用いられる。
【0004】
Webシステムの場合、クライアント上で動作するWebブラウザ等はキャッシュ機能を利用するものが多く、最近アクセスしたデータをキャッシュしている。WebシステムではURL(Uniform Resource Locater)で情報やサービスを指定してアクセスを行うので、クライアント上のキャッシュは過去にWebサーバに情報やサービスを要求した結果として返されるデータのうち、キャッシュ可能なものを、そのURLと対応させてキャッシュに記憶している。そして、キャッシュ内に存在するものと同じURLの情報やサービスの要求があった際には、そのキャッシュ内のデータが古くなっていないと判断できるならば、そのデータを返すことで、サーバとの間の通信を無くすことができる。
【0005】
また、LAN(Local Area Network)を使用している場合、LANとインターネットとの間にプロキシサーバを設置し、プロキシサーバにキャッシュ機能を設けることも多い。前述のクライアントのキャッシュはそのクライアントのユーザ専用のキャッシュであるが、LAN上のプロキシサーバのキャッシュは複数のユーザに共有のキャッシュとして動作するため、過去に他のクライアントがアクセスしたURLに対してアクセスする際にもキャッシュが効く。
【0006】
これらのキャッシュは静的コンテンツをキャッシュの対象にしている。かつては、Webで公開される情報やサービスには、情報の更新頻度がそれほど高くなく、また、不特定多数の人に公開されているものが多かったため、静的コンテンツの割合が大変高く、URLベースでキャッシュの存在の有無を確認しても十分に効果があった。
【0007】
しかし、WebベースのASP(Application Service Provider)のように、ユーザがWebブラウザを使ってネットワーク経由でサーバ上の情報やサービスにアクセスするシステムが普及するにつれ、上述のキャッシュ技術では対応できないデータが増加している。
【0008】
このような問題に対応するために特願2001−069284号出願で、フィンガープリント(FP)圧縮を用いたキャッシュ技術を提案した。
【0009】
【発明が解決しようとする課題】
特願2001−069284号出願では、クライアント側のプロキシサーバ(CSP:Client Side Proxy)とWebサーバ側のプロキシサーバ(SSP:Server Side Proxy)の間でFP圧縮処理を行うので、プロキシサーバが2つセットで必要であり、ネットワーク構成が複雑になるという問題があった。
【0010】
例えば、MobileIP技術を利用している携帯端末の場合は、携帯端末からWebサーバへの通信経路とWebサーバから携帯端末への通信経路が異なるため、CSPを使うのが困難である。
【0011】
そこで、本発明ではSSPとクライアントの間に別途CSPを設けなくても、クライアント側で汎用ブラウザを用いるだけで、ネットワーク負荷を軽減できるデータ転送技術を提供することを目的とする。
【0012】
【課題を解決するための手段】
上記課題を解決するため、本発明のWebシステムは、クライアントと、前記クライアントから送信されたコンテンツデータを取得するためのリクエストを受信しそのリクエストに応じたコンテンツデータを出力するサーバと、前記クライアントと前記サーバとの間で行われるデータ転送を仲介するデータ転送装置とを有するWebシステムであって、前記データ転送装置は、前記クライアントから前記リクエストを受信する受信部と、前記受信部で受信した前記リクエストを、そのリクエストの宛先である前記サーバへ送信する送信部と、前記サーバから前記リクエストに応じた前記コンテンツデータを前記受信部を介して受信した時に、前記コンテンツデータのFP(フィンガープリント)値を計算する計算部と、前記計算部によって計算された前記FP値と、それに対応する前記コンテンツデータとが関連付けてキャッシュ記憶される記憶部と、前記計算部で計算された前記FP値と同じ値のFP値が既に前記記憶部に記憶されているかどうかを判定する判定部と、前記判定部によって前記同じ値のFP値が既に前記記憶部に記憶されていると判定された場合には前記クライアントへ前記FP値をレスポンスとして送信し、前記判定部によって前記同じ値のFP値が前記記憶部に記憶されていないと判定された場合には前記クライアントへ前記コンテンツデータと前記FP値とをレスポンスとして送信し、前記判定部によって前記同じ値のFP値が記憶されているかどうかが判定された後、前記クライアントへレスポンスを送信する際に、前記レスポンスに前記FPキャッシュ対応プログラムを自動的にダウンロードして組み込ませる命令を付加して送信する制御部と、を有し、前記クライアントは、前記FPキャッシュ対応プログラムを持たない場合は、前記レスポンスに付加された前記命令を実行することによって前記FPキャッシュ対応プログラムが組み込まれ、組み込まれたFPキャッシュ対応プログラムに従い、前記サーバから前記データ転送装置を介して受信する新たなコンテンツデータとそのFP値とを関連付けてキャッシュ記憶し、レスポンスとしてコンテンツデータのFP値のみを受信した場合であって、前記キャッシュ記憶されているコンテンツデータのFP値とレスポンスとして受信したコンテンツデータのFP値とが等しい場合に、前記組み込まれたFPキャッシュ対応プログラムに従い、そのFP値と関連付けてキャッシュ記憶しているコンテンツデータを出力することを特徴とする。
【0013】
また、本発明のWebシステムの制御方法は、クライアントと、前記クライアントから送信されたコンテンツデータを取得するためのリクエストを受信しそのリクエストに応じたコンテンツデータを出力するサーバと、前記クライアントと前記サーバとの間で行われるデータ転送を仲介するデータ転送装置とを有するWebシステムの制御方法であって、前記データ転送装置は、前記クライアントから前記リクエストを受信し、前記受信した前記リクエストを、そのリクエストの宛先である前記サーバへ送信し、前記サーバから前記リクエストに応じた前記コンテンツデータを受信した時に、前記コンテンツデータのFP(フィンガープリント)値を計算し、前記計算された前記FP値とそれに対応するコンテンツデータとを関連付けて記憶部にキャッシュ記憶し、前記計算された前記FP値と同じ値のFP値が既に前記記憶部に記憶されているかどうかを判定し、前記FP値と同じ値のFP値が既に前記記憶部に記憶されていると判定された場合には前記FP値をレスポンスとして前記クライアントへ送信し、前記FP値と同じ値のFP値が前記記憶部に記憶されていないと判定された場合には前記コンテンツデータと前記FP値とを前記レスポンスとして前記クライアントへ送信し、前記判定部によって前記同じ値のFP値が記憶されているかどうかが判定された後、前記クライアントへレスポンスを送信する際に、前記レスポンスにFPキャッシュ対応プログラムを自動的にダウンロードさせて組み込ませる命令を付加して送信し、前記FPキャッシュ対応プログラムを持たない前記クライアントは前記レスポンスに付加された前記命令を実行することによってFPキャッシュ対応プログラムを組み込み、前記FPキャッシュ対応プログラムに従い、前記クライアントは新たに受信するコンテンツデータとそのFP値とを関連付けてキャッシュ記憶し、前記クライアントは、レスポンスとしてコンテンツデータのFP値のみを受信した場合であって、キャッシュ記憶しているコンテンツデータのFP値と前記レスポンスとして受信したコンテンツデータのFP値とが等しい場合に、前記組み込まれたFPキャッシュ対応プログラムに従い、そのFP値と関連付けて記憶しているコンテンツデータを出力することを特徴とする。
【0014】
【発明の実施の形態】
以下、図面を参照しながら本発明の一実施形態について説明する。
【0015】
(システムの概要)図1に本実施形態のWebシステムの構成例を示す。このWebシステムは、クライアントであるWebブラウザ1−1と、クライアントに様々な情報やサービスを提供するWebサーバ1−3と、Webサーバ1−3からのデータの一時蓄積を行いネットワークの負荷を軽減させるプロキシサーバ1−2とを有し、ネットワークを介して共通に接続されている。
【0016】
Webブラウザ1−1はクライアント100のコンピュータ上で動作するプログラムである。Webブラウザ1−1は、プロキシサーバ1−2にアクセスしてHTTPプロトコルに基づいたリクエストメッセージを送信して情報やサービス等のコンテンツデータを要求し、その結果として得られるリプライメッセージを受信する。Webブラウザ1−1は受信したリプライメッセージからコンテンツデータを抽出して図示しない画面等に表示するとともに図示しないキャッシュに登録しておき、同じコンテンツデータを再度取得する場合には前述のキャッシュから読み出して表示までの時間を短縮させる。
【0017】
プロキシサーバ1−2はWebサーバ側ネットワーク110に所属するコンピュータであるサーバ111上で動作するプログラムである。プロキシサーバ1−2は、Webブラウザ1−1からのリクエストメッセージに応じて、図示しないキャッシュに存在するコンテンツデータを利用してリプライメッセージを送信するか、あるいは、前述のキャッシュ内にコンテンツデータが存在しない場合には、Webサーバ1−3にリクエストメッセージを転送してコンテンツデータを取得してWebブラウザ1−1にリプライメッセージを送信する。また、Webサーバ1−3から取得したコンテンツデータについてFP値を計算して、URL及びデータと関連付けてキャッシュに登録することで、URLが異なるが実質的に同一であるデータに対しても図示しないキャッシュ内のデータをヒットさせることが可能となる。FP値とはコンテンツデータの特徴量となるデータで、後述するようにハッシュ関数を用いて計算される。
【0018】
Webサーバ1−3はWebサーバ側ネットワーク110に所属するコンピュータであるサーバ112上で動作するプログラムである。Webサーバ1−3は、プロキシサーバ1−2からのHTTPプロトコルに基づいたコマンドを受信して、情報やサービス等のコンテンツデータを送信する。
【0019】
(データ及びコマンドの流れ)図2から図7を用いてWebブラウザ1−1、プロキシサーバ1−2、Webサーバ1−3の間のデータ及びコマンドの流れの概要を主要な6パターンについて説明する。
【0020】
本実施形態のWebブラウザ1−1には2種類のキャッシュが存在し、一つはWebブラウザ1−1が元々備えるURLとコンテンツデータを関連付けて記憶するキャッシュで、もう一つは本発明に係るFP値とコンテンツデータを関連付けて記憶するキャッシュである。図2から図7のキャッシュ1−11は後者のキャッシュである。
【0021】
(A)Webブラウザ1−1が要求したコンテンツデータがプロキシサーバ1−2のキャッシュ1−21に存在しない場合(すなわち、当該コンテンツデータの初回アクセス時)。
【0022】
データ及びコマンドの流れは図2のようになる。(1)Webブラウザ1−1はプロキシサーバ1−2にアクセスしてコンテンツデータを要求するためのリクエストメッセージを送信する。(2)プロキシサーバ1−2はリクエストメッセージをWebサーバ1−3に転送する。(3)Webサーバ1−3はリクエストメッセージに応じてコンテンツデータを出力する。(4)プロキシサーバ1−2はコンテンツデータのFP値を計算し、コンテンツデータとFP値とURLとを関連付けてキャッシュ1−21に登録する。(5)そして、プロキシサーバ1−2はコンテンツデータとFP値をWebブラウザ1−1に送信する。(6)Webブラウザ1−1はコンテンツデータとFP値を関連付けてキャッシュ1−11に登録する。
【0023】
(B)Webブラウザ1−1が要求したコンテンツデータがプロキシサーバ1−2のキャッシュ1−21に存在し、URLによる探索でヒットした場合。
【0024】
データ及びコマンドの流れは図3のようになる。(1)Webブラウザ1−1はプロキシサーバ1−2にアクセスしてコンテンツデータを要求するためのリクエストメッセージを送信する。(2)プロキシサーバ1−2はリクエストメッセージで指定されたURLに対応するコンテンツデータとFP値をキャッシュ1−21から抽出する。(3)プロキシサーバ1−2はFP値とコンテンツデータをWebブラウザ1−1に送信する。(4)Webブラウザ1−1はFP値とコンテンツデータを関連付けてキャッシュ1−11に登録する。
【0025】
(C−1)Webブラウザ1−1が要求したコンテンツデータがプロキシサーバ1−2のキャッシュ1−21に存在し、FP値による探索でヒットした場合であって、Webブラウザ1−1のキャッシュ1−11にも当該FP値を持つコンテンツデータが存在する場合(圧縮転送の場合)。
【0026】
データ及びコマンドの流れは図4のようになる。(1)Webブラウザ1−1はプロキシサーバ1−2にアクセスしてデータを要求するためのリクエストメッセージを送信する。(2)プロキシサーバ1−2はリクエストメッセージをWebサーバ1−3に転送する。(3)Webサーバ1−3はリクエストメッセージに応じてコンテンツデータを出力する。(4)プロキシサーバ1−2はコンテンツデータのFP値を計算し、FP値を用いてキャッシュ1−21内から当該コンテンツデータを探索する。(5)プロキシサーバ1−2はFP値をWebブラウザ1−1に送信する。(6)Webブラウザ1−1はFP値に対応するコンテンツデータをキャッシュ1−11から読み出す。
【0027】
(C−2)Webブラウザ1−1が要求したデータがプロキシサーバ1−2のキャッシュ1−21に存在し、FP値による探索でヒットした場合であって、Webブラウザ1−1のキャッシュ1−11には当該FP値を持つデータが存在しない場合(圧縮転送で、再リクエストを行う場合)。
【0028】
データ及びコマンドの流れは図5のようになる。(1)〜(5)は(C−1)と同じである。(6)Webブラウザ1−1はキャッシュ1−11内にFP値に対応するコンテンツデータが存在しないので、プロキシサーバ1−2にコンテンツデータを送信を要求するために、再リクエストメッセージを送信する。(7)プロキシサーバ1−2は再リクエストメッセージに応じてキャッシュ1−21からコンテンツデータを抽出する。(8)プロキシサーバ1−2はFP値とコンテンツデータをWebブラウザ1−1に送信する。(9)Webブラウザ1−1はキャッシュ1−11にコンテンツデータとFP値とを関連付けて登録する。
【0029】
(D−1)Webブラウザ1−1が要求したコンテンツデータがプロキシサーバ1−2のキャッシュ1−21に存在せず、プロキシサーバ1−2が差分転送を行った場合であって、Webブラウザ1−1のキャッシュ1−11にで当該差分からのコンテンツデータの合成に必要な差分元データが存在する場合(差分転送の場合)。
【0030】
データ及びコマンドの流れは図6のようになる。(1)Webブラウザ1−1はプロキシサーバ1−2にアクセスしてコンテンツデータを要求するためのリクエストメッセージを送信する。(2)プロキシサーバ1−2はリクエストメッセージをWebサーバ1−3に転送する。(3)Webサーバ1−3はリクエストメッセージに応じてコンテンツデータを出力する。(4)プロキシサーバ1−2はコンテンツデータのFP値を計算し、FP値とURLとコンテンツデータとを関連付けてキャッシュ1−21に登録する。(5)プロキシサーバ1−2はキャッシュ1−21から差分転送に用いる差分元データ及び差分元FP値を読み出す。(6)プロキシサーバ1−2はコンテンツデータと差分元データの差分である差分データと差分元FP値とFP値をWebブラウザ1−1に送信する。(7)Webブラウザ1−1はキャッシュ1−11から差分元FP値に対応する差分元データを読み出す。(8)Webブラウザ1−1は差分元データと差分データからコンテンツデータを合成し、キャッシュ1−1にFP値とコンテンツデータを関連付けて登録する。
【0031】
(D−2)Webブラウザ1−1が要求したコンテンツデータがプロキシサーバ1−2のキャッシュ1−21に存在せず、プロキシサーバ1−2が差分転送を行った場合であって、Webブラウザ1−1のキャッシュ1−11に当該差分からのコンテンツデータの合成に必要な差分元データが存在しない場合(差分転送で、再リクエストを行う場合)。
【0032】
データ及びコマンドの流れは図7のようになる。(1)〜(6)は(D−1)と同じ処理を行う。(7)Webブラウザ1−1はプロキシサーバ1−2に再リクエストメッセージを送信して、差分元データのうちキャッシュ1−11に存在しないものを要求する。(8)Webブラウザ1−1はキャッシュ1−1に、再リクエストメッセージによって得られた差分元データと差分元FP値を関連付けて登録する。(9)Webブラウザ1−1は差分元データと差分データからコンテンツデータを合成し、キャッシュ1−1にFP値とコンテンツデータを関連付けて登録する。
【0033】
(Webブラウザの構成)図8は本実施形態のWebブラウザ1−1の構成を説明する図である。Webブラウザ1−1は、HTML(Hyper TextMarkup Language)等の解釈、画面の描画・表示、Webサーバ1−1やプロキシサーバ1−2との通信、ユーザからのリクエスト受け付け等を行うブラウザコアエンジン部2−1と、ブラウザの機能を拡張するプラグイン部200と、プラグイン部200に組み込まれ、FPキャッシュ処理を行うFPキャッシュ処理エンジン2−2と、URLとコンテンツデータを関連付けて記憶するキャッシュ201と、受信したコンテンツデータの一時記憶を行うメモリ202を備える。
【0034】
ブラウザコアエンジン部2−1は一般のブラウザに実装されている機能を提供する。具体的には、ユーザからのリクエストに応じて、URLを利用してキャッシュ201の探索を行ったり、プロキシサーバ1−2へのアクセスを行う。また、キャッシュ201から読み出したコンテンツデータの解析・表示やプロキシサーバ1−2から受け取ったリプライメッセージからリプライデータを抽出してメモリ202に記憶し、解析・表示等を行う。キャッシュ201は一般のブラウザに実装されているもので、URLとコンテンツデータを関連付けて記憶している。
【0035】
FPキャッシュ処理エンジン2−2はFP値を利用したキャッシュ処理を行う。FPキャッシュ処理エンジン2−2の詳細な構成を図9で説明する。FPキャッシュ処理エンジン2−2はWebブラウザ1−1のブラウザコアエンジン部2−1から受け取ったメモリアドレスを用いてメモリ202からリプライデータを読み出す入力部3−1と、リプライデータを解析してFP値からコンテンツデータを合成する必要の有無を判定する解析部3−2と、リプライデータからコンテンツデータとFP値とを抽出して関連付けて記憶しておくFPキャッシュ領域3−3と、コンテンツデータとFP値をFPキャッシュ領域3−3へ登録する登録部3−4とを有する。このFPキャッシュ領域3−3は前述のキャッシュ1−11に相当するものである。また、本実施形態では、FPキャッシュ領域3−3は前述のキャッシュ201と別のものである。
【0036】
さらに、解析部3−2で合成の必要が有ると判定された場合に、FP値からコンテンツデータの合成を行う合成部3−5と、合成部3−5からの要求に応じてプロキシサーバ1−2からコンテンツデータや差分元データを取得する再リクエスト生成部3−6と、最終的にコンテンツデータをメモリ202に出力する出力部3−7とを有する。
【0037】
入力部3−1はブラウザコアエンジン部2−1から受け取ったアドレスに基づいてメモリ202からリプライデータを読み出して解析部3−2に出力する。
【0038】
解析部3−2ではリプライデータに含まれるモード情報に基づいて処理方針を決定する。モード情報には後述するように通常の転送(Mode: None)、圧縮転送(Mode: Compress)、差分転送(Mode: Differential)の3つのいずれかが設定されていて、モードが通常の転送の場合はリプライデータを登録部3−4へ出力し、圧縮転送及び差分転送の場合はリプライデータを合成部3−5へ出力する。
【0039】
登録部3−4ではリプライデータからコンテンツデータを抽出してFP値と関連付けてFPキャッシュ領域3−3に登録する。
【0040】
合成部3−5ではFP値を利用してコンテンツデータの合成を行う。圧縮転送ならばFP値に対応するコンテンツデータをFPキャッシュ領域3−3内で探索する。FPキャッシュ領域3−3内に存在しない場合はFP値を再リクエスト生成部3−6に出力してプロキシサーバ1−2からコンテンツデータを取得させる。そして、FPキャッシュ領域3−3あるいはプロキシサーバ1−2から得たコンテンツデータをリプライデータに書き込んで、登録部3−4へ出力する。
【0041】
差分転送ならば、差分元FP値に対応する差分元データをFPキャッシュ領域3−3内で探索する。FPキャッシュ領域3−3内に存在しない場合は差分元FP値を再リクエスト生成部3−6に出力してプロキシサーバ1−2から差分元データを取得させる。そして、FPキャッシュ領域3−3あるいはプロキシサーバ1−2から得た差分元データとリプライデータに含まれる差分データからコンテンツデータを合成し、合成したコンテンツデータをリプライデータに書き込んで、登録部3−4へ出力する。
【0042】
再リクエスト生成部3−6はプロキシサーバ1−2にアクセスして合成部3−5から受け取ったFP値や差分元FP値に対応するコンテンツデータや差分元データを取得する。再リクエスト生成部3−6はブラウザコアエンジン部2−1を介さずにプロキシサーバ1−2にアクセスして直接HTTPプロトコルで通信を行う。この時、HTTPプロトコルのコマンドと一緒にFP値と再リクエストであることを表すパラメータを送信して、プロキシサーバ1−2に通常のリクエストと異なることを通知する。具体的には、HTTPプロトコルのリクエストにFP値や再リクエストであることを表すヘッダを付加する。
【0043】
プラグイン部200は、ブラウザコアエンジン部2−1の機能を拡張するために用意されている。プラグイン部200を実装しているWebブラウザ1−1の例としては、Netscape(R) Navigator、Netscape(R) Communicator、Microsoft Internet Explorer(R)等がある。これらのWebブラウザは、ソフトウエアで提供されるプラグインを組み込むことにより元々持っていない処理を行うことができるようになる。例えば、Webブラウザ内において動画再生ソフト等の特定のアプリケーションを起動させて制御することが可能となる。本実施形態では、FPキャッシュ処理エンジン2−2をソフトウエアの形で提供して、プラグイン部200に組み込んで動作させる。
【0044】
ブラウザコアエンジン部2−1はユーザからのリクエスト等に応じて、コンテンツデータの取得を行う。まず、URLを利用してキャッシュ201の探索を行う。キャッシュ201内に目的のコンテンツデータが存在する場合はそれを用いる。存在しない場合は、プロキシサーバ1−2へアクセスして目的とするコンテンツデータを含むリプライデータ取得してメモリ202に記憶させておく。
【0045】
ブラウザコアエンジン部2−1は取得したコンテンツデータやリプライデータを解析し、プラグインが必要な場合は解析を中断してプラグインを起動する。プラグインの起動時にはメモリ202に記憶させたコンテンツデータやリプライデータのアドレスを出力する。そして、プラグインの処理が終わったら、コンテンツデータの解析を再開して表示等を行う。
【0046】
FPキャッシュ処理エンジン2−2は他のプラグインと同様にブラウザコアエンジン部2−1から起動される。起動時にブラウザコアエンジン部2−1からメモリ202で記憶しているリプライデータのアドレスを受け取り、リプライデータに対してFP値によるキャッシュ処理を行ってブラウザコアエンジン部2−1に出力する。
【0047】
(プロキシサーバの構成)図10は本実施形態のプロキシサーバ1−3の構成を説明する図である。プロキシサーバ1−3は、Webブラウザ1−1からのリクエストメッセージを受け付けるリクエスト受信部4−1と、Webブラウザ1−1からのリクエストメッセージを解析してキャッシュとの照合を行う解析部4−2と、Webサーバ1−3へリクエストメッセージを転送するリクエスト送信部4−4と、FP値とURLとコンテンツデータを関連付けて記憶しておくキャッシュ領域4−3とを有する。このキャッシュ領域4−3は前述のキャッシュ1−21に相当するものである。
【0048】
さらに、Webサーバ1−3からの応答及びコンテンツデータを受信するリプライ受信部4−5と、受信したコンテンツデータがFPキャッシュ処理すべきものかを判定するFP判定部4−6と、受信したコンテンツデータのFP値を計算するFP計算部4−8と、FP値に基づいてキャッシュ領域4−3内を探索するFP管理部4−7とを有する。そして、コンテンツデータに所定の情報を付加してリプライデータを生成するリプライ生成部4−9と、Webブラウザ1−1へリプライデータを含むリプライメッセージを送信するリプライ送信部4−10を有する。
【0049】
リクエスト受信部4−1はWebブラウザ1−1からのHTTPプロトコルによるリクエストメッセージを受け付ける。
【0050】
解析部4−2は受け付けたリクエストメッセージを解析する。そして、上述の(B)の場合のように、Webブラウザ1−1からのリクエストメッセージに含まれるURLに対応するコンテンツデータが、キャッシュ領域4−3に存在する場合はキャッシュ領域4−3からコンテンツデータと対応付けられたFP値を読み出してリプライ生成部4−9へ出力する。尚、URLに対応するコンテンツデータが存在しない場合はリクエストメッセージをリクエスト送信部4−4へ出力する。
【0051】
また、Webブラウザ1−1から前述の(C−2)や(D−2)の場合の様に再リクエストメッセージが送信されてきた場合は、対応するコンテンツデータをキャッシュ領域4−3から読み出して、再リクエストメッセージに対する動作である旨の通知とともにリプライ生成部4−9へ出力する。
【0052】
キャッシュ領域4−3はプロキシサーバ1−2がWebサーバ1−3から取得したコンテンツデータと、このコンテンツデータについて計算したFP値と、このコンテンツデータのURLを関連付けて記憶している。FP値の性質上一つのコンテンツデータに対して対応するFP値は原則として一つである。URLは一つのデータに対して複数個存在していても良い。図11はキャッシュ領域4−3が記憶するデータの例で、URLと、コンテンツデータ全体のFP値と、コンテンツデータ各行のFP値をセットで記憶する。
【0053】
リクエスト送信部4−4はWebブラウザ1−1からのリクエストメッセージをWebサーバ1−3に転送する。そして、リプライ受信部4−5はWebブラウザ1−1からのコンテンツデータを受信する。
【0054】
FP判定部4−6はWebブラウザ1−1から受信したコンテンツデータの形式がFPに対応しているか否かを判別する。本実施形態では、FPに対応しないデータ形式には、画像データやストリームデータ等がある。FP判定部4−6は、コンテンツデータがFPに対応していない形式である場合は、そのままリプライ送信部4−10へ出力する。
【0055】
FP管理部4−7は、受け取ったコンテンツデータのFP値をFP計算部4−8に計算させる。そして、得られたFP値を用いてキャッシュ領域4−3内で同じFP値を持つコンテンツデータを探索する。同じFP値を持つコンテンツデータが見つからなかった場合はFP値とコンテンツデータとを関連付けてキャッシュ領域4−3に登録するとともに、差分転送が可能かを調べ、差分転送が可能な場合は差分データの計算を行う。
【0056】
差分転送を行うか否かの判断は、受け取ったコンテンツデータと類似するコンテンツデータがキャッシュ領域4−3に存在するかで判断する。類似性の判断は、受け取ったコンテンツデータとキャッシュ領域4−3に記憶されたコンテンツデータとを行単位で比較する。前述の通り、キャッシュ領域4−3に記憶されているコンテンツデータは各行のFP値と共に記憶されているので、受け取ったコンテンツデータの各行のFP値と比較して、FP値が所定の行数以上一致する場合は類似性が高いと判断して差分転送を行う。
【0057】
FP計算部4−8はFP管理部4−7から与えられたコンテンツデータのFP値を計算する。FP値の計算は、電子署名などに使われるMD−5やSHA−1等のハッシュ関数を用いて行う。これらのハッシュ関数は、任意のデータをMD−5を用いた場合は128ビットのハッシュ値に、SHA−1を用いた場合は160ビットのハッシュ値に変換する性質を持つ。また、これらのハッシュ関数は、2つのデータX、Yが与えられた時XとYが同一データならばXに対するハッシュ値H(X)とYに対するハッシュ値H(Y)は等しくなるが、XとYが異なるデータならば、極めて高い確率でH(X)とH(Y)は異なる値になる。原理的には異なるデータに対してハッシュ値が同一になる場合が有り得るが、その可能性は極めて低い確率である。従って、有意なデータ同士かつ同一のハッシュ値をとる可能性は実用上無視できる。尚、FP値の計算にはハッシュ関数に限らず、例えば圧縮アルゴリズム等を用いても構わない。
【0058】
リプライ生成部4−9はリプライ送信部4−10がWebブラウザ1−1へ送信するリプライメッセージを生成する。
【0059】
尚、本実施形態ではFP判定部4−6でコンテンツデータがFPに対応した形式と判定された場合のみFP管理部4−8でFP値が計算されるが、FP値を計算してから判定を行うようにしても構わない。
【0060】
(プロキシサーバがWebブラウザへ送信するリプライメッセージの構成)図12(a)はリプライ生成部で生成されるリプライメッセージの構成の概略を説明する図である。リプライ生成部4−9はHTTPプロトコルに基づいて、ヘッダ部5−1とボディ部5−2とを有するリプライメッセージを生成する。ボディ部5−2はプロキシサーバ1−2で生成されたリプライデータで、FPキャッシュ処理エンジンダウンロード命令5−21と、FPキャッシュ処理エンジン呼出命令5−22と、フィンガープリント部5−23と、コンテンツデータ部5−24とを含んで構成されている。
【0061】
ヘッダ部5−1は図13のように、リクエストに対するステータス、データ形式等の情報を含んでいる。このフォーマットはHTTPプロトコルの標準的なものである。
【0062】
FPキャッシュ処理エンジンダウンロード命令5−21は、Webブラウザ1−1がFPキャッシュ処理エンジン2−2を持っていない場合に、Webブラウザ1−1にダウンロードさせてプラグイン部200に組み込ませるための命令を含む。従って、Webブラウザ1−1が既にFPキャッシュ処理エンジン2−2を持っている場合はFPキャッシュ処理エンジンダウンロード命令5−21は特に何もしない。
【0063】
FPキャッシュ処理エンジン呼出命令5−22はWebブラウザ1−1のプラグイン部200に組み込まれたFPキャッシュ処理エンジン2−2を呼び出してFP値を用いたキャッシュ機能を作動させるための命令を含む。
【0064】
FPキャッシュ処理エンジンダウンロード命令5−21及びFPキャッシュ処理エンジン呼出命令5−22はブラウザコアエンジン部2−1がリプライデータを解析する際に実行される。
【0065】
フィンガープリント部5−23はFP計算部4−8で計算されたFP値と現在の転送モード(差分転送、FPキャッシュを利用した圧縮転送、キャッシュを利用しない通常の転送)を表す識別子を含む。差分転送を行う場合、差分データもここに含まれる。
【0066】
コンテンツデータ部5−24はWebサーバ1−3から得た、あるいはキャッシュ領域4−3から読み出したコンテンツデータである。
【0067】
ボディ部5−2の構成の具体例として図14のような構成が挙げられる。この構成ではコンテンツデータ部5−24がHTML形式で、FPキャッシュ処理エンジンダウンロード命令5−21、FPキャッシュ処理エンジン呼出命令5−22そしてフィンガープリント部5−23はコンテンツデータ部5−24の中に埋め込まれた形になっている。また、Webブラウザ1−1としてMicrosoft Internet Explorer(R)を用いている場合に有効な命令を使用している。
【0068】
FPキャッシュ処理エンジンダウンロード命令5−21はHTMLの<OBJECT>タグを用いて記述される。このタグは画像、音声、動画、アプリケーション等の様々なオブジェクトを他のファイルから挿入するために使うものである。Webブラウザ1−1のブラウザコアエンジン部2−1はHTMLファイルを解析してこのタグを見つけると、指定されているファイルをダウンロードして、自動的に実行する。
【0069】
本実施形態においては<OBJECT>タグ10−1内のパラメータ10−2でFPキャッシュ処理エンジン2−2のActiveX(R)コントロールのファイルを指定している。Webブラウザ1−1は、指定されたファイルが未インストールの場合はhttp://www.toshiba.co.jp/ClientProxy.cabからダウンロードしてインストールを行う。このファイルはプロキシサーバ1−2と同じサーバ上に存在しても良いし、プロキシサーバ1−2とは別の場所に存在していても構わない。
【0070】
FPキャッシュ処理エンジン呼出命令5−22はHTMLの<SCRIPT>タグ10−3で指定された領域に記述されたスクリプト言語で記述される。Webブラウザ1−1はHTMLファイル中で、<SCRIPT>と</SCRIPT>の間に記述された内容をスクリプト言語の命令として解釈する。
【0071】
本実施形態においては、FPキャッシュ処理エンジン呼出命令5−22はMicrosoft(R)社のJScriptを用いて記述されていて、命令10−4がこれに相当する。命令10−4が実行されることで、FPキャッシュ処理エンジン2−2は動作を開始し、同時にボディ部5−2を記憶しているメモリアドレスも通知される。
【0072】
フィンガープリント部5−23は、FP値10−5のようにFPキャッシュ処理エンジン呼出命令5−22の直後に埋め込まれる。さらに、転送モード情報も埋め込まれ、差分転送を行っているのか(Mode: Differential)、FP値による圧縮転送なのか(Mode: Compress)、あるいはキャッシュを用いない通常の転送(Mode: None)なのかをFPキャッシュ処理エンジンに識別させる。差分転送を行っている場合はFP値と共に差分データも埋め込まれる。図15は差分転送を行っている場合のフィンガープリント部5−23の一例である。フィンガープリント部5−23はFP値1011と差分データ1012とを有し、差分データ1012は通常のデータ「明日の予定は<BR>」や「8:10到着<BR>」等と共に差分元FP値1013、1014、1015を含んでいる。
【0073】
差分元FP値の構成を図16で説明する。差分元FP値は、差分元FP値による挿入行であることを示す識別子1021と、差分元データの引用すべき行を示す引用行指示子1022と、差分元データのFP値1023とを含む。図16の例だと、FP値「01defghijmno23kl4567890abcpqrstu」を持つデータの「1行目から5行目(L1−L5)」を引用することを示している。FPキャッシュ処理エンジン2−2において、この行が解釈されて適切なデータが挿入される。
【0074】
尚、ここではMicrosoft Internet Explorer(R)で有効な例を紹介したが、HTMLファイル中で使えるJavaScript(R)等の他のスクリプト言語を用いても同様な実装が可能である。
【0075】
以上の説明はWebブラウザ1−1のブラウザコアエンジン部2−1からのリクエストに対するリプライメッセージのものである。リプライ生成部4−9は解析部4−2から再リクエストメッセージに対する動作である旨の通知があった場合は、FPキャッシュ処理エンジン2−2の再リクエスト生成部3−6からの再リクエストに対するリプライメッセージであるので、上述のFPキャッシュ処理エンジンダウンロード命令5−21やFPキャッシュ処理エンジン呼出命令5−22は不要である。よって、図12(b)のようにボディ部5−2に差分元FP値5−31と差分元データ5−32をセットしたリプライメッセージを生成する。
【0076】
(Webブラウザの動作)Webブラウザ1−1のブラウザコアエンジン部2−1はユーザのリクエストによりプロキシサーバ1−2へリクエストメッセージを送信し、それに対してプロキシサーバ1−2は上述の通りコンテンツデータにFP値やFPキャッシュ処理エンジン2−2関連の命令を埋め込んでリプライデータを生成してリプライメッセージを返す。
【0077】
図17はブラウザコアエンジン部2−1の動作のうちプロキシサーバ1−2からリプライメッセージを受けた後の動作を説明するフローチャートである。
【0078】
ブラウザコアエンジン部2−1はプロキシサーバ1−2から、リプライメッセージを受信し、リプライメッセージのボディ部5−2をメモリ202に記憶させる。図14に示すように、ボディ部5−2にはFPキャッシュ処理エンジンダウンロード命令5−21と、FPキャッシュ処理エンジン呼出命令5−22と、フィンガープリント部5−23と、コンテンツデータ部5−24とが含まれている。そして、ブラウザコアエンジン部2−1はボディ部5−2の解析を始める(ステップ8−1)。
【0079】
まず、FPキャッシュ処理エンジンダウンロード命令5−21を実行する必要があるか否か、すなわち、Webブラウザ1−1のプラグイン部200に、FPキャッシュ処理エンジン2−2が組み込まれているかをチェックする(ステップ8−2)。組み込まれていなければダウンロードして組み込み(ステップ8−4)、組み込みが完了したらリプライデータの解析を再開して、図示しない画面に解析結果を表示する(ステップ8−5)。
【0080】
組み込み済みならば、FPキャッシュ処理エンジン呼出命令5−22を実行して、プラグインであるFPキャッシュ処理エンジン2−2による処理を行わせる(ステップ8−3)。そして、FPキャッシュ処理エンジン2−2の処理が完了したら、リプライデータ解析を再開して、図示しない画面に解析結果を表示する(ステップ8−5)。
【0081】
次に、FPキャッシュ処理エンジン2−2の動作を図18を用いて説明する。
【0082】
ブラウザコアエンジン部2−1がFPキャッシュ処理エンジン呼出命令5−22を実行することで、FPキャッシュ処理エンジン2−2はボディ部(リプライデータ)5−2を格納したメモリ202のアドレスを受け取って処理を開始する。FPキャッシュ処理エンジン2−2は、メモリ202からボディ部5−2を読み出して、フィンガープリント部5−23のモード情報を調べる(ステップ9−1)。
【0083】
転送モードが通常の転送(Mode: None)の場合は、コンテンツデータ部5−24の内容とフィンガープリント部5−23のFP値をFPキャッシュ領域3−3に登録する(ステップ9−2)。そして、FPキャッシュ処理エンジン2−2の処理を終える。
【0084】
転送モードがFP値を用いた圧縮転送(Mode: Compress)の場合は、フィンガープリント部5−23のFP値を用いてFPキャッシュ領域3−3内で同じFP値を持つコンテンツデータを探索する(ステップ9−3)。FPキャッシュ領域3−3内に同じFP値を持つコンテンツデータが存在した場合は、メモリ202にFPキャッシュ領域3−3で見つかったコンテンツデータを出力する(ステップ9−4)。
【0085】
FPキャッシュ領域3−3内に同じFP値を持つコンテンツデータが存在しない場合は、FPキャッシュ処理エンジン2−2はプロキシサーバ1−2に再リクエストメッセージを送信してコンテンツデータを取得する(ステップ9−5)。そして、取得したコンテンツデータをFP値とともにFPキャッシュ領域3−3に登録し(ステップ9−6)、ステップ9−4を実行してメモリ202にコンテンツデータを記憶させる。そして、FPキャッシュ処理エンジン2−2の処理を終える。
【0086】
一方、転送モードが差分転送(Mode: Differential)の場合は、差分転送を行っているので、FPキャッシュ領域3−3内で差分元FP値に対応するコンテンツデータである差分元データを探索する。差分転送の場合は差分元FP値を複数持つ場合もあるので、全ての差分元FP値について探索を行う(ステップ9−7)。
【0087】
一つでも差分元FPに対応する差分元データが存在しない場合は、FPキャッシュ処理エンジン2−2はプロキシサーバ1−2に再リクエストメッセージを送信して必要な差分元データを取得する(ステップ9−8)。そして、全ての差分元データが揃ったら、差分元データと差分データを用いてコンテンツデータを合成する(ステップ9−9)。
【0088】
ステップ9−6を実行して合成したコンテンツデータとFP値を関連付けてFPキャッシュ領域3−3に登録するとともに、ステップ9−4を実行して合成したコンテンツデータをメモリ202に出力してボディ部502のコンテンツデータ部5−24として記憶させる。そして、FPキャッシュ処理エンジン2−2の処理を終える。
【0089】
(プロキシサーバの動作)図19はWebブラウザ1−1からリクエストメッセージを受けた際のプロキシサーバ1−2の動作を説明するフローチャートである。
【0090】
プロキシサーバ1−2はWebブラウザ1−1から受信したリクエストメッセージを解析してURL等の情報を抽出する(ステップ6−1)。そして、URLに基づいてキャッシュ領域4−3内にそのURLに該当するコンテンツデータが存在するかを探索する(ステップ6−2)。
【0091】
キャッシュ領域4−3にコンテンツデータが存在した場合は、該当するコンテンツデータとFP値をキャッシュ領域4−3から読み出してリプライデータを生成し、Webブラウザ1−1へ送信する(ステップ6−3)。
【0092】
キャッシュ領域4−3にコンテンツデータが存在しない場合は、リクエストメッセージをWebサーバ1−3に転送して該当するコンテンツデータの取得を行う(ステップ6−4)。そして、Webサーバ1−3からのリプライに含まれるコンテンツデータについてキャッシュ等の処理を行う(ステップ6−5)。
【0093】
図20はプロキシサーバ1−2がWebサーバ1−3からリプライ受信して、キャッシュ処理及びWebブラウザ1−1へのリプライメッセージのボディ部(リプライデータ)の生成処理を行う際の動作を説明するフローチャートである。
【0094】
Webサーバ1−3からのリプライを受信し、コンテンツデータを抽出する(ステップ7−1)。抽出したコンテンツデータがFPキャッシュ対象データかを調べる(ステップ7−2)。
【0095】
画像やストリームデータ等、FPキャッシュの対象外のコンテンツデータの場合は、FPキャッシュ処理を行わずにそのままリプライデータとして送信する(ステップ7−11)。
【0096】
FPキャッシュ対象データの場合はコンテンツデータのFP値を計算する(ステップ7−3)。そして、FP値をもとにキャッシュ領域4−3を探索して、同じFP値を持つコンテンツデータを探す(ステップ7−4)。
【0097】
同一FP値を持つコンテンツデータが存在する場合は、Webブラウザ1−1にはコンテンツデータの代わりにFP値だけを送信するので、コンテンツデータのFP値と圧縮転送を行うことを示す転送モード情報(Mode: Compress)をボディ部5−2のフィンガープリント部5−23にセットする(ステップ7−5)。そしてFPキャッシュダウンロード命令5−21とFPキャッシュ処理エンジン呼出命令5−22をセットする(ステップ7−10)。
【0098】
同一FP値を持つコンテンツデータが存在しない場合は、キャッシュ領域4−3にコンテンツデータとFP値とURLを関連付けて登録する(ステップ7−6)。さらに、差分圧縮が可能かをチェックするため、FPキャッシュ領域内のデータと行単位でのFP値比較を行う(ステップ7−7)。
【0099】
差分圧縮が可能な場合、すなわち所定の閾値以上の類似度を持つ差分元データが存在する場合は、コンテンツデータと差分元データの差分データを生成し、ボディ部5−2のフィンガープリント部5−23に、差分データと差分元データのFP値をセットする。
【0100】
差分圧縮ができない場合は、ボディ部5−2のコンテンツデータ部5−24にコンテンツデータをセットする。
【0101】
そして、コンテンツデータのFP値と転送モード情報(差分圧縮ならば「Mode: Differential」、差分圧縮しない場合は「Mode: None」)をボディ部5−2のフィンガープリント部5−23にセットして(ステップ7−5)、ボディ部5−2のFPキャッシュダウンロード命令5−21とFPキャッシュ処理エンジン呼出命令5−22をそれぞれセットする(ステップ7−10)。
【0102】
(プロキシサーバがWebブラウザへ送信するリプライメッセージの別の構成例)図21はリプライ生成部で生成されるリプライメッセージの別の構成例の概略を説明する図である。リプライ生成部4−9はHTTPプロトコルに基づいて、ヘッダ部21−1とボディ部21−2とを有するリプライメッセージを生成する。
【0103】
ボディ部21−2はプロキシサーバ1−2で生成されたリプライデータで、FPキャッシュ処理エンジンダウンロード命令21−21と、FPキャッシュ処理エンジン呼出命令21−22と、コンテンツデータ21−23とを含んで構成されている。
【0104】
ヘッダ部22−1及びFPキャッシュ処理エンジンダウンロード命令21−21は前述のヘッダ部5−1及びFPキャッシュ処理エンジンダウンロード命令5−21と同じであるので説明を省略する。
【0105】
FPキャッシュ処理エンジン呼出命令21−22はWebブラウザ1−1のプラグイン部200に組み込まれたFPキャッシュ処理エンジン2−2を呼び出してFP値を用いたキャッシュ機能を作動させるための命令のほかに、FP値21−60と、モード情報21−61とを含む。FP値21−60とモード情報21−61はFPキャッシュ処理エンジン呼出命令21−22の一部として埋め込まれる。
【0106】
コンテンツデータ21−23には転送モードが通常転送の場合はコンテンツデータが含まれ、差分転送の場合は差分データが含まれ、圧縮転送の場合は空になる。
【0107】
FPキャッシュ処理エンジンダウンロード命令21−21及びFPキャッシュ処理エンジン呼出命令21−22はブラウザコアエンジン部2−1がリプライデータを解析する際に実行される。
【0108】
FP値21−60にはFP計算部4−8で計算されたFP値が含まれる。そしてモード情報21−61には現在の転送モード(差分転送、圧縮転送、通常の転送)を表す情報が含まれる。
【0109】
ボディ部21−2の構成の具体例として図22のような構成が挙げられる。この構成ではボディ部21−2がHTML形式で、FPキャッシュ処理エンジンダウンロード命令21−21とFPキャッシュ処理エンジン呼出命令21−22とコンテンツデータ21−23とが埋め込まれた構成になっている。
【0110】
FPキャッシュ処理エンジン呼出命令21−22は前述の5−22と同様、<SCRIPT>タグから</SCRIPT>タグまでの部分である。
【0111】
コンテンツデータ21−23は<COMMENT ID=”MDATA”>タグと</COMMENT>タグの間に埋め込まれる。この「ID=”MDATA”」はFPキャッシュ処理エンジン呼出命令21−22から、コンテンツデータを参照するための識別子になっている。
【0112】
ブラウザコアエンジン部2−1でFPキャッシュ処理エンジン呼出命令21−22を実行した際の処理の流れを説明する。まず、命令22−1でFPキャッシュ処理エンジン2−2を呼出して、mcspというオブジェクト名を割り当てている。次に、命令22−2はFP値を変数fpにセットする命令である。命令22−3は上述の<COMMENT ID=”MDATA”>タグと</COMMENT>タグの間に埋め込まれたコンテンツデータの内容を変数contentsにセットする命令である。
【0113】
命令22−4のmcsp.regFPというのは、mcspというオブジェクトのregFPというメソッドを実行させる命令である。FPキャッシュ処理エンジン2−2は3つの転送モードに応じた3つのメソッドを持ち、圧縮転送の場合はuncompress、差分転送の場合はmakeData、通常の転送の場合はregFPを実行することで、それぞれの転送モードに対応した処理を行うことができる。命令22−1で生成したオブジェクトmcspもこれら3つのメソッドを持つ。
【0114】
3つのメソッドについて説明する。まず、圧縮転送の場合に用いるuncompressメソッドは引数としてFP値を取り、FP値に該当するコンテンツデータをFPキャッシュ領域3−3から抽出して返り値として返す。
【0115】
差分転送の場合に用いるmakeDataメソッドは引数としてFP値と差分データ(図15のように、差分元FP値を含んだもの)を取り、差分元FP値と差分データを用いてコンテンツデータを合成して、FPキャッシュ領域3−3にFP値とコンテンツデータを登録し、そしてコンテンツデータを返り値として返す。
【0116】
通常の転送の場合に用いるregFPメソッドは引数としてFP値とコンテンツデータを取り、FPキャッシュ領域3−3にFP値とコンテンツデータを登録してから、コンテンツデータを返り値として返す。
【0117】
命令22−4では、FPキャッシュ処理エンジン2−2の処理結果として得られるコンテンツデータを変数outputにセットし、この変数の値を命令22−5によってブラウザコアエンジン部2−1に出力する。
【0118】
命令22−4で呼び出すメソッドの種類は、リプライメッセージ生成部4−9が、プロキシサーバ1−2の解析部4−2あるいはFP管理部4−7が決めた転送モードに応じて、選択して生成したものである。従って、命令22−4で実行するメソッドの種類がモード情報21−62となっている。この構成ではWebブラウザ1−1側では転送モードを判別する必要がない。
【0119】
このようにFP値21−60及び転送モード情報21−61をFPキャッシュ処理エンジン呼出命令21−22に埋め込み、コンテンツデータ21−23及びここに含まれる差分データをFPキャッシュ処理エンジン呼出命令21−22から直接参照可能な構成にしておくことで、Webブラウザ1−1側でリプライメッセージからFP値とコンテンツデータ及び差分データを分離する処理が不要になるという利点がある。
【0120】
【発明の効果】
以上本発明によれば、サーバ側にプロキシサーバを設置し、クライアント側で汎用ブラウザを用いるだけで、クライアント側に別途プロキシサーバを用意することなく、フィンガープリント圧縮や差分圧縮によってネットワーク負荷を軽減させることができる。
【図面の簡単な説明】
【図1】 本発明の一実施形態のデータ転送装置を用いるシステムの構成を説明する図。
【図2】 本発明の一実施形態のシステムにおけるコマンドやデータの流れを説明する図。
【図3】 本発明の一実施形態のシステムにおけるコマンドやデータの流れを説明する図。
【図4】 本発明の一実施形態のシステムにおけるコマンドやデータの流れを説明する図。
【図5】 本発明の一実施形態のシステムにおけるコマンドやデータの流れを説明する図。
【図6】 本発明の一実施形態のシステムにおけるコマンドやデータの流れを説明する図。
【図7】 本発明の一実施形態のシステムにおけるコマンドやデータの流れを説明する図。
【図8】 本発明の一実施形態のシステムにおけるWebブラウザの構成を説明する図。
【図9】 本発明の一実施形態のシステムにおけるWebブラウザのFPキャッシュ処理エンジンの構成を説明する図。
【図10】 本発明の一実施形態のシステムにおけるプロキシサーバの構成を説明する図。
【図11】 本発明の一実施形態のシステムにおけるプロキシサーバのFPキャッシュ領域に登録されるデータの例を説明する図。
【図12】 (a)本発明の一実施形態のシステムにおいてプロキシサーバからWebブラウザへのリプライメッセージの構成の第1の例を説明する図。(b)本発明の一実施形態のシステムにおいて、Webブラウザから再リクエストメッセージを受けた場合の、プロキシサーバからWebサーバへのリプライメッセージの構成を説明する図。
【図13】 本発明の一実施形態のシステムにおいてプロキシサーバからWebブラウザへのリプライメッセージのヘッダ部の例を説明する図。
【図14】 本発明の一実施形態のシステムにおいてプロキシサーバからWebブラウザへのリプライメッセージのボディ部の第1の例を説明する図。
【図15】 本発明の一実施形態のシステムにおいてプロキシサーバが差分転送を行った場合のリプライメッセージのボディ部のフィンガープリント部の例を説明する図。
【図16】 本発明の一実施形態のシステムにおいてプロキシサーバが差分転送を行った場合のフィンガープリント部の差分元FP値の例を説明する図。
【図17】 本発明の一実施形態のシステムにおいてWebブラウザがプロキシサーバからリプライメッセージを受け取った後の処理を説明するフローチャート。
【図18】 本発明の一実施形態のシステムにおいてWebブラウザのFPキャッシュ処理エンジンの処理を説明するフローチャート。
【図19】 本発明の一実施形態のシステムにおいてプロキシサーバがWebブラウザからのリクエストを受け取った後の処理を説明するフローチャート。
【図20】 本発明の一実施形態のシステムにおいてプロキシサーバがWebサーバからのリプライを受け取った後の処理を説明するフローチャート。
【図21】 本発明の一実施形態のシステムにおいてプロキシサーバからWebブラウザへのリプライメッセージの構成の第2の例を説明する図。
【図22】 本発明の一実施形態のシステムにおいてプロキシサーバからWebブラウザへのリプライメッセージのボディ部の第2の例を説明する図。
【符号の説明】
1−1 Webブラウザ
1−2 プロキシサーバ
1−3 Webサーバ
1−11、1−12 キャッシュ
100 クライアント
110 Webサーバ側ネットワーク
111、112 サーバ
2−1 ブラウザコアエンジン部
2−2 FPキャッシュ処理エンジン
200 プラグイン部
201 キャッシュ領域
202 メモリ
3−1 入力部
3−2 解析部
3−3 FPキャッシュ領域
3−4 登録部
3−5 合成部
3−6 再リクエスト生成部
3−7 出力部
4−1 リクエスト受信部
4−2 解析部
4−3 キャッシュ領域
4−4 リクエスト送信部
4−5 リプライ受信部
4−6 FP判定部
4−7 FP管理部
4−8 FP計算部
4−9 リプライ生成部
4−10 リプライ送信部
1101 URL
1102 全体のFP値
1103 各行のFP値
1104 コンテンツデータ
5−1 ヘッダ部
5−2 ボディ部(リプライデータ)
5−21 FPキャッシュ処理エンジンダウンロード命令
5−22 FPキャッシュ処理エンジン呼出命令
5−23 フィンガープリント部
5−24 コンテンツデータ部
5−31 差分元FP値
5−32 差分元データ
10−1 <OBJECT>タグ
10−2 パラメータ
10−3 <SCRIPT>タグ
10−4 命令
10−5 FP値
1011 FP値
1012 差分データ
1013、1014、1015 差分元FP値
1021 識別子
1022 引用行指示子
1023 差分元データのFP値
21−1 ヘッダ部
21−2 ボディ部(リプライデータ)
21−21 FPキャッシュ処理エンジンダウンロード命令
21−22 FPキャッシュ処理エンジン呼出命令
21−23 コンテンツデータ
21−60 FP値
21−61 モード情報
22−1、22−2、22−3、22−4、22−5 命令
Claims (4)
- クライアントと、前記クライアントから送信されたコンテンツデータを取得するためのリクエストを受信しそのリクエストに応じたコンテンツデータを出力するサーバと、前記クライアントと前記サーバとの間で行われるデータ転送を仲介するデータ転送装置とを有するWebシステムであって、
前記データ転送装置は、
前記クライアントから前記リクエストを受信する受信部と、
前記受信部で受信した前記リクエストを、そのリクエストの宛先である前記サーバへ送信する送信部と、
前記サーバから前記リクエストに応じた前記コンテンツデータを前記受信部を介して受信した時に、前記コンテンツデータのFP(フィンガープリント)値を計算する計算部と、
前記計算部によって計算された前記FP値と、それに対応する前記コンテンツデータとが関連付けてキャッシュ記憶される記憶部と、
前記計算部で計算された前記FP値と同じ値のFP値が既に前記記憶部に記憶されているかどうかを判定する判定部と、
前記判定部によって前記同じ値のFP値が既に前記記憶部に記憶されていると判定された場合には前記クライアントへ前記FP値をレスポンスとして送信し、前記判定部によって前記同じ値のFP値が前記記憶部に記憶されていないと判定された場合には前記クライアントへ前記コンテンツデータと前記FP値とをレスポンスとして送信し、前記判定部によって前記同じ値のFP値が記憶されているかどうかが判定された後、前記クライアントへレスポンスを送信する際に、前記レスポンスに前記FPキャッシュ対応プログラムを自動的にダウンロードして組み込ませる命令を付加して送信する制御部と、
を有し、
前記クライアントは、
前記FPキャッシュ対応プログラムを持たない場合は、前記レスポンスに付加された前記命令を実行することによって前記FPキャッシュ対応プログラムが組み込まれ、
組み込まれたFPキャッシュ対応プログラムに従い、前記サーバから前記データ転送装置を介して受信する新たなコンテンツデータとそのFP値とを関連付けてキャッシュ記憶し、
レスポンスとしてコンテンツデータのFP値のみを受信した場合であって、前記キャッシュ記憶されているコンテンツデータのFP値とレスポンスとして受信したコンテンツデータのFP値とが等しい場合に、前記組み込まれたFPキャッシュ対応プログラムに従い、そのFP値と関連付けてキャッシュ記憶しているコンテンツデータを出力する
ことを特徴とするWebシステム。 - 前記データ転送装置は、
前記計算部で計算された前記FP値と同じ値のFP値が前記記憶部に記憶されていないと判定された場合に、前記判定部は更に受信した前記コンテンツデータとの類似度が閾値以上である差分元データが前記記憶部に存在するか否かを判定し、
前記制御部は前記差分元データが前記記憶部に存在すると判定された場合に、前記クライアントへ前記コンテンツデータと前記差分元データとの差分データと前記差分元データのFP値である差分元FP値とを前記レスポンスとして送信し、
前記クライアントは、
キャッシュ記憶しているコンテンツデータのFP値と前記レスポンスとして受信した前記差分元FP値とが等しい場合に、前記組み込まれたFPキャッシュ対応プログラムに従い、前記差分元データを取得するとともに、同時に受信した前記差分データと合成することを特徴とする請求項1に記載のWebシステム。 - クライアントと、前記クライアントから送信されたコンテンツデータを取得するためのリクエストを受信しそのリクエストに応じたコンテンツデータを出力するサーバと、前記クライアントと前記サーバとの間で行われるデータ転送を仲介するデータ転送装置とを有するWebシステムの制御方法であって、
前記データ転送装置は、
前記クライアントから前記リクエストを受信し、
前記受信した前記リクエストを、そのリクエストの宛先である前記サーバへ送信し、
前記サーバから前記リクエストに応じた前記コンテンツデータを受信した時に、前記コンテンツデータのFP(フィンガープリント)値を計算し、
前記計算された前記FP値とそれに対応するコンテンツデータとを関連付けて記憶部にキャッシュ記憶し、
前記計算された前記FP値と同じ値のFP値が既に前記記憶部に記憶されているかどうかを判定し、
前記FP値と同じ値のFP値が既に前記記憶部に記憶されていると判定された場合には前記FP値をレスポンスとして前記クライアントへ送信し、
前記FP値と同じ値のFP値が前記記憶部に記憶されていないと判定された場合には前記コンテンツデータと前記FP値とを前記レスポンスとして前記クライアントへ送信し、
前記判定部によって前記同じ値のFP値が記憶されているかどうかが判定された後、前記クライアントへレスポンスを送信する際に、前記レスポンスにFPキャッシュ対応プログラムを自動的にダウンロードさせて組み込ませる命令を付加して送信し、
前記FPキャッシュ対応プログラムを持たない前記クライアントは前記レスポンスに付加された前記命令を実行することによってFPキャッシュ対応プログラムを組み込み、
前記FPキャッシュ対応プログラムに従い、前記クライアントは新たに受信するコンテンツデータとそのFP値とを関連付けてキャッシュ記憶し、
前記クライアントは、レスポンスとしてコンテンツデータのFP値のみを受信した場合であって、キャッシュ記憶しているコンテンツデータのFP値と前記レスポンスとして受信したコンテンツデータのFP値とが等しい場合に、前記組み込まれたFPキャッシュ対応プログラムに従い、そのFP値と関連付けて記憶しているコンテンツデータを出力する
ことを特徴とするWebシステムの制御方法。 - 前記データ転送装置は、
前記計算された前記FP値と同じ値のFP値が前記記憶部に記憶されていないと判定された場合、更に前記受信した前記コンテンツデータとの類似度が閾値以上である差分元データが前記記憶部に存在するか否かを判定し、
前記類似度が閾値以上である前記差分元データが存在すると判定された場合には、前記コンテンツデータと前記差分元データとの差分データと前記差分元データの差分元FP値とを前記レスポンスとして前記クライアントへ送信し、
前記クライアントは、キャッシュ記憶しているコンテンツデータのFP値と前記レスポンスとして受信した前記差分元FP値とが等しい場合に、前記組み込まれたFPキャッシュ対応プログラムに従い、前記差分元データを取得するとともに受信した前記差分データと合成する
ことを特徴とする請求項3に記載のWebシステムの制御方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002084926A JP4020676B2 (ja) | 2002-03-26 | 2002-03-26 | Webシステム及びWebシステムの制御方法 |
US10/396,521 US7334023B2 (en) | 2002-03-26 | 2003-03-26 | Data transfer scheme for reducing network load using general purpose browser on client side |
US11/873,050 US20080183845A1 (en) | 2002-03-26 | 2007-10-16 | Data transfer scheme for reducing network load using general purpose browser on client side |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002084926A JP4020676B2 (ja) | 2002-03-26 | 2002-03-26 | Webシステム及びWebシステムの制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003281023A JP2003281023A (ja) | 2003-10-03 |
JP4020676B2 true JP4020676B2 (ja) | 2007-12-12 |
Family
ID=28449230
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002084926A Expired - Fee Related JP4020676B2 (ja) | 2002-03-26 | 2002-03-26 | Webシステム及びWebシステムの制御方法 |
Country Status (2)
Country | Link |
---|---|
US (2) | US7334023B2 (ja) |
JP (1) | JP4020676B2 (ja) |
Families Citing this family (41)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7072908B2 (en) * | 2001-03-26 | 2006-07-04 | Microsoft Corporation | Methods and systems for synchronizing visualizations with audio streams |
JP4020676B2 (ja) * | 2002-03-26 | 2007-12-12 | 株式会社東芝 | Webシステム及びWebシステムの制御方法 |
US8010670B2 (en) | 2003-12-23 | 2011-08-30 | Slipstream Data Inc. | Meta-data based method for local cache utilization |
US20060047855A1 (en) | 2004-05-13 | 2006-03-02 | Microsoft Corporation | Efficient chunking algorithm |
US7555531B2 (en) * | 2004-04-15 | 2009-06-30 | Microsoft Corporation | Efficient algorithm and protocol for remote differential compression |
US7613787B2 (en) * | 2004-09-24 | 2009-11-03 | Microsoft Corporation | Efficient algorithm for finding candidate objects for remote differential compression |
JP4549174B2 (ja) * | 2004-12-14 | 2010-09-22 | シャープ株式会社 | データ送信装置、データ受信装置、プログラムおよび記録媒体 |
US8073926B2 (en) * | 2005-01-07 | 2011-12-06 | Microsoft Corporation | Virtual machine image server |
US7849462B2 (en) * | 2005-01-07 | 2010-12-07 | Microsoft Corporation | Image server |
US20070094348A1 (en) * | 2005-01-07 | 2007-04-26 | Microsoft Corporation | BITS/RDC integration and BITS enhancements |
JP4745839B2 (ja) | 2005-01-28 | 2011-08-10 | 富士通株式会社 | データ転送システム、送信プログラム、受信プログラム及びデータ送信方法 |
US7620711B2 (en) * | 2005-03-18 | 2009-11-17 | Siemens Aktiengesellschaft | Method of using configuration files for configuring technical devices |
US8151323B2 (en) * | 2006-04-12 | 2012-04-03 | Citrix Systems, Inc. | Systems and methods for providing levels of access and action control via an SSL VPN appliance |
CA2989780C (en) * | 2006-09-14 | 2022-08-09 | Veveo, Inc. | Methods and systems for dynamically rearranging search results into hierarchically organized concept clusters |
US8533847B2 (en) * | 2007-05-24 | 2013-09-10 | Sandisk Il Ltd. | Apparatus and method for screening new data without impacting download speed |
JP4607936B2 (ja) * | 2007-10-31 | 2011-01-05 | 株式会社東芝 | データ転送方法及びデータ転送システム |
JP4607937B2 (ja) * | 2007-10-31 | 2011-01-05 | 株式会社東芝 | キャッシュ方法及びキャッシュ装置 |
US9020993B2 (en) | 2008-12-16 | 2015-04-28 | Sandisk Il Ltd. | Download management of discardable files |
US8375192B2 (en) | 2008-12-16 | 2013-02-12 | Sandisk Il Ltd. | Discardable files |
US9015209B2 (en) * | 2008-12-16 | 2015-04-21 | Sandisk Il Ltd. | Download management of discardable files |
US9104686B2 (en) | 2008-12-16 | 2015-08-11 | Sandisk Technologies Inc. | System and method for host management of discardable objects |
US8849856B2 (en) | 2008-12-16 | 2014-09-30 | Sandisk Il Ltd. | Discardable files |
US8205060B2 (en) | 2008-12-16 | 2012-06-19 | Sandisk Il Ltd. | Discardable files |
US20100211983A1 (en) * | 2009-02-19 | 2010-08-19 | Pixel8 Networks, Inc. | Virtual private content delivery network and method thereof |
US20100235473A1 (en) * | 2009-03-10 | 2010-09-16 | Sandisk Il Ltd. | System and method of embedding second content in first content |
US20100333155A1 (en) * | 2009-06-30 | 2010-12-30 | Philip David Royall | Selectively using local non-volatile storage in conjunction with transmission of content |
JP2011171983A (ja) * | 2010-02-18 | 2011-09-01 | Sony Corp | 情報処理装置、情報処理方法およびコンピュータ読み取り可能な記録媒体 |
US8549229B2 (en) | 2010-08-19 | 2013-10-01 | Sandisk Il Ltd. | Systems and methods for managing an upload of files in a shared cache storage system |
US8463802B2 (en) | 2010-08-19 | 2013-06-11 | Sandisk Il Ltd. | Card-based management of discardable files |
US20120198234A1 (en) * | 2011-01-31 | 2012-08-02 | Intuit Inc. | Method and apparatus for ensuring the integrity of a downloaded data set |
US8788849B2 (en) | 2011-02-28 | 2014-07-22 | Sandisk Technologies Inc. | Method and apparatus for protecting cached streams |
GB2505585B (en) * | 2011-04-27 | 2015-08-12 | Seven Networks Inc | Detecting and preserving state for satisfying application requests in a distributed proxy and cache system |
US9626450B2 (en) * | 2012-06-29 | 2017-04-18 | Dell Products L.P. | Flash redirection with browser calls caching |
US9354764B2 (en) | 2012-06-29 | 2016-05-31 | Dell Products L.P. | Playback of flash content at a client by redirecting execution of a script by a flash redirection plugin at a server to a flash redirection browser at the client |
EP3056996A4 (en) * | 2013-10-08 | 2017-06-28 | Sony Corporation | Server device, client device, information processing method, and recording medium |
FR3029666A1 (fr) * | 2014-12-04 | 2016-06-10 | Orange | Procede de gestion du droit d'acces a un contenu numerique |
US10684950B2 (en) | 2018-03-15 | 2020-06-16 | Bank Of America Corporation | System for triggering cross channel data caching |
US11265396B1 (en) * | 2020-10-01 | 2022-03-01 | Bank Of America Corporation | System for cross channel data caching for performing electronic activities |
US11778067B2 (en) | 2021-06-16 | 2023-10-03 | Bank Of America Corporation | System for triggering cross channel data caching on network nodes |
US12061547B2 (en) | 2022-06-25 | 2024-08-13 | Bank Of America Corporation | Systems and methods for dynamic management of stored cache data based on usage information |
US11880307B2 (en) | 2022-06-25 | 2024-01-23 | Bank Of America Corporation | Systems and methods for dynamic management of stored cache data based on predictive usage information |
Family Cites Families (34)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5804683A (en) * | 1992-05-14 | 1998-09-08 | Ribozyme Pharmaceuticals, Inc. | Deprotection of RNA with alkylamine |
JP3167484B2 (ja) | 1993-03-01 | 2001-05-21 | 富士通株式会社 | 送信側システム及び受信側システム並びにデータ転送処理システム |
US5838790A (en) * | 1996-04-19 | 1998-11-17 | Juno Online Services, L.P. | Advertisement authentication system in which advertisements are downloaded for off-line display |
US5864852A (en) * | 1996-04-26 | 1999-01-26 | Netscape Communications Corporation | Proxy server caching mechanism that provides a file directory structure and a mapping mechanism within the file directory structure |
US6061697A (en) * | 1996-09-11 | 2000-05-09 | Fujitsu Limited | SGML type document managing apparatus and managing method |
US5931904A (en) * | 1996-10-11 | 1999-08-03 | At&T Corp. | Method for reducing the delay between the time a data page is requested and the time the data page is displayed |
JP3102369B2 (ja) | 1997-01-31 | 2000-10-23 | 富士通株式会社 | データ処理装置 |
US6138162A (en) * | 1997-02-11 | 2000-10-24 | Pointcast, Inc. | Method and apparatus for configuring a client to redirect requests to a caching proxy server based on a category ID with the request |
US5909569A (en) | 1997-05-07 | 1999-06-01 | International Business Machines | Terminal emulator data stream differencing system |
US6119153A (en) * | 1998-04-27 | 2000-09-12 | Microsoft Corporation | Accessing content via installable data sources |
US6791580B1 (en) * | 1998-12-18 | 2004-09-14 | Tangis Corporation | Supplying notifications related to supply and consumption of user context data |
US6654741B1 (en) * | 1999-05-03 | 2003-11-25 | Microsoft Corporation | URL mapping methods and systems |
US6467026B2 (en) * | 1999-07-23 | 2002-10-15 | Hitachi, Ltd. | Web cache memory device and browser apparatus utilizing the same |
JP3565490B2 (ja) | 1999-11-09 | 2004-09-15 | インターナショナル・ビジネス・マシーンズ・コーポレーション | クライアントサーバシステム、サーバ、クライアント、プロキシサーバ制御方法、プロキシサーバ機能提供方法および記憶媒体 |
US7082454B1 (en) * | 1999-11-15 | 2006-07-25 | Trilogy Development Group, Inc. | Dynamic content caching framework |
US6804683B1 (en) * | 1999-11-25 | 2004-10-12 | Olympus Corporation | Similar image retrieving apparatus, three-dimensional image database apparatus and method for constructing three-dimensional image database |
US6564257B1 (en) * | 1999-12-09 | 2003-05-13 | International Business Machines Corporation | Repository protection by URL expiration |
JP2001184344A (ja) | 1999-12-21 | 2001-07-06 | Internatl Business Mach Corp <Ibm> | 情報処理システム、プロキシサーバ、ウェブページ表示制御方法、記憶媒体、及びプログラム伝送装置 |
US6934761B1 (en) * | 2000-02-25 | 2005-08-23 | Sun Microsystems, Inc. | User level web server cache control of in-kernel http cache |
US6952730B1 (en) * | 2000-06-30 | 2005-10-04 | Hewlett-Packard Development Company, L.P. | System and method for efficient filtering of data set addresses in a web crawler |
US7058700B1 (en) * | 2000-07-13 | 2006-06-06 | Oracle International Corporation | Delta caching |
US6826626B1 (en) * | 2000-07-21 | 2004-11-30 | Clear Blue Technologies Management, Inc. | Method of and apparatus for rapid retrieval of data in a content distribution network |
US7139747B1 (en) * | 2000-11-03 | 2006-11-21 | Hewlett-Packard Development Company, L.P. | System and method for distributed web crawling |
US7035911B2 (en) * | 2001-01-12 | 2006-04-25 | Epicrealm, Licensing Llc | Method and system for community data caching |
JP2002251313A (ja) * | 2001-02-23 | 2002-09-06 | Fujitsu Ltd | キャッシュサーバ及び分散キャッシュサーバシステム |
US7054912B2 (en) * | 2001-03-12 | 2006-05-30 | Kabushiki Kaisha Toshiba | Data transfer scheme using caching technique for reducing network load |
US6813690B1 (en) * | 2001-06-12 | 2004-11-02 | Network Appliance, Inc. | Caching media data using content-sensitive identifiers |
US6968396B1 (en) * | 2001-07-26 | 2005-11-22 | Openwave Systems Inc. | Reloading of hypermedia pages by sending only changes |
US20030028796A1 (en) * | 2001-07-31 | 2003-02-06 | Gracenote, Inc. | Multiple step identification of recordings |
US6766422B2 (en) * | 2001-09-27 | 2004-07-20 | Siemens Information And Communication Networks, Inc. | Method and system for web caching based on predictive usage |
US6985936B2 (en) * | 2001-09-27 | 2006-01-10 | International Business Machines Corporation | Addressing the name space mismatch between content servers and content caching systems |
JP4020676B2 (ja) * | 2002-03-26 | 2007-12-12 | 株式会社東芝 | Webシステム及びWebシステムの制御方法 |
US7080207B2 (en) * | 2002-04-30 | 2006-07-18 | Lsi Logic Corporation | Data storage apparatus, system and method including a cache descriptor having a field defining data in a cache block |
US7171469B2 (en) * | 2002-09-16 | 2007-01-30 | Network Appliance, Inc. | Apparatus and method for storing data in a proxy cache in a network |
-
2002
- 2002-03-26 JP JP2002084926A patent/JP4020676B2/ja not_active Expired - Fee Related
-
2003
- 2003-03-26 US US10/396,521 patent/US7334023B2/en not_active Expired - Fee Related
-
2007
- 2007-10-16 US US11/873,050 patent/US20080183845A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
US20030187960A1 (en) | 2003-10-02 |
JP2003281023A (ja) | 2003-10-03 |
US20080183845A1 (en) | 2008-07-31 |
US7334023B2 (en) | 2008-02-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4020676B2 (ja) | Webシステム及びWebシステムの制御方法 | |
US6785707B2 (en) | Enhanced multimedia mobile content delivery and message system using cache management | |
US9602613B2 (en) | Method and system for accelerating browsing sessions | |
US7636765B2 (en) | Data transfer scheme using caching technique for reducing network load | |
JP2000500259A (ja) | 動的に生成するカスタム化ページのサーバ独立キャッシュ方式の方法および装置 | |
US20020002451A1 (en) | Translating system and translating apparatus | |
EP1217538A1 (en) | Client capability detection in a client and server system | |
US20010042093A1 (en) | Information processing system capable of file transmission and information processing apparatus in the system | |
US20100218077A1 (en) | Modifying a markup language document which includes a clickable image | |
JP2003271441A (ja) | データ処理方法、これを用いたネットワークサービスシステム及びプログラム | |
JP2000222331A (ja) | インタ―ネットにより時刻および位置固有の広告を提供するためのシステム、方法、およびコンピュ―タ・プログラム製品 | |
US20020174174A1 (en) | System and method for monitoring execution time of a transaction | |
US20020133566A1 (en) | Enhanced multimedia mobile content delivery and message system using load balancing | |
JP2004258911A (ja) | サーバ、情報収集方法及びプログラム | |
US7143144B2 (en) | System, method and computer readable medium for certifying release of electronic information on an internet | |
CN110221871B (zh) | 网页获取方法、装置、计算机设备及存储介质 | |
JP3791900B2 (ja) | コンピュータ処理システムにおいてカスタマイズした情報を提供する方法とシステム | |
US7069297B2 (en) | Data transfer scheme using re-direct response message for reducing network load | |
US20030061337A1 (en) | Data transfer scheme using caching technique for reducing network load | |
US8606876B2 (en) | Method and system for accelerating data communication that is using multipart | |
JP3943868B2 (ja) | サーバ側プロキシ、データ転送方法及びプログラム | |
JP2005107662A (ja) | Wwwシステム処理方法およびシステム | |
KR100783073B1 (ko) | 왑 푸쉬 방식을 이용한 자바 어플리케이션 다운로드방법 | |
EP1225748B1 (en) | Communications terminal | |
CN117688259A (zh) | 基于请求拦截的web页面加载方法、装置和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040601 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20050414 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20050606 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070420 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070615 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070710 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070802 |
|
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: 20070921 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070925 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101005 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101005 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111005 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111005 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121005 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131005 Year of fee payment: 6 |
|
LAPS | Cancellation because of no payment of annual fees |