JP4784909B2 - Transaction accelerator, communication system, communication method, and program - Google Patents

Transaction accelerator, communication system, communication method, and program Download PDF

Info

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
Application number
JP2007063121A
Other languages
Japanese (ja)
Other versions
JP2008225833A (en
Inventor
英彰 岡本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2007063121A priority Critical patent/JP4784909B2/en
Publication of JP2008225833A publication Critical patent/JP2008225833A/en
Application granted granted Critical
Publication of JP4784909B2 publication Critical patent/JP4784909B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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 client 100 side (CLIENT-SIDE), the transaction accelerator (TA (TRANSACTION ACCELERATOR)) 1000 facing the client-server system for the purpose of speeding up The server 200 side (SERVER-SIDE) transaction accelerator 1000 (1000-1 to 1000-n) (STA) is arranged via the Internet 300, respectively. Further, a server form manager 400 that manages communication data between the STA and the server 200 and performs addition / distribution of the server 200 may be disposed between the STA and the server 200.

TA1000を介したクライアント100とサーバ200での通信では、はじめて流れたデータはキャッシュを使用せず通信される。通信されたデータはセグメントデータとしてCTA,STA内のキャッシュ領域に格納され、各セグメントに対して一意なリファレンスが設定される。CTA,STA内のキャッシュ領域に格納されたセグメントデータと同一のデータが通信される場合はデータをリファレンスに変換して送信し、受信したTA1000がリファレンスからセグメントデータを復元する。   In communication between the client 100 and the server 200 via the TA 1000, data that has flowed for the first time is communicated without using a cache. The communicated data is stored as segment data in a cache area in the CTA and STA, and a unique reference is set for each segment. When the same data as the segment data stored in the cache areas in the CTA and STA is communicated, the data is converted into a reference and transmitted, and the received TA 1000 restores the segment data from the reference.

TA1000内部の構造を図15に示し、図15を参照してTA1000の各構成要素の動作を以下に説明する。   The internal structure of the TA 1000 is shown in FIG. 15, and the operation of each component of the TA 1000 will be described below with reference to FIG.

クライアント100側に接続するプロキシ(PLOXY)1100は、クライアント100がサーバ200への通信を行う際、クライアント100からの要求を受け取り、サーバ200への通信を代理して行う。複数のクライアント100からの要求があった場合も同様に、クライアント100側に接続するプロキシ1100が一括して通信を管理する。   A proxy (PLOXY) 1100 connected to the client 100 side receives a request from the client 100 when the client 100 communicates with the server 200, and performs communication to the server 200 as a proxy. Similarly, when there is a request from a plurality of clients 100, the proxy 1100 connected to the client 100 side collectively manages communication.

トランザクショントランスフォーマ(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 proxy 1100 connected to the client 100 side into segment data, and together with reference information, a persistent segment storage (PERSISTENT SEGMENT STORAGE (PSS)) The function stored in 1500 and (2) the data flowing from the proxy 1100 connected to the client 100 side is compared with the segment data stored in the PSS 1500, and if it is the same segment, that portion is converted into a reference and transmitted It has the function to do.

インバーストランザクショントランスフォーマ(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 opposing TA 1000 together with reference information in the PSS 1500, and (2) transmission data from the opposing TA 1000. When there is a reference, it has a function of inquiring a reference resolver (REFERENCE RESOLVER (RR)) 1400 for segment data referred to by the reference, and restoring the entire transmitted data to data without a reference.

リファレンスリゾルバ(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 PSS 1500, and (2) the reference with the inquired reference. When the segment data to be transmitted does not exist in the PSS 1500, the segment data is received from the transmission source TA 1000 and returned as a response.

サーバ200側のプロキシ1100は、サーバ200がクライアント100への通信を行う際、サーバ200からの要求を受け取り、クライアント100への通信を代理して行う。複数のサーバ200からの要求があった場合も同様に、サーバ200側のプロキシ11100が一括して通信を管理する。   When the server 200 communicates with the client 100, the proxy 1100 on the server 200 side receives a request from the server 200 and performs communication with the client 100 as a proxy. Similarly, when there is a request from a plurality of servers 200, the proxy 11100 on the server 200 side manages communication collectively.

PSS1500内でのキャッシュデータ1510は、リファレンスとセグメントデータの組という形で格納される(図2参照)。リファレンス情報はグローバルに一意な値が使用される。例えば対向するTA1000をTA1、TA2とすると、リファレンス情報はTA1につけられたグローバルで一意な値(例:MACアドレス)とTA2につけられたグローバルで一意な値、さらにシーケンシャル番号を組み合わせて作成される。   The cache data 1510 in the PSS 1500 is stored in the form of a set of reference and segment data (see FIG. 2). A globally unique value is used for the reference information. For example, if TA1 and TA2 that face each other are TA1 and TA2, the reference information is created by combining a globally unique value (for example, a MAC address) given to TA1, a globally unique value given to TA2, and a sequential number.

図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 PSS 1500 is replaced with the reference and output as output data.

次に、上記従来のクライアント−サーバシステムの動作を説明する。なお、各TA1000の状態は、キャッシュされたデータを持たない状態を初期状態とする。   Next, the operation of the conventional client-server system will be described. Note that the state of each TA 1000 is the initial state when there is no cached data.

TA1がTA2にデータ(セグメント(segment)1)を送信する際の動作を説明する(図4の通信1)。   The operation when TA1 transmits data (segment 1) to TA2 will be described (communication 1 in FIG. 4).

TA1のプロキシ(クライアント側又はサーバ側のプロキシ)1100がセグメント(segment)1をTT1200に渡す。(図16の(1))   The TA1 proxy (client side or server side proxy) 1100 passes the segment 1 to the TT 1200. ((1) in FIG. 16)

TA1のトランザクショントランスフォーマ1200は、セグメント1をPSS1500の中で探索する。上記初期状態により存在しないのでリファレンスR(1,2)を作成し、PSS1500にセグメント1を格納する。(図16(2))   The TA1 transaction transformer 1200 searches the PSS 1500 for segment 1. Since it does not exist in the initial state, the reference R (1, 2) is created and the segment 1 is stored in the PSS 1500. (Fig. 16 (2))

TA1のTT1200は、TA2のITT1300に対してセグメント1を送信する。(図16(3))   The TT 1200 of TA1 transmits segment 1 to the ITT 1300 of TA2. (Fig. 16 (3))

TA2のITT1300では、リファレンスR(1,2)とセグメント1をPSS1500に格納する。(図16(4))   In the ITT 1300 of TA2, the reference R (1, 2) and the segment 1 are stored in the PSS 1500. (Fig. 16 (4))

TA2のITT1300は、セグメント1をプロキシ1100に渡す。(図16(5))   The ITT 1300 of TA2 passes the segment 1 to the proxy 1100. (Fig. 16 (5))

図4の通信1の結果として、TA1とTA2の両方でリファレンスR(1,2)とセグメント1がPSS1500に格納される。   As a result of the communication 1 of FIG. 4, the reference R (1,2) and the segment 1 are stored in the PSS 1500 in both TA1 and TA2.

次いで、TA3がTA4にセグメント1を送信する際の動作を説明する(図4の通信2)。   Next, the operation when TA3 transmits segment 1 to TA4 will be described (communication 2 in FIG. 4).

TA3のプロキシ1100が、セグメント1をTT1200に渡す。(図17(1))   TA3 proxy 1100 passes segment 1 to TT1200. (Fig. 17 (1))

TA3のTT1200は、セグメント1をPSS1500の中で探索する。上記初期状態により存在しないのでリファレンスR(3,4)を作成し、PSS1500にセグメント1を格納する。(図17(2))   The TA3 TT 1200 searches for the segment 1 in the PSS 1500. Since it does not exist in the initial state, a reference R (3, 4) is created and segment 1 is stored in the PSS 1500. (Fig. 17 (2))

TA3のTT1200は、TA4のITT1300に対してセグメント1を送信する。(図17(3))   TT 1200 of TA3 transmits segment 1 to ITT 1300 of TA4. (Fig. 17 (3))

TA4のITT1300ではリファレンスR(3,4)とセグメント1をPSS1500に格納する。(図17(4))   In ITT 1300 of TA4, reference R (3, 4) and segment 1 are stored in PSS 1500. (Fig. 17 (4))

TA4のITT1300は、セグメント1をプロキシ1100に渡す。(図17(5))   The ITT 1300 of TA4 passes the segment 1 to the proxy 1100. (Fig. 17 (5))

図4の通信2の結果として、TA3とTA4の両方でリファレンスR(3,4)とセグメント1がPSS1500に格納される。   As a result of the communication 2 in FIG. 4, the reference R (3, 4) and the segment 1 are stored in the PSS 1500 in both TA3 and TA4.

次いで、TA1がTA3にセグメント1を送信する際の動作を説明する(図5の通信3)。   Next, the operation when TA1 transmits segment 1 to TA3 will be described (communication 3 in FIG. 5).

TA1のプロキシ1100が、セグメント1をTT1200に渡す(図18(1))。   The proxy 1100 of TA1 passes the segment 1 to the TT 1200 (FIG. 18 (1)).

TA1のTT1200は、セグメント1をPSS1500の中で探索する。上記通信1によりデータが存在するのでセグメント(segment)1とリファレンスR(1,2)を変換する(図18(2))。   TT 1200 of TA1 searches for segment 1 in PSS 1500. Since data exists by the communication 1, the segment 1 and the reference R (1, 2) are converted (FIG. 18 (2)).

TA1のTT1200は、R(1,2)をTA3のITT1300に送信する(図18(3))。   The TT 1200 of TA1 transmits R (1,2) to the ITT 1300 of TA3 (FIG. 18 (3)).

TA3のITT1300は、送られてきたものがリファレンスR(1,2)のため、RR1400に処理を依頼する(図18(4))。   The ITT 1300 of TA3 requests the RR 1400 to perform processing because the sent information is the reference R (1, 2) (FIG. 18 (4)).

TA3のRR1400は、PSS1500にリファレンスR(1,2)があるか調べる(図18(5))。   The TA3 RR 1400 checks whether the PSS 1500 has the reference R (1, 2) (FIG. 18 (5)).

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 RR 1400 of TA1 extracts the segment 1 from the PSS 1500 (FIG. 18 (7)), and returns the extracted segment 1 to the RR 1400 of TA3 (FIG. 18 (8)).

TA3のRR1400は、返ってきたセグメント1をITT1300に返す(図19(9))。   The RR 1400 of TA3 returns the returned segment 1 to the ITT 1300 (FIG. 19 (9)).

TA3のITT1300は、リファレンス(1,2)とセグメント1をPSS1500に格納する。(図19(10))。   The ITT 1300 of TA3 stores the reference (1, 2) and the segment 1 in the PSS 1500. (FIG. 19 (10)).

TA3のITT1300は、セグメント1をプロキシ1100に渡す(図19(11))。   The ITT 1300 of TA3 passes the segment 1 to the proxy 1100 (FIG. 19 (11)).

図5の通信3の結果として、TA3にリファレンスR(1,2)とセグメント1がPSS1500に追加される。   As a result of the communication 3 in FIG. 5, the reference R (1, 2) and the segment 1 are added to the PSS 1500 in TA3.

これらの通信の結果、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回目の通信で同じデータに同じリファレンスを作成することができることから、次回の通信からはリファレンスデータをやり取りすることが可能となる。
米国特許229016号公報
That is, in the above conventional system, the cache reference between the plurality of TAs 1000 is used independently between the two TAs 1000, so that it is guaranteed that the same reference points to the same data in the TAs 1000 that have communicated once. Therefore, the cache can be used. For this reason, when the above conventional technique is used, the same reference can be created for the same data in the first communication in the communication between the two TAs 1000, so that the reference data can be exchanged from the next communication. It becomes.
US Patent No. 229,016

しかし、上記従来のシステムは、一度も通信したことのない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 TA 1000, and the cache may not be used due to a difference in reference. As a result, there is a problem in that data transfer is performed instead of reference, and the amount of communication increases.

すなわち、上記従来のシステムは、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 segment 1 is stored in the PSS 1500 for both TA2 and TA4, the cache cannot be used because the reference is different.

(発明の目的)
本発明の目的は、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 TA 1000 is not only shared between the TAs 1000 facing each other as in the current method, but also shared by a plurality of TAs 1000 to realize reference sharing. A reference distributor (REFERENCE DISTRIBUTOR (RD)) having a function of updating and distributing is provided.

(作用)
このリファレンスディストリビュータを備えることによって、本発明は、すでにキャッシュに存在するデータと同様のデータが異なるリファレンスで通信される場合に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 TA 1000, and appropriately distributes the delivery destination. Realize the management function.

本発明によるリファレンスディストリビュータ(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 TA 1000 when the TA 1000 performs communication. A function, a function of storing information of the opposing TA 1000 so that the partner can be notified when the reference is changed again, and a function of delivering according to the stored TA 1000 information when the reference is actually rewritten And have. The TA 1000 in the distributed position updates the reference information, and further distributes if there is a partner to be distributed.

すなわち、本発明によるリファレンスディストリビュータの機能概要は、以下のようになる。   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 TA 1000 when the RR 1400 requests the data referenced by the reference to the opposing TA 1000, and the search As a result of the above, if it exists in the cache, it means that there is a difference in the reference to the same data with the opposite TA 1000, so the old reference that was originally in TA 1000 is updated to the new reference that was sent. With the function to do.

(2)実データを通信したことがあるTA1000に関する情報(IPアドレス等)を、通信したデータへのリファレンスと対応させ、配信情報として配信情報データベースに保管する機能を持つ。保管する配信情報は、(a)初めて送受信するデータをやり取りした対向するTA1000の情報、(b)リファレンスをやり取りしたが、受信側キャッシュ内で解決できず送受信を行った場合の対向するTA1000の情報とする。   (2) A function of storing information (IP address or the like) related to the TA 1000 that has actually communicated with the actual data in correspondence with a reference to the communicated data and storing it in the distribution information database as distribution information. The distribution information to be stored is (a) information on the opposite TA 1000 that exchanged data to be transmitted and received for the first time, and (b) information on the opposite TA 1000 when the reference is exchanged but cannot be resolved in the reception side cache and is transmitted and received. And

(3)配信情報データベースに登録された配信情報に従って、リファレンスの情報を適切なTA1000に配信する機能を持つ。   (3) A function of distributing reference information to an appropriate TA 1000 according to distribution information registered in the distribution information database.

(4)リファレンス情報を受信したTA1000内RDは、自PSS1500内のリファレンス情報を変更するとともに、配信情報データベースの配信情報に従って、他のTA1000にも配信する機能を持つ。   (4) The RD in TA 1000 that has received the reference information has a function of changing the reference information in its own PSS 1500 and distributing it to other TAs 1000 according to the distribution information in the distribution information database.

本実施の形態によれば、以下の効果を達成できる。   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 TA 1000, reference information is transmitted when three or more TA 1000s communicate. This is because the inconsistency of references for the same data is resolved by distributing / updating.

本発明による第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 client 100 side ( CLIENT-SIDE) transaction accelerator 1000 (1000-1 to 1000-n) (CTA), server 200 side (SERVER-SIDE) transaction accelerator 1000 (1000-1 to 1000-n) (STA) Through. Further, a server form manager 400 that manages communication data between the STA and the server 200 and performs addition / distribution of the server 200 may be disposed between the STA and the server 200.

上述したように、TA1000を介したクライアント100とサーバ200での通信では、はじめて流れたデータはキャッシュを使用せず通信され、通信されたデータはセグメントデータとしてCTA,STA内のキャッシュ領域に格納され、各セグメントに対して一意なリファレンスが設定される。CTA,STA内のキャッシュ領域に格納されたセグメントデータと同一のデータが通信される場合はデータをリファレンスに変換して送信し、受信したTA1000がリファレンスからセグメントデータを復元する。   As described above, in communication between the client 100 and the server 200 via the TA 1000, data that has flowed for the first time is communicated without using a cache, and the communicated data is stored as segment data in a cache area in the CTA and STA. A unique reference is set for each segment. When the same data as the segment data stored in the cache areas in the CTA and STA is communicated, the data is converted into a reference and transmitted, and the received TA 1000 restores the segment data from the reference.

図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 client 100 side, a transaction transformer (TRANSACTION TRANSFORMER (TT)) 1200, and an inverse transaction transformer (INVERSE TRANSFORMATION TRANSFORMER (ITT)) 1300. A reference resolver (REFERENCE RESOLVER (RR)) 1400, a persistent segment storage (PERSISTENT SEGMENT STORAGE (PSS)) 1500, and a reference distributor (REFERENCE DISTRIBUTOR (RD)) 1600. Proxy (PLOXY) 1100 and transaction traffic It comprises a Sufoma (TT) 1200, and inverse transaction transformer (ITT) 1300, a reference resolver (RR) 1400, a persistent segment storage PSS1500, a reference distributor (RD) 1600.

なお、上記j構成は一例であり、CTAがサーバ200側のプロキシ1100をさらに備え、STAがクライアント100側のプロキシ1100をさらに備えていてもよい。   The j configuration is an example, and the CTA may further include a proxy 1100 on the server 200 side, and the STA may further include a proxy 1100 on the client 100 side.

クライアント100側のプロキシ1100は、クライアント100がサーバ200への通信を行う際、クライアント100からの要求を受け取り、サーバ200への通信を代理して行う。複数のクライアント100からの要求があった場合も同様に、クライアント100側のプロキシ1100が一括して通信を管理する。   When the client 100 communicates with the server 200, the proxy 1100 on the client 100 side receives a request from the client 100 and performs communication with the server 200 on behalf of the proxy. Similarly, when there is a request from a plurality of clients 100, the proxy 1100 on the client 100 side manages communication collectively.

トランザクショントランスフォーマ(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 proxy 1100 on the client 100 side into segment data and storing the data in the PSS 1500 together with reference information, and (2) a flow from the proxy 1100 on the client 100 side. It has a function of comparing incoming data with segment data stored in the PSS 1500, and converting the portion into a reference if it is the same segment and transmitting it.

インバーストランザクショントランスフォーマ(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 TA 1000 in the PSS 1500 together with reference information, and (2) a reference in the transmission data from the opposing TA 1000. It has a function of inquiring of a reference resolver (RR) 1400 for segment data referred to by the reference, and restoring the entire transmitted data to data without a reference.

リファレンスリゾルバ(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 PSS 1500, and (2) the reference with the inquired reference. When the segment data to be transmitted does not exist in the PSS 1500, the segment data is received from the transmission source TA 1000 and returned as a response.

サーバ200側のプロキシ1100は、サーバ200がクライアント100への通信を行う際、サーバ200からの要求を受け取り、クライアント100への通信を代理して行う。複数のサーバ200からの要求があった場合も同様に、サーバ200側のプロキシ1100が一括して通信を管理する。   When the server 200 communicates with the client 100, the proxy 1100 on the server 200 side receives a request from the server 200 and performs communication with the client 100 as a proxy. Similarly, when there is a request from a plurality of servers 200, the proxy 1100 on the server 200 side manages communication collectively.

PSS1500内でのキャッシュデータ1510は、リファレンスとセグメントデータの組という形で格納される(図2参照)。リファレンス情報はグローバルに一意な値が使用される。例えば対向するTA1000をTA1、TA2とすると、リファレンス情報はTA1につけられたグローバルで一意な値(例:MACアドレス)とTA2につけられたグローバルで一意な値、さらにシーケンシャル番号を組み合わせて作成される。   The cache data 1510 in the PSS 1500 is stored in the form of a set of reference and segment data (see FIG. 2). A globally unique value is used for the reference information. For example, if TA1 and TA2 that face each other are TA1 and TA2, the reference information is created by combining a globally unique value (for example, a MAC address) given to TA1, a globally unique value given to TA2, and a sequential number.

上述したように、図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 PSS 1500 is replaced with the reference and output as output data.

次に、本発明の特徴であるリファレンスディストリビュータ(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) processing unit 1601, a TT request processing unit 1602, a distribution information addition processing unit 1603, a distribution information database ( DB) 1604, ITT request processing unit 1605, RR request processing unit 1606, PSS data processing unit 1607, reference information calculation processing unit 1608, transmission processing unit 1609, reception processing unit 1610, and communication processing unit 1611. With.

I/O処理部1601は、TA1000内の他の要素からのデータ送受信を行う機能を有する。   The I / O processing unit 1601 has a function of performing data transmission / reception from other elements in the TA 1000.

TTリクエスト処理部1602は、TT1200がPSS1500に存在しないデータを送信するとき、I/O処理部1601を通してTT1200からリファレンスと通信情報(IPアドレス)を受け取って配信情報追加処理部1603に渡す機能を有する。   The TT request processing unit 1602 has a function of receiving reference and communication information (IP address) from the TT 1200 through the I / O processing unit 1601 and passing them to the distribution information addition processing unit 1603 when the TT 1200 transmits data that does not exist in the PSS 1500. .

配信情報追加処理部1603は、リファレンスと通信情報を配信情報データベース1604に格納する機能を有する。   The distribution information addition processing unit 1603 has a function of storing the reference and communication information in the distribution information database 1604.

配信情報データベース1604は記憶領域で、リファレンスと通信情報を格納する機能を有する。   The distribution information database 1604 is a storage area and has a function of storing reference and communication information.

ITTリクエスト処理部1605は、ITT1300がPSS1500に存在しないデータを受信するとき、I/O処理部1601を通してITT1300からリファレンスと通信情報を受け取って配信情報追加処理部1603に渡す機能を有する。   The ITT request processing unit 1605 has a function of receiving reference and communication information from the ITT 1300 through the I / O processing unit 1601 and passing it to the distribution information addition processing unit 1603 when the ITT 1300 receives data that does not exist in the PSS 1500.

RRリクエスト処理部1606は、RR1400がリファレンスでないデータを送信するとき、I/O処理部1601を通してRR1400からリファレンスと通信情報を受け取って配信情報追加処理部1603に渡す機能を有する。また、RRリクエスト処理部1606は、RR1400がリファレンスでないデータを受信するとき、I/O処理部1601を通してRR1400からリファレンスとそれが指すデータ、通信情報を受け取ってPSSデータ処理部1607に渡す機能を有する。   The RR request processing unit 1606 has a function of receiving reference and communication information from the RR 1400 through the I / O processing unit 1601 and passing it to the distribution information addition processing unit 1603 when the RR 1400 transmits non-reference data. The RR request processing unit 1606 has a function of receiving a reference, data pointed to by the RR 1400 and communication information from the RR 1400 through the I / O processing unit 1601 and passing them to the PSS data processing unit 1607 when the RR 1400 receives non-reference data. .

PSSデータ処理部1607は、受け取ったデータをPSS1500内で探索し、存在する場合は旧リファレンスを新しく受け取ったリファレンスに更新する機能を有し、また、新旧のリファレンスの更新の配信情報データベース1604内への適用をリファレンス情報計算処理部1608に依頼する機能を有する。   The PSS data processing unit 1607 has a function of searching the received data in the PSS 1500 and updating the old reference to the newly received reference if it exists, and into the distribution information database 1604 for updating the old and new references. Has a function of requesting the reference information calculation processing unit 1608 to apply.

リファレンス情報計算処理部1608は、受け取った新旧リファレンスの更新を配信情報データベース1604内で実行する機能を有する。さらに、送信処理部1609にリファレンス更新の配信を依頼する機能を有する。   The reference information calculation processing unit 1608 has a function of executing update of the received old and new references in the distribution information database 1604. Further, it has a function of requesting the transmission processing unit 1609 to distribute reference updates.

送信処理部1609は、通信処理部1611を通してリファレンス更新を行うためのデータを配信する機能を有する。   The transmission processing unit 1609 has a function of distributing data for performing reference update through the communication processing unit 1611.

受信処理部1610は、通信処理部1611を通してリファレンス更新を行うためのデータを受け取ってリファレンス情報計算処理部1608に渡す機能を有する。   The reception processing unit 1610 has a function of receiving data for performing reference update through the communication processing unit 1611 and passing it to the reference information calculation processing unit 1608.

通信処理部1611は、他のTA1000のTDとの通信を行う機能を有する。   The communication processing unit 1611 has a function of performing communication with other TDs of the TA 1000.

ここで、トランザクションアクセラレータ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 transaction accelerator 1000 according to the present invention can be realized by a hardware configuration similar to that of a general computer device, and a main memory such as a CPU (Central Processing Unit) 1001 and a RAM (Random Access Memory). A main storage unit 1002 used for a data work area and a temporary data save area, a communication control unit 1003 for transmitting and receiving data via the Internet 300, a display unit 1004 such as a liquid crystal display, a printer and a speaker, a keyboard, Non-volatile memory such as an input unit 1005 such as a mouse, an interface unit 1006 that transmits and receives data by connecting to a peripheral device, a ROM (Read Only Memory), a magnetic disk, and a semiconductor memory Auxiliary memory unit 1007 is et a hard disk device, and a system bus 1008 for connecting the above components of the information processing apparatus to each other.

本発明によるトランザクションアクセラレータ1000は、その動作を、トランザクションアクセラレータ1000内部にそのような機能を実現するプログラムを組み込んだ、LSI(Large Scale Integration)等のハードウェア部品からなる回路部品を実装してハードウェア的に実現することは勿論として、上記した各構成要素の各機能を提供するプログラムを、コンピュータ処理装置上のCPU1001で実行することにより、ソフトウェア的に実現することができる。   The transaction accelerator 1000 according to the present invention is implemented by mounting circuit components composed of hardware components such as an LSI (Large Scale Integration) in which a program for realizing such functions is incorporated in the transaction accelerator 1000. As a matter of course, it can be realized in software by executing a program for providing each function of each component described above by the CPU 1001 on the computer processing apparatus.

すなわち、CPU1001は、補助記憶部1007に格納されているプログラムを、主記憶部1002にロードして実行し、トランザクションアクセラレータ1000の動作を制御することにより、上述した各機能をソフトウェア的に実現する。   That is, the CPU 1001 loads the program stored in the auxiliary storage unit 1007 into the main storage unit 1002 and executes it, and controls the operation of the transaction accelerator 1000, thereby realizing the above-described functions in software.

(第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 TA 1000, a state having no cached data is set as an initial state.

図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 communication 1 in FIG. 4).

TA1のプロキシは、セグメント1をTT1200に渡す(図9(1))。   The proxy of TA1 passes segment 1 to TT1200 (FIG. 9 (1)).

TA1のトランザクショントランスフォーマ(TT)は、セグメント1をPSS1500の中で探索する。上記初期状態によりセグメント1は存在しないのでリファレンスR(1,2)を作成し、PSS1500にセグメント1を格納する。(図9(2))   TA1's transaction transformer (TT) searches for segment 1 in PSS 1500. Since segment 1 does not exist in the initial state, reference R (1,2) is created and segment 1 is stored in PSS 1500. (Fig. 9 (2))

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 TT 1200 of TA1 passes the reference R (1,2) and the IP address of TA2 to the TT request processing unit 1602 through the RD I / O processing unit 1601 (FIG. 9 (3) (4)). The TT request processing unit 1602 passes the IP address of R (1,2) and TA2 to the distribution information addition processing unit 1603 (FIG. 9 (5)), and the distribution information addition processing unit 1603 transmits the R (1,2) and TA2 Processing for storing the IP address in the distribution information DB 1604 is performed (FIG. 9 (6)).

TA1のTT1200は、TA2のITT1300に対してセグメント1を送信する。(図9(7))   The TT 1200 of TA1 transmits segment 1 to the ITT 1300 of TA2. (Fig. 9 (7))

TA2のITT1300ではセグメント1とリファレンスR(1,2)をPSS1500に格納する。(図9(8))   In ITT 1300 of TA2, segment 1 and reference R (1, 2) are stored in PSS 1500. (Fig. 9 (8))

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 ITT 1300 of TA2 passes the reference R (1,2) and the IP address of TA1 to the ITT request processing unit 1605 through the RD I / O processing unit 1601 (FIGS. 9 (9) and 10). The ITT request processing unit 1605 passes the IP address of R (1,2) and TA1 to the distribution information addition processing unit 1603 (FIG. 9 (11)), and the distribution information addition processing unit 1603 transmits R (1,2) and TA1. Processing for storing the IP address in the distribution information DB 1604 is performed (FIG. 9 (12)).

TA2のITT1300はセグメント1をプロキシに渡す(図9(13))。   The ITT 1300 of TA2 passes segment 1 to the proxy (FIG. 9 (13)).

上記説明した動作により、図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 communication 1 in FIG. 4, the reference R (1, 2) and the segment 1 are stored in the PSS 1500 in both TA1 and TA2. Further, the distribution information DB 1604 for TA1 and TA2 stores reference R (1,2) and the mutual IP address.

次いで、TA3がTA4にセグメント1を送信する際の動作を説明する(図4の通信2参照)。   Next, the operation when TA3 transmits segment 1 to TA4 will be described (see communication 2 in FIG. 4).

図10は、本実施の形態によるTA3がTA4にセグメント1を送信する際の動作を説明するである。   FIG. 10 illustrates the operation when TA3 according to this embodiment transmits segment 1 to TA4.

TA3のプロキシがセグメント1をTT1200に渡す。(図10(1))   TA3 proxy passes segment 1 to TT1200. (Fig. 10 (1))

TA3のTT1200はセグメント1をPSS1500の中で探索する。上記初期状態によりセグメント1が存在しないのでリファレンスR(3,4)を作成し、PSS1500にセグメント1を格納する。(図10(2))   TT 1200 of TA3 searches for segment 1 in PSS 1500. Since segment 1 does not exist in the initial state, reference R (3,4) is created and segment 1 is stored in PSS 1500. (Fig. 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 TT 1200 of TA3 passes the reference R (3,4) and the IP address of TA4 to the TT request processing unit 1602 through the RD I / O processing unit 1601 (FIG. 10 (3) (4)). The TT request processing unit 1602 passes the IP address of R (3,4) and TA4 to the distribution information addition processing unit 1603 (FIG. 10 (5)), and the distribution information addition processing unit 1603 transmits R (3,4) and TA4. Processing for storing the IP address in the distribution information DB 1604 is performed (FIG. 10 (6)).

TA3のTT1200は、TA4のITT1300に対してセグメントを送信する(図10(7))。   The TA3 TT 1200 transmits a segment to the TA4 ITT 1300 (FIG. 10 (7)).

TA4のITT1300ではセグメント1とリファレンスR(3,4)をPSS1500に格納する。(図10(8))   In ITT 1300 of TA4, segment 1 and reference R (3,4) are stored in PSS 1500. (Fig. 10 (8))

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 ITT 1300 of TA4 passes the reference R (3, 4) and the IP address of TA3 to the ITT request processing unit 1605 through the I / O processing unit 1601 of the RD (FIGS. 10 (9) and 10). The ITT request processing unit 1605 passes the IP address of R (3,4) and TA3 to the distribution information addition processing unit 1603 (FIG. 10 (11)), and the distribution information addition processing unit 1603 transmits R (3,4) and TA3. Processing for storing the IP address in the distribution information DB 1604 is performed (FIG. 10 (12)).

TA4のITT1300はセグメント1をプロキシに渡す(図10(13))。   The ITT 1300 of TA4 passes the segment 1 to the proxy (FIG. 10 (13)).

上記説明した動作により、図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 communication 2 in FIG. 4, the reference R (3, 4) and the segment 1 are stored in the PSS 1500 in both TA3 and TA4. Further, the distribution information DB 1604 of TA3 and TA4 stores the reference R (3, 4) and the mutual IP address.

次いで、TA1がTA3にセグメント1を送信する際の動作を説明する(図5の通信3参照)。   Next, the operation when TA1 transmits segment 1 to TA3 will be described (see communication 3 in FIG. 5).

図11〜図14は、本実施の形態によるTA1がTA3にセグメント1を送信する際の動作を説明するである。   FIGS. 11 to 14 are diagrams for explaining the operation when TA1 according to the present embodiment transmits segment 1 to TA3.

TA1のプロキシが、セグメント1をTT1200に渡す(図11(1))。   The proxy of TA1 passes segment 1 to TT1200 (FIG. 11 (1)).

TA1のTT1200は、セグメント1をPSS1500の中で探索する。上記通信1により存在するのでセグメント1とリファレンスR(1,2)を変換する(図11(2))。   TT 1200 of TA1 searches for segment 1 in PSS 1500. Since it exists by the communication 1, the segment 1 and the reference R (1, 2) are converted (FIG. 11 (2)).

TA1のTT1200は、リファレンスR(1,2)をTA3のITT1300に送信する(図11(3))。   The TT 1200 of TA1 transmits the reference R (1,2) to the ITT 1300 of TA3 (FIG. 11 (3)).

TA3のITT1300は、受信したリファレンスR(1,2)の解決をRR1400に依頼する(図11(4))。   The ITT 1300 of TA3 requests the RR 1400 to resolve the received reference R (1,2) (FIG. 11 (4)).

TA3のRR1400は、リファレンスR(1,2)をPSS1500の中で探索する(図11(5))。   The TA3 RR 1400 searches the PSS 1500 for the reference R (1,2) (FIG. 11 (5)).

PSS1500内にリファレンスR(1,2)が存在しないため、TA1のRR1400にリファレンスR(1,2)の解決を依頼する(図11(6))。   Since there is no reference R (1,2) in the PSS 1500, the RR 1400 of TA1 is requested to resolve the reference R (1,2) (FIG. 11 (6)).

TA1のRR1400は、リファレンスR(1,2)が指すデータをPSS1500内で探索する(図11(7))。   The TA1 RR 1400 searches the PSS 1500 for data indicated by the reference R (1, 2) (FIG. 11 (7)).

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 RR 1400 of TA1 passes the reference R (1,2) and the IP address of TA3 to the RR request processing unit 1606 via the RD I / O processing unit 1601 (FIGS. 11 (8) (9)). Further, the RR request processing unit 1606 of TA1 passes R (1,2) and the IP address of TA3 to the distribution information addition processing unit 1603 (FIG. 11 (10)).

配信情報追加処理部1603は、配信情報DB1604にR(1,2)とTA3のIPアドレスを格納する。(図12(11))。   The distribution information addition processing unit 1603 stores the IP address of R (1,2) and TA3 in the distribution information DB 1604. (FIG. 12 (11)).

TA1のRR1400は、セグメント1をTA3のRR1400に返す(図12(12))。   The RR 1400 of TA1 returns the segment 1 to the RR 1400 of TA3 (FIG. 12 (12)).

TA3のRR1400は、セグメント1をITT1300に返す(図12(13))。   The RR 1400 of TA3 returns the segment 1 to the ITT 1300 (FIG. 12 (13)).

TA3のITT1300は、セグメント1をプロキシに返す(図12(14))。   The ITT 1300 of TA3 returns the segment 1 to the proxy (FIG. 12 (14)).

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 RR 1400 of TA3 passes the reference R (1,2) and the IP address of TA1 to the RR request processing unit 1606 via the RD I / O processing unit 1601 (FIGS. 12 (15) and (16)). Further, the RR request processing unit 1606 of TA3 passes R (1,2) and the IP address of TA1 to the distribution information addition processing unit 1603 (FIG. 12 (17)).

配信情報追加処理部1603は、配信情報DB1604にR(1,2)とTA1のIPアドレスを格納する(図12(18))。   The distribution information addition processing unit 1603 stores the IP addresses of R (1, 2) and TA1 in the distribution information DB 1604 ((18) in FIG. 12).

TA3のRRリクエスト処理部1606は、PSSデータ処理部1607にR(1,2)とセグメント1を渡す(図12(19))。   The RR request processing unit 1606 of TA3 passes R (1,2) and segment 1 to the PSS data processing unit 1607 (FIG. 12 (19)).

TA3のPSSデータ処理部1607は、I/O処理部1601を介してPSS1500内にセグメント1が存在しないかを探索する。存在するのでリファレンスをR(3,4)からR(1,2)に更新する。(図13(20)(21))。   The TA3 PSS data processing unit 1607 searches the PSS 1500 for the presence of segment 1 via the I / O processing unit 1601. Since it exists, the reference is updated from R (3,4) to R (1,2). (FIG. 13 (20) (21)).

TA3のPSSデータ処理部1607は、R(3,4)からR(1,2)への更新命令をリファレンス情報計算処理部1608に渡す(図13(22))。リファレンス情報計算処理部1608は、配信情報DB1604のR(3,4)をR(1,2)に更新する(図13(23))。   The PSS data processing unit 1607 of TA3 passes an update command from R (3,4) to R (1,2) to the reference information calculation processing unit 1608 (FIG. 13 (22)). The reference information calculation processing unit 1608 updates R (3,4) in the distribution information DB 1604 to R (1,2) (FIG. 13 (23)).

TA3のリファレンス情報計算処理部1608は、TA4に向けて、R(3,4)からR(1,2)への更新命令を送ることを送信処理部1609に依頼する(図13(24))。送信処理部1609は、通信処理部1611を介してTA4に対し命令を送信する(図13(25)(26))。   The reference information calculation processing unit 1608 of TA3 requests the transmission processing unit 1609 to send an update command from R (3,4) to R (1,2) toward TA4 (FIG. 13 (24)). . The transmission processing unit 1609 transmits an instruction to TA4 via the communication processing unit 1611 (FIGS. 13 (25) and (26)).

TA4の受信処理部1610は、R(3,4)からR(1,2)への更新命令をリファレンス情報計算処理部1608に渡す(図14(27)(28))。リファレンス情報計算処理部1608は、配信情報DB1604のR(3,4)をR(1,2)に更新する(図14(29))。   The TA4 reception processing unit 1610 passes an update instruction from R (3,4) to R (1,2) to the reference information calculation processing unit 1608 (FIGS. 14 (27) and (28)). The reference information calculation processing unit 1608 updates R (3,4) in the distribution information DB 1604 to R (1,2) (FIG. 14 (29)).

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 calculation processing unit 1608 of TA4 requests the PSS data processing unit 1607 to update from R (3,4) to R (1,2) (FIG. 14 (30)). The PSS data processing unit 1607 updates the reference R (3, 4) in the PSS 1500 to R (1, 2) through the I / O processing unit 1601 (FIGS. 14 (31) and (32)).

上記説明した動作により、TA1とTA3間でセグメント1というデータが通信された結果として、TA3にデータ(セグメント1)がR(1,2)の参照データとしてPSS1500に格納される。また、TA4にも同様にデータ(セグメント1)がR(1,2)の参照データとしてPSS1500に格納される。   As a result of the communication of data called segment 1 between TA1 and TA3 by the operation described above, data (segment 1) is stored in TA3 as reference data for R (1,2). Similarly, data (segment 1) is also stored in the PSS 1500 as reference data for R (1, 2) in TA4.

(第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 TA 1000 having a proxy function for storing the data communicated between the client and the server and the reference information uniquely corresponding to the data in the cache and relaying the data communication. This is because the reference information corresponding to the same data is shared with two or more other TA 1000s to be relayed.

より詳細には、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 TA 1000, reference information is distributed and updated when three or more TA 1000s communicate. This is because the reference mismatch for the same data is resolved.

以上好ましい実施の形態をあげて本発明を説明したが、本発明は必ずしも、上記実施の形態に限定されるものでなく、その技術的思想の範囲内において様々に変形して実施することができる。   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.

従来及び本発明の第1の実施の形態におけるクライアント−サーバシステムの全体構成を示すブロック図である。It is a block diagram which shows the whole structure of the client-server system in the past and the 1st Embodiment of this invention. 従来及び本発明の第1の実施の形態におけるPSSに格納されるキャッシュデータの構成を示す図である。It is a figure which shows the structure of the cache data stored in PSS in the past and the 1st Embodiment of this invention. 従来及び本発明の第1の実施の形態における入力データがどのように変換されて出力されるかを説明する図である。It is a figure explaining how the input data in the past and the 1st embodiment of the present invention are converted and outputted. 従来及び本発明の第1の実施の形態におけるTA間のデータ送信を説明する図である。It is a figure explaining the data transmission between TA in the past and the 1st Embodiment of this invention. 従来及び本発明の第1の実施の形態におけるTA間のデータ送信を説明する図である。It is a figure explaining the data transmission between TA in the past and the 1st Embodiment of this invention. 第1の実施の形態のTAの構成を示すブロック図である。It is a block diagram which shows the structure of TA of 1st Embodiment. 第1の実施の形態によるリファレンスディストリビュータ(REFERENCE DISTRIBUTOR(RD))の構成を示すブロック図である。It is a block diagram which shows the structure of the reference distributor (REFERENCE DISTRIBUTOR (RD)) by 1st Embodiment. 第1の実施の形態によるクライアント−サーバシステムのトランザクションアクセラレータ(CTA及びSTA)のハードウェア構成例を示すブロック図である。It is a block diagram which shows the hardware structural example of the transaction accelerator (CTA and STA) of the client-server system by 1st Embodiment. 第1の実施の形態によるTA1がTA2にデータ(セグメント1)を送信する際の動作を説明する図であるIt is a figure explaining operation | movement when TA1 by 1st Embodiment transmits data (segment 1) to TA2. 第1の実施の形態によるTA3がTA4にセグメント1を送信する際の動作を説明するである。The operation when TA3 according to the first embodiment transmits segment 1 to TA4 will be described. 第1の実施の形態によるTA1がTA3にセグメント1を送信する際の動作を説明するである。The operation when TA1 according to the first embodiment transmits segment 1 to TA3 will be described. 第1の実施の形態によるTA1がTA3にセグメント1を送信する際の動作を説明するである。The operation when TA1 according to the first embodiment transmits segment 1 to TA3 will be described. 第1の実施の形態によるTA1がTA3にセグメント1を送信する際の動作を説明するである。The operation when TA1 according to the first embodiment transmits segment 1 to TA3 will be described. 第1の実施の形態によるTA1がTA3にセグメント1を送信する際の動作を説明するである。The operation when TA1 according to the first embodiment transmits segment 1 to TA3 will be described. 従来のTAの構成を示すブロック図である。It is a block diagram which shows the structure of conventional TA. 従来のTA1がTA2にデータ(セグメント1)を送信する際の動作を説明する図である。It is a figure explaining operation | movement at the time of conventional TA1 transmitting data (segment 1) to TA2. 従来のTA3がTA4にセグメント1を送信する際の動作を説明する図である。It is a figure explaining operation | movement at the time of the conventional TA3 transmitting segment 1 to TA4. 従来のTA1がTA3にセグメント1を送信する際の動作を説明する図である。It is a figure explaining operation | movement at the time of the conventional TA1 transmitting segment 1 to TA3. 従来のTA1がTA3にセグメント1を送信する際の動作を説明する図である。It is a figure explaining operation | movement at the time of the conventional TA1 transmitting segment 1 to TA3.

符号の説明Explanation of symbols

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: server form manager 1000, 1000-1 to -n: transaction accelerator (TA, CTA, STA)
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 .
JP2007063121A 2007-03-13 2007-03-13 Transaction accelerator, communication system, communication method, and program Expired - Fee Related JP4784909B2 (en)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3848209B2 (en) * 2002-05-23 2006-11-22 株式会社東芝 Data transfer device, data transfer method and program

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