JP4784909B2 - Transaction accelerator, communication system, communication method, and program - Google Patents
Transaction accelerator, communication system, communication method, and program Download PDFInfo
- Publication number
- JP4784909B2 JP4784909B2 JP2007063121A JP2007063121A JP4784909B2 JP 4784909 B2 JP4784909 B2 JP 4784909B2 JP 2007063121 A JP2007063121 A JP 2007063121A JP 2007063121 A JP2007063121 A JP 2007063121A JP 4784909 B2 JP4784909 B2 JP 4784909B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- reference information
- transaction accelerator
- cache
- communication
- 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
Landscapes
- Information Transfer Between Computers (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Description
本発明は、多拠点間においてキャッシュリファレンス情報の同期をとるためのトランザクションアクセラレータ、通信システム、通信方法及びプログラムに関するものである。 The present invention relates to a transaction accelerator, a communication system, a communication method, and a program for synchronizing cache reference information among multiple sites.
従来、特許文献1(米国特許229016号)で説明されているようなシステムを一例とする技術では、図1に示すように、インターネットを経由して通信するクライアントとサーバの通信をキャッシュデータを用いて高速化する目的で、クライアント−サーバシステムに対向するトランザクションアクセラレータ(TA(TRANSACTION ACCELERATOR))1000をクライアント100側(CLIENT−SIDE)のトランザクションアクセラレータ1000(1000‐1〜1000‐n)(CTA)、サーバ200側(SERVER−SIDE)のトランザクションアクセラレータ1000(1000‐1〜1000‐n)(STA)としてそれぞれインターネット300を介して配置する。また、STAとサーバ200の間に、STAとサーバ200の間の通信データを管理してサーバ200の付加分散等を行うサーバフォームマネジャ400を配置してもよい。
Conventionally, in the technology exemplified by the system as described in Patent Document 1 (US Pat. No. 2,290,016), as shown in FIG. 1, cache data is used for communication between a client and a server that communicate via the Internet. Transaction accelerator 1000 (1000-1000-n) (CTA) on the
TA1000を介したクライアント100とサーバ200での通信では、はじめて流れたデータはキャッシュを使用せず通信される。通信されたデータはセグメントデータとしてCTA,STA内のキャッシュ領域に格納され、各セグメントに対して一意なリファレンスが設定される。CTA,STA内のキャッシュ領域に格納されたセグメントデータと同一のデータが通信される場合はデータをリファレンスに変換して送信し、受信したTA1000がリファレンスからセグメントデータを復元する。
In communication between the
TA1000内部の構造を図15に示し、図15を参照してTA1000の各構成要素の動作を以下に説明する。
The internal structure of the
クライアント100側に接続するプロキシ(PLOXY)1100は、クライアント100がサーバ200への通信を行う際、クライアント100からの要求を受け取り、サーバ200への通信を代理して行う。複数のクライアント100からの要求があった場合も同様に、クライアント100側に接続するプロキシ1100が一括して通信を管理する。
A proxy (PLOXY) 1100 connected to the
トランザクショントランスフォーマ(TRANSACTION TRANSFORMER(TT))1200は、(1)クライアント100側に接続するプロキシ1100から流れてくるデータをセグメントデータに分割し、リファレンス情報と共にパーシステントセグメントストレージ(PERSISTENT SEGMENT STORAGE(PSS))1500に格納する機能と、(2)クライアント100側に接続するプロキシ1100から流れてくるデータをPSS1500に格納されたセグメントデータと比較し、同一のセグメントであればその部分をリファレンスに変換して送信する機能とを有する。
The transaction transformer (TRANSACTION TRANSFORMER (TT)) 1200 (1) divides data flowing from the
インバーストランザクショントランスフォーマ(INVERSE TRANSACTION TRANSFORMER(ITT))1300は、(1)対向するTA1000から送信されてきたデータをリファレンス情報と共にPSS1500に格納する機能と、(2)対向するTA1000からの送信データのなかにリファレンスがある場合、そのリファレンスが参照するセグメントデータをリファレンスリゾルバ(REFERENCE RESOLVER(RR))1400に問い合わせ、送信されてきたデータ全体をリファレンスのない状態のデータに復元する機能とを有する。
The inverse transaction transformer (ITVERSE TRANSACTION TRANSFORMER (ITT)) 1300 includes (1) a function of storing data transmitted from the
リファレンスリゾルバ(RR)1400は、(1)問い合わせのあったリファレンスが参照するセグメントデータがPSS1500に存在する場合には、そのセグメントデータをレスポンスとして返す機能と、(2)問い合わせのあったリファレンスが参照するセグメントデータがPSS1500に存在しない場合に、送信元のTA1000からセグメントデータを受信し、レスポンスとして返す機能とを有する。
The reference resolver (RR) 1400 has (1) a function for returning the segment data as a response when the segment data referred to by the inquired reference exists in the
サーバ200側のプロキシ1100は、サーバ200がクライアント100への通信を行う際、サーバ200からの要求を受け取り、クライアント100への通信を代理して行う。複数のサーバ200からの要求があった場合も同様に、サーバ200側のプロキシ11100が一括して通信を管理する。
When the
PSS1500内でのキャッシュデータ1510は、リファレンスとセグメントデータの組という形で格納される(図2参照)。リファレンス情報はグローバルに一意な値が使用される。例えば対向するTA1000をTA1、TA2とすると、リファレンス情報はTA1につけられたグローバルで一意な値(例:MACアドレス)とTA2につけられたグローバルで一意な値、さらにシーケンシャル番号を組み合わせて作成される。
The
図3は、入力データがどのように変換されて出力されるかを示す図である。入力されたデータは、細かいセグメントデータに分割され、以前に通信されPSS1500内にリファレンスが存在するセグメントデータに関しては当該リファレンスに置換され、出力データとして出力される。
FIG. 3 is a diagram illustrating how input data is converted and output. The input data is divided into fine segment data, and the segment data previously communicated and having a reference in the
次に、上記従来のクライアント−サーバシステムの動作を説明する。なお、各TA1000の状態は、キャッシュされたデータを持たない状態を初期状態とする。
Next, the operation of the conventional client-server system will be described. Note that the state of each
TA1がTA2にデータ(セグメント(segment)1)を送信する際の動作を説明する(図4の通信1)。
The operation when TA1 transmits data (segment 1) to TA2 will be described (
TA1のプロキシ(クライアント側又はサーバ側のプロキシ)1100がセグメント(segment)1をTT1200に渡す。(図16の(1))
The TA1 proxy (client side or server side proxy) 1100 passes the
TA1のトランザクショントランスフォーマ1200は、セグメント1をPSS1500の中で探索する。上記初期状態により存在しないのでリファレンスR(1,2)を作成し、PSS1500にセグメント1を格納する。(図16(2))
The
TA1のTT1200は、TA2のITT1300に対してセグメント1を送信する。(図16(3))
The
TA2のITT1300では、リファレンスR(1,2)とセグメント1をPSS1500に格納する。(図16(4))
In the ITT 1300 of TA2, the reference R (1, 2) and the
TA2のITT1300は、セグメント1をプロキシ1100に渡す。(図16(5))
The ITT 1300 of TA2 passes the
図4の通信1の結果として、TA1とTA2の両方でリファレンスR(1,2)とセグメント1がPSS1500に格納される。
As a result of the
次いで、TA3がTA4にセグメント1を送信する際の動作を説明する(図4の通信2)。
Next, the operation when TA3 transmits
TA3のプロキシ1100が、セグメント1をTT1200に渡す。(図17(1))
TA3のTT1200は、セグメント1をPSS1500の中で探索する。上記初期状態により存在しないのでリファレンスR(3,4)を作成し、PSS1500にセグメント1を格納する。(図17(2))
The TA3 TT 1200 searches for the
TA3のTT1200は、TA4のITT1300に対してセグメント1を送信する。(図17(3))
TA4のITT1300ではリファレンスR(3,4)とセグメント1をPSS1500に格納する。(図17(4))
In ITT 1300 of TA4, reference R (3, 4) and
TA4のITT1300は、セグメント1をプロキシ1100に渡す。(図17(5))
The ITT 1300 of TA4 passes the
図4の通信2の結果として、TA3とTA4の両方でリファレンスR(3,4)とセグメント1がPSS1500に格納される。
As a result of the
次いで、TA1がTA3にセグメント1を送信する際の動作を説明する(図5の通信3)。
Next, the operation when TA1 transmits
TA1のプロキシ1100が、セグメント1をTT1200に渡す(図18(1))。
The
TA1のTT1200は、セグメント1をPSS1500の中で探索する。上記通信1によりデータが存在するのでセグメント(segment)1とリファレンスR(1,2)を変換する(図18(2))。
TA1のTT1200は、R(1,2)をTA3のITT1300に送信する(図18(3))。
The
TA3のITT1300は、送られてきたものがリファレンスR(1,2)のため、RR1400に処理を依頼する(図18(4))。
The ITT 1300 of TA3 requests the
TA3のRR1400は、PSS1500にリファレンスR(1,2)があるか調べる(図18(5))。
The TA3 RR 1400 checks whether the
R(1,2)は存在しないため、通信元であるTA1のRR1400にR(1,2)を送ってリファレンスが指すデータの送信を依頼する(図18(6))。 Since R (1,2) does not exist, R (1,2) is sent to RR1400 of TA1, which is the communication source, to request transmission of data indicated by the reference (FIG. 18 (6)).
TA1のRR1400は、PSS1500からセグメント1を取り出し(図18(7))、取り出したセグメント1をTA3のRR1400に返す(図18(8))。
The
TA3のRR1400は、返ってきたセグメント1をITT1300に返す(図19(9))。
The
TA3のITT1300は、リファレンス(1,2)とセグメント1をPSS1500に格納する。(図19(10))。
The ITT 1300 of TA3 stores the reference (1, 2) and the
TA3のITT1300は、セグメント1をプロキシ1100に渡す(図19(11))。
The ITT 1300 of TA3 passes the
図5の通信3の結果として、TA3にリファレンスR(1,2)とセグメント1がPSS1500に追加される。
As a result of the
これらの通信の結果、TA1−TA2間、TA3−TA4間、TA1−TA3間では次回の通信からキャッシュを使用し、通信の高速化をすることが可能である。 As a result of these communications, between TA1 and TA2, between TA3 and TA4, and between TA1 and TA3, it is possible to use a cache from the next communication to increase the communication speed.
すなわち、上記従来のシステムは、複数のTA1000間におけるキャッシュに対するリファレンスが2つのTA1000間で独立して使用されるため、一度通信したTA1000同士では、同じリファレンスが同一データを指すことが保障されることから、キャッシュを利用することができる。このため、上記従来の技術を用いると、2つのTA1000間の通信において、1回目の通信で同じデータに同じリファレンスを作成することができることから、次回の通信からはリファレンスデータをやり取りすることが可能となる。
しかし、上記従来のシステムは、一度も通信したことのないTA1000同士の通信では同じリファレンスを持たないためキャッシュを利用できないという問題があった。このことは、別のTA1000を介した間接的な通信で同じデータをキャッシュしている場合にも同様であり、リファレンスの相違からキャッシュを利用できないことがある。その結果として、リファレンスではなくデータの転送が行われ通信量が増加するという問題があった。
However, the conventional system has a problem that the cache cannot be used because communication between TAs 1000 that have never communicated does not have the same reference. This is the same when the same data is cached by indirect communication via another
すなわち、上記従来のシステムは、3台以上のTA1000間で通信する際に同一のデータに対して複数のリファレンスが存在する可能性があるため、同一データをキャッシュデータに保持しているにもかかわらず、リファレンスを使用した通信ができない場合があった。 That is, in the above conventional system, there is a possibility that a plurality of references exist for the same data when communicating between three or more TA 1000s. Therefore, even though the same data is held in the cache data. In some cases, communication using the reference was not possible.
例えば、上記TA2とTA4の間の通信では、TA2、TA4共にセグメント1をPSS1500に格納しているにもかかわらず、リファレンスが相違するためにキャッシュ利用ができない。
For example, in the communication between the above TA2 and TA4, although the
(発明の目的)
本発明の目的は、3台以上のTA1000が通信した場合にも、同一データに対するリファレンスの不一致を解決することで、キャッシュを有効利用し、通信の高速化を実現するプロキシ、通信システム、通信方法及びプログラムを提供することである。
(Object of invention)
An object of the present invention is to provide a proxy, a communication system, and a communication method that realizes high-speed communication by effectively using a cache by resolving a reference mismatch for the same data even when three or more TA 1000s communicate. And providing a program.
上記課題を解決するため本発明は、クライアント・サーバ間で通信されるデータと、データの送信側トランザクションアクセラレータと受信側トランザクションアクセラレータとの組に基づいて一意に定まるリファレンス情報をキャッシュに格納し、データの通信を中継するプロキシ機能を有するトランザクションアクセラレータであって、クライアント・サーバ間の通信を中継するトランザクションアクセラレータが3以上ある場合において、送信側トランザクションアクセラレータが、クライアント又はサーバから受信したデータをキャッシュに保持している場合、当該データに紐付くリファレンス情報を受信側トランザクションアクセラレータに送信する手段を備え、受信側トランザクションアクセラレータが、受信したリファレンス情報に紐付くデータをキャッシュに保持していない場合、当該データを送信側トランザクションアクセラレータへ要求して取得する手段と、取得したデータと同一のデータをキャッシュに保持している場合、当該データに紐付くリファレンス情報を、送信側トランザクションアクセラレータから受信したリファレンス情報に更新する手段と、キャッシュに保持しているデータに紐付くリファレンス情報を更新した場合、更新前のリファレンス情報を共有する他のトランザクションアクセラレータに対し、当該データに紐付くリファレンス情報を、送信側トランザクションアクセラレータから受信したリファレンス情報に更新する旨の更新命令を送信する手段とを備え、他のトランザクションアクセラレータが、更新命令に基づいて、データに紐付くリファレンス情報を更新する手段を備える。
In order to solve the above problems, the present invention stores in a cache reference information that is uniquely determined based on data communicated between a client and a server, and a combination of a data transmission side transaction accelerator and a data reception side transaction accelerator. Transaction accelerator with a proxy function that relays communications between clients and servers, and when there are three or more transaction accelerators that relay communications between clients and servers, the sending transaction accelerator holds the data received from the client or server in the cache If there is a means to send the reference information associated with the data to the receiving transaction accelerator, the receiving transaction accelerator receives the received reference If the data associated with the information is not held in the cache, the means for requesting and obtaining the data from the sending transaction accelerator and the same data as the obtained data are retained in the cache. When the reference information attached is updated to the reference information received from the sending transaction accelerator and the reference information associated with the data held in the cache is updated, it is sent to other transaction accelerators that share the reference information before the update. On the other hand, there is provided means for transmitting an update command for updating the reference information associated with the data to the reference information received from the transmission-side transaction accelerator, and the other transaction accelerators receive the data based on the update command. Comprising means for updating the reference information stick.
より詳細には、本発明は、現行方式のように対向するTA1000間のみでリファレンス情報をもつだけではなく複数のTA1000間でリファレンスの共有を実現するために、TA1000で管理しているリファレンス情報を更新及び配信する機能を持つリファレンスディストリビュータ(REFERENCE DISTRIBUTOR(RD))を備えることを特徴とする。
More specifically, according to the present invention, the reference information managed by the
(作用)
このリファレンスディストリビュータを備えることによって、本発明は、すでにキャッシュに存在するデータと同様のデータが異なるリファレンスで通信される場合に2つのリファレンス情報を関連付け、TA1000内の情報を更新すると共に配信先を適切に管理する機能を実現する。
(Function)
By providing this reference distributor, the present invention associates two pieces of reference information when data similar to data already in the cache is communicated with different references, updates information in the
本発明によるリファレンスディストリビュータ(REFERENCE DISTRIBUTOR(RD))は、TA1000が通信を行う際、対向するTA1000との間で同一データへのリファレンスに差異がある場合に一方のリファレンス情報を書き換えることで同期を取る機能と、リファレンスが再度変更されるときに相手に通知できるように、対向するTA1000の情報を格納しておく機能と、実際にリファレンスの書き換えが起こった場合には格納したTA1000情報に従って配信する機能とを持つ。配信された立場のTA1000はリファレンス情報を更新し、さらに配信すべき相手がいれば配信を行う。
The reference distributor (REFERENCE DISTRIBUTOR (RD)) according to the present invention achieves synchronization by rewriting one reference information when there is a difference in reference to the same data with the
すなわち、本発明によるリファレンスディストリビュータの機能概要は、以下のようになる。 That is, the functional outline of the reference distributor according to the present invention is as follows.
(1)RR1400によってリファレンスの参照するデータを対向するTA1000に要求したときに、要求により返されたセグメントデータが他のTA1000との通信によってすでにキャッシュに格納されていないかを探索する機能と、探索の結果としてキャッシュに存在する場合には、対向するTA1000との間で同一データへのリファレンスに差異があるということなので、TA1000内に元からあった旧リファレンスを、送信されてきた新リファレンスに更新する機能とを持つ。
(1) A function for searching whether the segment data returned by the request is already stored in the cache by communication with another
(2)実データを通信したことがあるTA1000に関する情報(IPアドレス等)を、通信したデータへのリファレンスと対応させ、配信情報として配信情報データベースに保管する機能を持つ。保管する配信情報は、(a)初めて送受信するデータをやり取りした対向するTA1000の情報、(b)リファレンスをやり取りしたが、受信側キャッシュ内で解決できず送受信を行った場合の対向するTA1000の情報とする。
(2) A function of storing information (IP address or the like) related to the
(3)配信情報データベースに登録された配信情報に従って、リファレンスの情報を適切なTA1000に配信する機能を持つ。
(3) A function of distributing reference information to an
(4)リファレンス情報を受信したTA1000内RDは、自PSS1500内のリファレンス情報を変更するとともに、配信情報データベースの配信情報に従って、他のTA1000にも配信する機能を持つ。
(4) The RD in
本実施の形態によれば、以下の効果を達成できる。 According to the present embodiment, the following effects can be achieved.
第1に、複数のトランザクションアクセラレータ間でリファレンス情報を共有することにより、キャッシュヒット率を向上させ、通信の高速化を図ることができる。 First, by sharing reference information among a plurality of transaction accelerators, it is possible to improve the cache hit rate and speed up communication.
第2に、同一データを異なるリファレンス情報とともに格納する可能性がなくなるため、キャッシュ領域の利用の効率化を図ることができる。 Second, since there is no possibility of storing the same data together with different reference information, the use of the cache area can be made more efficient.
それらの理由は、クライアント・サーバ間で通信されるデータと、データに一意に対応するリファレンス情報をキャッシュに格納し、データの通信を中継するプロキシ機能を有するトランザクションアクセラレータにおいて、クライアント・サーバ間の通信を中継する2以上の他のプロキシと、同一のデータに対応するリファレンス情報を共有するからである。 The reason for this is that communication between the client and the server is performed in a transaction accelerator having a proxy function that stores data communicated between the client and the server and reference information uniquely corresponding to the data in a cache and relays the data communication. This is because the reference information corresponding to the same data is shared with two or more other proxies that relay.
より詳細には、TA1000で管理しているリファレンス情報の配信及び更新を行う機能を持つリファレンスディストリビュータ(REFERENCE DISTRIBUTOR(RD))を導入することにより、3台以上のTA1000が通信した場合にリファレンス情報を配信・更新し、同一データに対するリファレンスの不一致を解決するからである。
More specifically, by introducing a reference distributor (REFERENCE DISTRIBUTOR (RD)) having a function of distributing and updating the reference information managed by the
本発明による第1の実施の形態を、図面を用いて詳細に説明する。 A first embodiment of the present invention will be described in detail with reference to the drawings.
(第1の実施の形態の構成)
図1は、本実施の形態におけるクライアント−サーバシステムの全体構成を示すブロック図である。
(Configuration of the first embodiment)
FIG. 1 is a block diagram showing an overall configuration of a client-server system according to the present embodiment.
本実施の形態おけるクライアント−サーバシステムの全体構成は、上述した図1に示す従来のクライアント−サーバシステムの全体構成と同様に、対向するトランザクションアクセラレータ(TA(TRANSACTION ACCELERATOR))1000をクライアント100側(CLIENT−SIDE)のトランザクションアクセラレータ1000(1000‐1〜1000‐n)(CTA)、サーバ200側(SERVER−SIDE)のトランザクションアクセラレータ1000(1000‐1〜1000‐n)(STA)としてそれぞれインターネット300を介して配置する。また、STAとサーバ200の間に、STAとサーバ200の間の通信データを管理してサーバ200の付加分散等を行うサーバフォームマネジャ400を配置してもよい。
The overall configuration of the client-server system in the present embodiment is similar to the overall configuration of the conventional client-server system shown in FIG. 1 described above, and the opposing transaction accelerator (TA (TRANSACTION ACCELERATOR)) 1000 is connected to the
上述したように、TA1000を介したクライアント100とサーバ200での通信では、はじめて流れたデータはキャッシュを使用せず通信され、通信されたデータはセグメントデータとしてCTA,STA内のキャッシュ領域に格納され、各セグメントに対して一意なリファレンスが設定される。CTA,STA内のキャッシュ領域に格納されたセグメントデータと同一のデータが通信される場合はデータをリファレンスに変換して送信し、受信したTA1000がリファレンスからセグメントデータを復元する。
As described above, in communication between the
図6は、本実施の形態のTAの構成を示すブロック図である。 FIG. 6 is a block diagram showing the configuration of the TA according to the present embodiment.
図6を参照すると、本実施の形態は、CTAが、クライアント100側のプロキシ(PLOXY)1100と、トランザクショントランスフォーマ(TRANSACTION TRANSFORMER(TT))1200と、インバーストランザクショントランスフォーマ(INVERSE TRANSACTION TRANSFORMER(ITT))1300と、リファレンスリゾルバ(REFERENCE RESOLVER(RR))1400と、パーシステントセグメントストレージ(PERSISTENT SEGMENT STORAGE(PSS))1500と、リファレンスディストリビュータ(REFERENCE DISTRIBUTOR(RD))1600とを備え、STAが、サーバ200側のプロキシ(PLOXY)1100と、トランザクショントランスフォーマ(TT)1200と、インバーストランザクショントランスフォーマ(ITT)1300と、リファレンスリゾルバ(RR)1400と、パーシステントセグメントストレージPSS1500と、リファレンスディストリビュータ(RD)1600とを備える。
Referring to FIG. 6, in the present embodiment, the CTA has a proxy (PLOXY) 1100 on the
なお、上記j構成は一例であり、CTAがサーバ200側のプロキシ1100をさらに備え、STAがクライアント100側のプロキシ1100をさらに備えていてもよい。
The j configuration is an example, and the CTA may further include a
クライアント100側のプロキシ1100は、クライアント100がサーバ200への通信を行う際、クライアント100からの要求を受け取り、サーバ200への通信を代理して行う。複数のクライアント100からの要求があった場合も同様に、クライアント100側のプロキシ1100が一括して通信を管理する。
When the
トランザクショントランスフォーマ(TT)1200は、(1)クライアント100側のプロキシ1100から流れてくるデータをセグメントデータに分割し、リファレンス情報と共にPSS1500に格納する機能と、(2)クライアント100側のプロキシ1100から流れてくるデータをPSS1500に格納されたセグメントデータと比較し、同一のセグメントであればその部分をリファレンスに変換して送信する機能とを有する。
The transaction transformer (TT) 1200 includes (1) a function of dividing data flowing from the
インバーストランザクショントランスフォーマ(ITT)1300は、(1)対向するTA1000から送信されてきたデータをリファレンス情報と共にPSS1500に格納する機能と、(2)対向するTA1000からの送信データのなかにリファレンスがある場合、そのリファレンスが参照するセグメントデータをリファレンスリゾルバ(RR)1400に問い合わせ、送信されてきたデータ全体をリファレンスのない状態のデータに復元する機能とを有する。
The inverse transaction transformer (ITT) 1300 includes (1) a function of storing data transmitted from the opposing
リファレンスリゾルバ(RR)1400は、(1)問い合わせのあったリファレンスが参照するセグメントデータがPSS1500に存在する場合には、そのセグメントデータをレスポンスとして返す機能と、(2)問い合わせのあったリファレンスが参照するセグメントデータがPSS1500に存在しない場合に、送信元のTA1000からセグメントデータを受信し、レスポンスとして返す機能とを有する。
The reference resolver (RR) 1400 has (1) a function for returning the segment data as a response when the segment data referred to by the inquired reference exists in the
サーバ200側のプロキシ1100は、サーバ200がクライアント100への通信を行う際、サーバ200からの要求を受け取り、クライアント100への通信を代理して行う。複数のサーバ200からの要求があった場合も同様に、サーバ200側のプロキシ1100が一括して通信を管理する。
When the
PSS1500内でのキャッシュデータ1510は、リファレンスとセグメントデータの組という形で格納される(図2参照)。リファレンス情報はグローバルに一意な値が使用される。例えば対向するTA1000をTA1、TA2とすると、リファレンス情報はTA1につけられたグローバルで一意な値(例:MACアドレス)とTA2につけられたグローバルで一意な値、さらにシーケンシャル番号を組み合わせて作成される。
The
上述したように、図3は、入力データがどのように変換されて出力されるかを示す図である。入力されたデータは、細かいセグメントデータに分割され、以前に通信されPSS1500内にリファレンスが存在するセグメントデータに関しては当該リファレンスに置換され、出力データとして出力される。
As described above, FIG. 3 is a diagram illustrating how input data is converted and output. The input data is divided into fine segment data, and the segment data previously communicated and having a reference in the
次に、本発明の特徴であるリファレンスディストリビュータ(RD)の構成について説明する。 Next, the configuration of the reference distributor (RD), which is a feature of the present invention, will be described.
図7は、本実施の形態によるリファレンスディストリビュータ(RD)の構成を示すブロック図である。 FIG. 7 is a block diagram showing the configuration of the reference distributor (RD) according to the present embodiment.
図7を参照すると、本実施の形態によるリファレンスディストリビュータ(RD)1600は、I/O(入出力)処理部1601と、TTリクエスト処理部1602と、配信情報追加処理部1603と、配信情報データベース(DB)1604と、ITTリクエスト処理部1605と、RRリクエスト処理部1606と、PSSデータ処理部1607と、リファレンス情報計算処理部1608と、送信処理部1609と、受信処理部1610と、通信処理部1611とを備える。
Referring to FIG. 7, a reference distributor (RD) 1600 according to the present embodiment includes an I / O (input / output)
I/O処理部1601は、TA1000内の他の要素からのデータ送受信を行う機能を有する。
The I /
TTリクエスト処理部1602は、TT1200がPSS1500に存在しないデータを送信するとき、I/O処理部1601を通してTT1200からリファレンスと通信情報(IPアドレス)を受け取って配信情報追加処理部1603に渡す機能を有する。
The TT
配信情報追加処理部1603は、リファレンスと通信情報を配信情報データベース1604に格納する機能を有する。
The distribution information
配信情報データベース1604は記憶領域で、リファレンスと通信情報を格納する機能を有する。
The
ITTリクエスト処理部1605は、ITT1300がPSS1500に存在しないデータを受信するとき、I/O処理部1601を通してITT1300からリファレンスと通信情報を受け取って配信情報追加処理部1603に渡す機能を有する。
The ITT
RRリクエスト処理部1606は、RR1400がリファレンスでないデータを送信するとき、I/O処理部1601を通してRR1400からリファレンスと通信情報を受け取って配信情報追加処理部1603に渡す機能を有する。また、RRリクエスト処理部1606は、RR1400がリファレンスでないデータを受信するとき、I/O処理部1601を通してRR1400からリファレンスとそれが指すデータ、通信情報を受け取ってPSSデータ処理部1607に渡す機能を有する。
The RR
PSSデータ処理部1607は、受け取ったデータをPSS1500内で探索し、存在する場合は旧リファレンスを新しく受け取ったリファレンスに更新する機能を有し、また、新旧のリファレンスの更新の配信情報データベース1604内への適用をリファレンス情報計算処理部1608に依頼する機能を有する。
The PSS
リファレンス情報計算処理部1608は、受け取った新旧リファレンスの更新を配信情報データベース1604内で実行する機能を有する。さらに、送信処理部1609にリファレンス更新の配信を依頼する機能を有する。
The reference information
送信処理部1609は、通信処理部1611を通してリファレンス更新を行うためのデータを配信する機能を有する。
The
受信処理部1610は、通信処理部1611を通してリファレンス更新を行うためのデータを受け取ってリファレンス情報計算処理部1608に渡す機能を有する。
The
通信処理部1611は、他のTA1000のTDとの通信を行う機能を有する。
The
ここで、トランザクションアクセラレータ1000(CTA及びSTA)のハードウェア構成の説明をする。 Here, the hardware configuration of the transaction accelerator 1000 (CTA and STA) will be described.
図8は、本実施の形態によるクライアント−サーバシステムのトランザクションアクセラレータ(CTA及びSTA)のハードウェア構成例を示すブロック図である。 FIG. 8 is a block diagram showing a hardware configuration example of the transaction accelerators (CTA and STA) of the client-server system according to the present embodiment.
図8を参照すると、本発明によるトランザクションアクセラレータ1000は、一般的なコンピュータ装置と同様のハードウェア構成によって実現することができ、CPU(Central Processing Unit)1001、RAM(Random Access Memory)等のメインメモリであり、データの作業領域やデータの一時退避領域に用いられる主記憶部1002、インターネット300を介してデータの送受信を行う通信制御部1003、液晶ディスプレイ、プリンタやスピーカ等の提示部1004、キーボードやマウス等の入力部1005、周辺機器と接続してデータの送受信を行うインタフェース部1006、ROM(Read Only Memory)、磁気ディスク、半導体メモリ等の不揮発性メモリから構成されるハードディスク装置である補助記憶部1007、本情報処理装置の上記各構成要素を相互に接続するシステムバス1008等を備えている。
Referring to FIG. 8, a
本発明によるトランザクションアクセラレータ1000は、その動作を、トランザクションアクセラレータ1000内部にそのような機能を実現するプログラムを組み込んだ、LSI(Large Scale Integration)等のハードウェア部品からなる回路部品を実装してハードウェア的に実現することは勿論として、上記した各構成要素の各機能を提供するプログラムを、コンピュータ処理装置上のCPU1001で実行することにより、ソフトウェア的に実現することができる。
The
すなわち、CPU1001は、補助記憶部1007に格納されているプログラムを、主記憶部1002にロードして実行し、トランザクションアクセラレータ1000の動作を制御することにより、上述した各機能をソフトウェア的に実現する。
That is, the
(第1の実施の形態の動作)
本実施の形態におけるクライアント−サーバシステムの動作を説明する。
(Operation of the first embodiment)
The operation of the client-server system in this embodiment will be described.
各TA1000の状態は、キャッシュされたデータを持たない状態を初期状態とする。
As for the state of each
図9は、本実施の形態によるTA1がTA2にデータ(セグメント(segment)1)(セグメント1)を送信する際の動作を説明する図である FIG. 9 is a diagram illustrating an operation when TA1 transmits data (segment 1) (segment 1) to TA2 according to the present embodiment.
図9を用いて、TA1がTA2にデータ(セグメント(segment)1)を送信する際の動作を説明する(図4の通信1参照)。
The operation when TA1 transmits data (segment 1) to TA2 will be described with reference to FIG. 9 (see
TA1のプロキシは、セグメント1をTT1200に渡す(図9(1))。
The proxy of TA1 passes
TA1のトランザクショントランスフォーマ(TT)は、セグメント1をPSS1500の中で探索する。上記初期状態によりセグメント1は存在しないのでリファレンスR(1,2)を作成し、PSS1500にセグメント1を格納する。(図9(2))
TA1's transaction transformer (TT) searches for
TA1のTT1200は、RDのI/O処理部1601を介してTTリクエスト処理部1602にリファレンスR(1,2)とTA2のIPアドレスを渡す(図9(3)(4))。TTリクエスト処理部1602はR(1,2)とTA2のIPアドレスを配信情報追加処理部1603に渡し(図9(5))、配信情報追加処理部1603はR(1,2)とTA2のIPアドレスを配信情報DB1604に格納する処理を行う(図9(6))。
The
TA1のTT1200は、TA2のITT1300に対してセグメント1を送信する。(図9(7))
The
TA2のITT1300ではセグメント1とリファレンスR(1,2)をPSS1500に格納する。(図9(8))
In
TA2のITT1300は、RDのI/O処理部1601を通してITTリクエスト処理部1605にリファレンスR(1,2)とTA1のIPアドレスを渡す(図9(9)(10))。ITTリクエスト処理部1605はR(1,2)とTA1のIPアドレスを配信情報追加処理部1603に渡し(図9(11))、配信情報追加処理部1603はR(1,2)とTA1のIPアドレスを配信情報DB1604に格納する処理を行う(図9(12))。
The
TA2のITT1300はセグメント1をプロキシに渡す(図9(13))。
The
上記説明した動作により、図4の通信1の結果として、TA1とTA2の両方でリファレンスR(1,2)とセグメント1がPSS1500に格納される。さらに、TA1、TA2の配信情報DB1604には、ファレンスR(1,2)とお互いのIPアドレスが格納される。
With the operation described above, as a result of the
次いで、TA3がTA4にセグメント1を送信する際の動作を説明する(図4の通信2参照)。
Next, the operation when TA3 transmits
図10は、本実施の形態によるTA3がTA4にセグメント1を送信する際の動作を説明するである。
FIG. 10 illustrates the operation when TA3 according to this embodiment transmits
TA3のプロキシがセグメント1をTT1200に渡す。(図10(1))
TA3 proxy passes
TA3のTT1200はセグメント1をPSS1500の中で探索する。上記初期状態によりセグメント1が存在しないのでリファレンスR(3,4)を作成し、PSS1500にセグメント1を格納する。(図10(2))
TA3のTT1200は、RDのI/O処理部1601を通してTTリクエスト処理部1602にリファレンスR(3,4)とTA4のIPアドレスを渡す(図10(3)(4))。TTリクエスト処理部1602はR(3,4)とTA4のIPアドレスを配信情報追加処理部1603に渡し(図10(5))、配信情報追加処理部1603はR(3,4)とTA4のIPアドレスを配信情報DB1604に格納する処理を行う(図10(6))。
The
TA3のTT1200は、TA4のITT1300に対してセグメントを送信する(図10(7))。
The
TA4のITT1300ではセグメント1とリファレンスR(3,4)をPSS1500に格納する。(図10(8))
In
TA4のITT1300は、リファレンスR(3,4)とTA3のIPアドレスをRDのI/O処理部1601を通してITTリクエスト処理部1605に渡す(図10(9)(10))。ITTリクエスト処理部1605はR(3,4)とTA3のIPアドレスを配信情報追加処理部1603に渡し(図10(11))、配信情報追加処理部1603はR(3,4)とTA3のIPアドレスを配信情報DB1604 に格納する処理を行う(図10(12))。
The
TA4のITT1300はセグメント1をプロキシに渡す(図10(13))。
The
上記説明した動作により、図4の通信2の結果として、TA3とTA4の両方でリファレンスR(3,4)とセグメント1がPSS1500に格納される。さらに、TA3、TA4の配信情報DB1604には、ファレンスR(3,4)とお互いのIPアドレスが格納される。
With the operation described above, as a result of the
次いで、TA1がTA3にセグメント1を送信する際の動作を説明する(図5の通信3参照)。
Next, the operation when TA1 transmits
図11〜図14は、本実施の形態によるTA1がTA3にセグメント1を送信する際の動作を説明するである。
FIGS. 11 to 14 are diagrams for explaining the operation when TA1 according to the present embodiment transmits
TA1のプロキシが、セグメント1をTT1200に渡す(図11(1))。
The proxy of TA1 passes
TA1のTT1200は、セグメント1をPSS1500の中で探索する。上記通信1により存在するのでセグメント1とリファレンスR(1,2)を変換する(図11(2))。
TA1のTT1200は、リファレンスR(1,2)をTA3のITT1300に送信する(図11(3))。
The
TA3のITT1300は、受信したリファレンスR(1,2)の解決をRR1400に依頼する(図11(4))。
The
TA3のRR1400は、リファレンスR(1,2)をPSS1500の中で探索する(図11(5))。
The
PSS1500内にリファレンスR(1,2)が存在しないため、TA1のRR1400にリファレンスR(1,2)の解決を依頼する(図11(6))。
Since there is no reference R (1,2) in the
TA1のRR1400は、リファレンスR(1,2)が指すデータをPSS1500内で探索する(図11(7))。
The
TA1のRR1400は、RDのI/O処理部1601を介してRRリクエスト処理部1606にリファレンスR(1,2)とTA3のIPアドレスを渡す(図11(8)(9))。さらに、TA1のRRリクエスト処理部1606は、配信情報追加処理部1603にR(1,2)とTA3のIPアドレスを渡す(図11(10))。
The
配信情報追加処理部1603は、配信情報DB1604にR(1,2)とTA3のIPアドレスを格納する。(図12(11))。
The distribution information
TA1のRR1400は、セグメント1をTA3のRR1400に返す(図12(12))。
The
TA3のRR1400は、セグメント1をITT1300に返す(図12(13))。
The
TA3のITT1300は、セグメント1をプロキシに返す(図12(14))。
The
TA3のRR1400は、RDのI/O処理部1601を介してRRリクエスト処理部1606にリファレンスR(1,2)とTA1のIPアドレスを渡す(図12(15)(16))。さらに、TA3のRRリクエスト処理部1606は、配信情報追加処理部1603にR(1,2)とTA1のIPアドレスを渡す(図12(17))。
The
配信情報追加処理部1603は、配信情報DB1604にR(1,2)とTA1のIPアドレスを格納する(図12(18))。
The distribution information
TA3のRRリクエスト処理部1606は、PSSデータ処理部1607にR(1,2)とセグメント1を渡す(図12(19))。
The RR
TA3のPSSデータ処理部1607は、I/O処理部1601を介してPSS1500内にセグメント1が存在しないかを探索する。存在するのでリファレンスをR(3,4)からR(1,2)に更新する。(図13(20)(21))。
The TA3 PSS
TA3のPSSデータ処理部1607は、R(3,4)からR(1,2)への更新命令をリファレンス情報計算処理部1608に渡す(図13(22))。リファレンス情報計算処理部1608は、配信情報DB1604のR(3,4)をR(1,2)に更新する(図13(23))。
The PSS
TA3のリファレンス情報計算処理部1608は、TA4に向けて、R(3,4)からR(1,2)への更新命令を送ることを送信処理部1609に依頼する(図13(24))。送信処理部1609は、通信処理部1611を介してTA4に対し命令を送信する(図13(25)(26))。
The reference information
TA4の受信処理部1610は、R(3,4)からR(1,2)への更新命令をリファレンス情報計算処理部1608に渡す(図14(27)(28))。リファレンス情報計算処理部1608は、配信情報DB1604のR(3,4)をR(1,2)に更新する(図14(29))。
The TA4
TA4のリファレンス情報計算処理部1608は、R(3,4)からR(1,2)への更新をPSSデータ処理部1607に依頼する(図14(30))。PSSデータ処理部1607は、I/O処理部1601を通して、PSS1500内のリファレンスR(3,4)をR(1,2)に更新する(図14(31)(32))。
The reference information
上記説明した動作により、TA1とTA3間でセグメント1というデータが通信された結果として、TA3にデータ(セグメント1)がR(1,2)の参照データとしてPSS1500に格納される。また、TA4にも同様にデータ(セグメント1)がR(1,2)の参照データとしてPSS1500に格納される。
As a result of the communication of data called
(第1の実施の形態の効果)
本実施の形態によれば、以下の効果を達成できる。
(Effects of the first embodiment)
According to the present embodiment, the following effects can be achieved.
第1に、複数のTA1000間でリファレンス情報を共有することにより、キャッシュヒット率を向上させ、通信の高速化を図ることができる。 First, by sharing reference information among a plurality of TAs 1000, it is possible to improve the cache hit rate and increase the communication speed.
第2に、同一データを異なるリファレンス情報とともに格納する可能性がなくなるため、キャッシュ領域の利用の効率化を図ることができる。 Second, since there is no possibility of storing the same data together with different reference information, the use of the cache area can be made more efficient.
それらの理由は、クライアント・サーバ間で通信されるデータと、データに一意に対応するリファレンス情報をキャッシュに格納し、データの通信を中継するプロキシ機能を有するTA1000において、クライアント・サーバ間の通信を中継する2以上の他のTA1000と、同一のデータに対応するリファレンス情報を共有するからである。
The reason is that the communication between the client and the server is performed in the
より詳細には、TA1000で管理しているリファレンス情報の配信及び更新を行う機能を持つリファレンスディストリビュータ(RD)1600を導入することにより、3台以上のTA1000が通信した場合にリファレンス情報を配信・更新し、同一データに対するリファレンスの不一致を解決するからである。
More specifically, by introducing a reference distributor (RD) 1600 having a function of distributing and updating reference information managed by the
以上好ましい実施の形態をあげて本発明を説明したが、本発明は必ずしも、上記実施の形態に限定されるものでなく、その技術的思想の範囲内において様々に変形して実施することができる。 Although the present invention has been described with reference to the preferred embodiments, the present invention is not necessarily limited to the above embodiments, and various modifications can be made within the scope of the technical idea. .
ネットワーク上に配置されるスイッチやルータ等の通信機器にも本発明を適用できる。 The present invention can also be applied to communication devices such as switches and routers arranged on the network.
100:クライアント
200:サーバ
300:インターネット
400:サーバフォームマネジャ
1000、1000−1〜−n:トランザクションアクセラレータ(TA、CTA、STA)
1100:プロキシ
1200:トランザクショントランスフォーマ(TT)
13:インバーストランザクショントランスフォーマ(ITT)
1400:リファレンスリゾルバ(RR)
1500:パーシステントセグメントストレージ(PSS)
1510:キャッシュデータ
1600:リファレンスディストリビュータ(RD)
1601:I/O処理部
1602:TTリクエスト処理部
1603:配信情報追加処理部
1604:配信情報データベース(DB)
1605:ITTリクエスト処理部
1606:RRリクエスト処理部
1607:RRリクエスト処理部
1606:PSSデータ処理部
1608:リファレンス情報計算処理部
1609:送信処理部
1610:受信処理部
1611:通信処理部
1001:CPU
1002:主記憶部
1003:通信制御部
1004:提示部
1005:入力部
1006:インタフェース部
1007:補助記憶部
1008:システムバス
100: client 200: server 300: internet 400:
1100: Proxy 1200: Transaction transformer (TT)
13: Inverse transaction transformer (ITT)
1400: Reference resolver (RR)
1500: Persistent segment storage (PSS)
1510: Cache data 1600: Reference distributor (RD)
1601: I / O processing unit 1602: TT request processing unit 1603: Distribution information addition processing unit 1604: Distribution information database (DB)
1605: ITT request processing unit 1606: RR request processing unit 1607: RR request processing unit 1606: PSS data processing unit 1608: reference information calculation processing unit 1609: transmission processing unit 1610: reception processing unit 1611: communication processing unit 1001: CPU
1002: Main storage unit 1003: Communication control unit 1004: Presentation unit 1005: Input unit 1006: Interface unit 1007: Auxiliary storage unit 1008: System bus
Claims (4)
前記クライアント・サーバ間の通信を中継する前記トランザクションアクセラレータが3以上ある場合において、
前記送信側トランザクションアクセラレータが、
前記クライアント又は前記サーバから受信した前記データを前記キャッシュに保持している場合、当該データに紐付く前記リファレンス情報を前記受信側トランザクションアクセラレータに送信する手段を備え、
前記受信側トランザクションアクセラレータが、
受信した前記リファレンス情報に紐付く前記データを前記キャッシュに保持していない場合、当該データを前記送信側トランザクションアクセラレータへ要求して取得する手段と、
取得した前記データと同一のデータを前記キャッシュに保持している場合、当該データに紐付く前記リファレンス情報を、前記送信側トランザクションアクセラレータから受信した前記リファレンス情報に更新する手段と、
前記キャッシュに保持している前記データに紐付くリファレンス情報を更新した場合、更新前の前記リファレンス情報を共有する他のトランザクションアクセラレータに対し、当該データに紐付く前記リファレンス情報を、前記送信側トランザクションアクセラレータから受信した前記リファレンス情報に更新する旨の更新命令を送信する手段とを備え、
前記他のトランザクションアクセラレータが、
前記更新命令に基づいて、前記データに紐付く前記リファレンス情報を更新する手段を備える
ことを特徴とするトランザクションアクセラレータ。 A proxy function that stores data communicated between a client and a server, and reference information that is uniquely determined based on a combination of a transmission-side transaction accelerator and a reception-side transaction accelerator of the data, and relays the communication of the data A transaction accelerator comprising:
When there are three or more transaction accelerators that relay communication between the client and server,
The sender transaction accelerator is
If the data received from the client or the server is held in the cache, comprising means for transmitting the reference information associated with the data to the receiving transaction accelerator,
The receiving transaction accelerator is
If the data associated with the received reference information is not held in the cache, means for requesting and obtaining the data from the sending transaction accelerator;
Means for updating the reference information associated with the data to the reference information received from the transmitting-side transaction accelerator when the same data as the acquired data is held in the cache;
When the reference information associated with the data held in the cache is updated, the reference information associated with the data is transmitted to the other transaction accelerator that shares the reference information before the update. Means for transmitting an update instruction to update the reference information received from
The other transaction accelerator is
A transaction accelerator comprising means for updating the reference information associated with the data based on the update command .
前記クライアント・サーバ間の通信を中継する前記トランザクションアクセラレータが3以上ある場合において、
前記送信側トランザクションアクセラレータが、
前記クライアント又は前記サーバから受信した前記データを前記キャッシュに保持している場合、当該データに紐付く前記リファレンス情報を前記受信側トランザクションアクセラレータに送信する手段を備え、
前記受信側トランザクションアクセラレータが、
受信した前記リファレンス情報に紐付く前記データを前記キャッシュに保持していない場合、当該データを前記送信側トランザクションアクセラレータへ要求して取得する手段と、
取得した前記データと同一のデータを前記キャッシュに保持している場合、当該データに紐付く前記リファレンス情報を、前記送信側トランザクションアクセラレータから受信した前記リファレンス情報に更新する手段と、
前記キャッシュに保持している前記データに紐付くリファレンス情報を更新した場合、更新前の前記リファレンス情報を共有する他のトランザクションアクセラレータに対し、当該データに紐付く前記リファレンス情報を、前記送信側トランザクションアクセラレータから受信した前記リファレンス情報に更新する旨の更新命令を送信する手段とを備え、
前記他のトランザクションアクセラレータが、
前記更新命令に基づいて、前記データに紐付く前記リファレンス情報を更新する手段を備える
ことを特徴とする通信システム。 A proxy function that stores data communicated between a client and a server, and reference information that is uniquely determined based on a combination of a transmission-side transaction accelerator and a reception-side transaction accelerator of the data, and relays the communication of the data A communication system comprising a transaction accelerator having
When there are three or more transaction accelerators that relay communication between the client and server,
The sender transaction accelerator is
If the data received from the client or the server is held in the cache, comprising means for transmitting the reference information associated with the data to the receiving transaction accelerator,
The receiving transaction accelerator is
If the data associated with the received reference information is not held in the cache, means for requesting and obtaining the data from the sending transaction accelerator;
Means for updating the reference information associated with the data to the reference information received from the transmitting-side transaction accelerator when the same data as the acquired data is held in the cache;
When the reference information associated with the data held in the cache is updated, the reference information associated with the data is transmitted to the other transaction accelerator that shares the reference information before the update. Means for transmitting an update instruction to update the reference information received from
The other transaction accelerator is
A unit for updating the reference information associated with the data based on the update command.
A communication system characterized by the above .
前記クライアント・サーバ間の通信を中継する前記トランザクションアクセラレータが3以上ある場合において、
前記送信側トランザクションアクセラレータで、
前記クライアント又は前記サーバから受信した前記データを前記キャッシュに保持している場合、当該データに紐付く前記リファレンス情報を前記受信側トランザクションアクセラレータに送信するステップを有し、
前記受信側トランザクションアクセラレータで、
受信した前記リファレンス情報に紐付く前記データを前記キャッシュに保持していない場合、当該データを前記送信側トランザクションアクセラレータへ要求して取得するステップと、
取得した前記データと同一のデータを前記キャッシュに保持している場合、当該データに紐付く前記リファレンス情報を、前記送信側トランザクションアクセラレータから受信した前記リファレンス情報に更新するステップと、
前記キャッシュに保持している前記データに紐付くリファレンス情報を更新した場合、更新前の前記リファレンス情報を共有する他のトランザクションアクセラレータに対し、当該データに紐付く前記リファレンス情報を、前記送信側トランザクションアクセラレータから受信した前記リファレンス情報に更新する旨の更新命令を送信するステップとを有し、
前記他のトランザクションアクセラレータで、
前記更新命令に基づいて、前記データに紐付く前記リファレンス情報を更新するステップを有する
ことを特徴とする通信方法。 A proxy function that stores data communicated between a client and a server, and reference information that is uniquely determined based on a combination of a transmission-side transaction accelerator and a reception-side transaction accelerator of the data, and relays the communication of the data A communication method between transaction accelerators having:
When there are three or more transaction accelerators that relay communication between the client and server,
In the sender transaction accelerator,
When the data received from the client or the server is held in the cache, the step of transmitting the reference information associated with the data to the receiving transaction accelerator,
In the receiving transaction accelerator,
If the data associated with the received reference information is not held in the cache, requesting and obtaining the data from the sending transaction accelerator;
When the same data as the acquired data is held in the cache, the reference information associated with the data is updated to the reference information received from the transmission side transaction accelerator,
When the reference information associated with the data held in the cache is updated, the reference information associated with the data is transmitted to the other transaction accelerator that shares the reference information before the update. Sending an update instruction to update to the reference information received from
In the other transaction accelerator,
Updating the reference information associated with the data based on the update command;
A communication method characterized by the above .
前記クライアント・サーバ間の通信を中継する前記トランザクションアクセラレータが3以上ある場合において、
前記送信側トランザクションアクセラレータに、
前記クライアント又は前記サーバから受信した前記データを前記キャッシュに保持している場合、当該データに紐付く前記リファレンス情報を前記受信側トランザクションアクセラレータに送信する処理を実行させ、
前記受信側トランザクションアクセラレータに、
受信した前記リファレンス情報に紐付く前記データを前記キャッシュに保持していない場合、当該データを前記送信側トランザクションアクセラレータへ要求して取得する処理と、
取得した前記データと同一のデータを前記キャッシュに保持している場合、当該データに紐付く前記リファレンス情報を、前記送信側トランザクションアクセラレータから受信した前記リファレンス情報に更新する処理と、
前記キャッシュに保持している前記データに紐付くリファレンス情報を更新した場合、更新前の前記リファレンス情報を共有する他のトランザクションアクセラレータに対し、当該データに紐付く前記リファレンス情報を、前記送信側トランザクションアクセラレータから受信した前記リファレンス情報に更新する旨の更新命令を送信する処理とを実行させ、
前記他のトランザクションアクセラレータに、
前記更新命令に基づいて、前記データに紐付く前記リファレンス情報を更新する処理を実行させる
ことを特徴とするプログラム。 A proxy function that stores data communicated between a client and a server, and reference information that is uniquely determined based on a combination of a transmission-side transaction accelerator and a reception-side transaction accelerator of the data, and relays the communication of the data A program executed on a transaction accelerator having:
When there are three or more transaction accelerators that relay communication between the client and server,
In the sender transaction accelerator,
If the data received from the client or the server is held in the cache, execute the process of transmitting the reference information associated with the data to the receiving transaction accelerator,
In the receiving transaction accelerator,
When the data associated with the received reference information is not held in the cache, a process of requesting and acquiring the data from the sending transaction accelerator;
When the same data as the acquired data is held in the cache, the reference information associated with the data is updated to the reference information received from the transmission-side transaction accelerator,
When the reference information associated with the data held in the cache is updated, the reference information associated with the data is transmitted to the other transaction accelerator that shares the reference information before the update. Processing to send an update instruction to update to the reference information received from,
To the other transaction accelerator,
Based on the update command, a process for updating the reference information associated with the data is executed.
A program characterized by that .
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007063121A JP4784909B2 (en) | 2007-03-13 | 2007-03-13 | Transaction accelerator, communication system, communication method, and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007063121A JP4784909B2 (en) | 2007-03-13 | 2007-03-13 | Transaction accelerator, communication system, communication method, and program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2008225833A JP2008225833A (en) | 2008-09-25 |
JP4784909B2 true JP4784909B2 (en) | 2011-10-05 |
Family
ID=39844383
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007063121A Expired - Fee Related JP4784909B2 (en) | 2007-03-13 | 2007-03-13 | Transaction accelerator, communication system, communication method, and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4784909B2 (en) |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3848209B2 (en) * | 2002-05-23 | 2006-11-22 | 株式会社東芝 | Data transfer device, data transfer method and program |
-
2007
- 2007-03-13 JP JP2007063121A patent/JP4784909B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2008225833A (en) | 2008-09-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8438291B2 (en) | Managing web tier session state objects in a content delivery network (CDN) | |
US7676599B2 (en) | System and method of binding a client to a server | |
CN107623729B (en) | Caching method, caching equipment and caching service system | |
US11503105B2 (en) | System and method for content retrieval from remote network regions | |
US11489918B2 (en) | State management and object storage in a distributed cloud computing network | |
US20070061465A1 (en) | Host migration system | |
US20180278688A1 (en) | Content delivery network optimization system | |
JP2004164630A (en) | Client/server communication system | |
CA2430416A1 (en) | A method and apparatus for discovering client proximity using multiple http redirects | |
CN109040337A (en) | A kind of information query method, Edge Server and information query system | |
CN104160680A (en) | Spoofing technique for transparent proxy caching | |
US7945615B1 (en) | Distributed shared persistent objects | |
US20150006622A1 (en) | Web contents transmission method and apparatus | |
WO2017128713A1 (en) | Method and device for publishing subscription message | |
JP5526015B2 (en) | Gateway system, gateway device, and load balancing method | |
US20150215277A1 (en) | Network address translation apparatus with cookie proxy function and method for nat supporting cookie proxy function | |
JP4784909B2 (en) | Transaction accelerator, communication system, communication method, and program | |
WO2020224241A1 (en) | Cloud communication method and apparatus, user equipment, and network device | |
KR102009019B1 (en) | Balancing matching method for terminal directly matching | |
KR100597405B1 (en) | System and method for relaying data by use of socket applicaton program | |
US10348851B1 (en) | Proxy server streaming a resource to multiple requesting client devices while the resource is being received at the proxy server | |
JP4243150B2 (en) | Content distribution system and user terminal device | |
US11960407B1 (en) | Cache purging in a distributed networked system | |
JP6684030B2 (en) | Session information management system and session information management method | |
KR20240082950A (en) | Intermediary apparatus and method for minimizing DNS resolve |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20100916 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100921 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20101122 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110302 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110425 |
|
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: 20110620 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20110703 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140722 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |