Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP6257221B2 - Communication apparatus and data transfer control method - Google Patents
[go: Go Back, main page]

JP6257221B2 - Communication apparatus and data transfer control method - Google Patents

Communication apparatus and data transfer control method Download PDF

Info

Publication number
JP6257221B2
JP6257221B2 JP2013174543A JP2013174543A JP6257221B2 JP 6257221 B2 JP6257221 B2 JP 6257221B2 JP 2013174543 A JP2013174543 A JP 2013174543A JP 2013174543 A JP2013174543 A JP 2013174543A JP 6257221 B2 JP6257221 B2 JP 6257221B2
Authority
JP
Japan
Prior art keywords
compression
decompression
dictionary
information
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
JP2013174543A
Other languages
Japanese (ja)
Other versions
JP2015043502A5 (en
JP2015043502A (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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2013174543A priority Critical patent/JP6257221B2/en
Publication of JP2015043502A publication Critical patent/JP2015043502A/en
Publication of JP2015043502A5 publication Critical patent/JP2015043502A5/ja
Application granted granted Critical
Publication of JP6257221B2 publication Critical patent/JP6257221B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Description

本発明は情報を圧縮して通信する計算機システムに関する。   The present invention relates to a computer system for compressing and communicating information.

データを圧縮又は伸張する方法として以下のような方式が知られている。   The following methods are known as methods for compressing or decompressing data.

[辞書式圧縮]
辞書式圧縮は、データ列中に現れるアルファベットの並びを単語として辞書に登録し、次に同じ単語が現れたときには辞書の登録番号に置き換えることによって、データ列を圧縮する方式である。例えば、非特許文献1に記載のLZ78及びLZ78から派生した手法には、圧縮側の装置等ではデータの圧縮時に、伸張側の装置等ではデータの伸張時に、同一の辞書が動的に生成されるという特徴がある。そのため、圧縮側から伸張側には圧縮後データ列だけを渡せばよい。
[Dictionary compression]
The lexicographic compression is a method of compressing a data string by registering an alphabetical sequence appearing in a data string as a word in the dictionary and replacing it with a dictionary registration number when the same word appears next time. For example, in the technique derived from LZ78 and LZ78 described in Non-Patent Document 1, the same dictionary is dynamically generated when compressing data in a compression device or the like and when decompressing data in a decompression device or the like. There is a feature that. Therefore, only the post-compression data string needs to be passed from the compression side to the decompression side.

図14は、従来の辞書式圧縮を用いたデータの圧縮及び伸張の手順を示す説明図である。   FIG. 14 is an explanatory diagram showing a procedure for compressing and expanding data using conventional lexicographic compression.

図14では、データ列「abababa」をLZ78で圧縮及び伸張する場合の一例を示す。LZ78では「既知の単語+1アルファベットを新たな単語として辞書に追加」という平易なルールに基づいてデータを圧縮することによって辞書が生成される。   FIG. 14 shows an example in which the data string “ababa” is compressed and decompressed by LZ78. In LZ78, a dictionary is generated by compressing data based on a simple rule “add known word + 1 alphabet as a new word to the dictionary”.

図14に示すように、圧縮時には辞書作成手順1401から手順1404にしたがって辞書が生成され、また、伸張時には辞書作成手順1411から手順1414にしたがって辞書が生成され、圧縮側及び伸張側の辞書は同一の辞書となる。   As shown in FIG. 14, dictionaries are generated according to the dictionary creation procedure 1401 to procedure 1404 during compression, and dictionaries are generated according to the dictionary creation procedure 1411 to procedure 1414 during decompression, and the compression side and expansion side dictionaries are the same. It becomes a dictionary.

ここで辞書とは、データ列中に現れるアルファベットの並びと、それに対する見出しとの対を集めたものを指す。さらにデータ列中に現れるアルファベットの並びのことを単語という。   Here, the dictionary refers to a collection of pairs of alphabetical sequences appearing in the data string and headings corresponding thereto. Furthermore, the alphabetical sequence that appears in the data string is called a word.

[エントロピー符号]
エントロピー符号は、データ列中に現れるアルファベットの出現頻度に基づいて、異なる長さの符合語を割り当てることによってデータを圧縮する方式である。例えば、非特許文献2に記載の動的ハフマン符号(Adaptive Huffman−coding)に代表される動的な符号化手法では、LZ78と同じく圧縮側と伸張側で同じ頻度表が動的に生成されるという特徴がある。
[Entropy code]
The entropy code is a method of compressing data by assigning code words having different lengths based on the appearance frequency of alphabets appearing in a data string. For example, in the dynamic encoding method represented by the dynamic Huffman code (Adaptive Huffman-coding) described in Non-Patent Document 2, the same frequency table is dynamically generated on the compression side and the expansion side as with the LZ78. There is a feature.

図15A、図15B及び図15Cは、従来のハフマン符号を用いた符号化の手順を示す説明図である。ここでは、出現頻度に偏りのあるアルファベット「a,b,c,d」を例に、非特許文献3に記載のハフマン符号で符号化について説明する。   FIG. 15A, FIG. 15B, and FIG. 15C are explanatory diagrams showing a procedure of encoding using a conventional Huffman code. Here, encoding using the Huffman code described in Non-Patent Document 3 will be described using the alphabet “a, b, c, d” having a bias in appearance frequency as an example.

4文字を単純に符号化する場合の符号長は2bitだが、図15Bに示すように、出現回数の多い「a」に短い符号を割り当てることによって平均符号長が1.8bitに下がっている。 The code length when simply encoding four characters is 2 bits, but as shown in FIG. 15B, the average code length is lowered to 1.8 bits by assigning a short code to “a” having a large number of appearances.

ここで頻度表(図15A)とは、データ中に現れるアルファベット及びアルファベット列と、その出現頻度又は出現回数など頻度を算出するための情報との対を集めたものを指す。また、ハフマン符号におけるハフマン木(図15B)など、頻度表をエントロピー符号化しやすい形で扱うことを特徴とする符号化方式とデータ構造もあり、ここではそれらも含めて頻度表と呼ぶ。   Here, the frequency table (FIG. 15A) refers to a collection of pairs of alphabets and alphabet strings appearing in the data and information for calculating the frequency such as the appearance frequency or the number of appearances. In addition, there is an encoding method and a data structure characterized by handling a frequency table in a form that facilitates entropy encoding, such as a Huffman tree in a Huffman code (FIG. 15B), and here, these are also referred to as a frequency table.

[圧縮を利用する通信]
本発明の技術分野の背景技術として、IP(Internet Protocol)パケットの圧縮に関する非特許文献4(例えば、"2. Compression Process"参照)がある。また、本技術分野の別の背景技術としてデータストリームの圧縮に関する特許文献1が存在する。
[Communication using compression]
As background art in the technical field of the present invention, there is Non-Patent Document 4 (for example, refer to “2. Compression Process”) related to compression of IP (Internet Protocol) packets. Further, Patent Document 1 relating to data stream compression exists as another background art of this technical field.

特許文献1には、「符号化は、ターゲット・セグメント・サイズを判定する段階と、窓サイズを判定する段階と、入力データ内のオフセットにおける記号の窓内のフィンガープリントを識別する段階と、オフセットをカット・ポイントとして指定すべきかどうかを判定する段階と、カット・ポイントの組によって示されるように入力データをセグメント化する段階とを含む。そのように識別された各セグメントについて、エンコーダは、セグメントが参照されるセグメントであるかそれとも参照されないセグメントであるかを判定し、それぞれの参照されるセグメントのセグメント・データを参照ラベルで置き換え、必要に応じて、それぞれの参照されるセグメントの持続セグメント・ストアに参照バインディングを記憶する」ことが記載されている。   In US Pat. No. 6,057,089, "Encoding is a step of determining a target segment size, a step of determining a window size, a step of identifying a fingerprint in a symbol window at an offset in input data, and an offset. Determining whether to designate as a cut point, and segmenting the input data as indicated by the set of cut points. Is a referenced segment or a non-referenced segment, replaces the segment data of each referenced segment with a reference label, and, if necessary, a persistent segment of each referenced segment Stores the reference binding in the store " To have.

米国特許出願公開第2004/0174276号明細書US Patent Application Publication No. 2004/0174276

Ziv, Jacob; Lempel, Abraham (1978), "Compression of individual sequences via variable-rate coding". IEEE Transactions on Information Theory 24 (5): pp 530-536.Ziv, Jacob; Lempel, Abraham (1978), "Compression of individual sequences via variable-rate coding". IEEE Transactions on Information Theory 24 (5): pp 530-536. Vitter, Jeffrey (1987), "Design and analysis of dynamic Huffman codes". Journal of the ACM, 34(4): pp 825-845Vitter, Jeffrey (1987), "Design and analysis of dynamic Huffman codes". Journal of the ACM, 34 (4): pp 825-845 Huffman, David (1952), "A Method for the construction of minimum-redundancy codes". Proceedings of the I.R.E.: pp 1098-1102Huffman, David (1952), "A Method for the construction of minimum-redundancy codes". Proceedings of the I.R.E .: pp 1098-1102 RFC2393 (1998), "IP payload compression protocol (IPComp)"RFC2393 (1998), "IP payload compression protocol (IPComp)" O'neil, Elizabeth (1993), "The LRU-K page replacement algorithm for database disk buffering". ACM SIGMOD Conf.: pp. 297-306O'neil, Elizabeth (1993), "The LRU-K page replacement algorithm for database disk buffering". ACM SIGMOD Conf .: pp. 297-306

非特許文献4に記載された技術では、IPパケット毎にしか圧縮を行えない。IPパケットのサイズは通信路のMTU(Maximum Transmission Unit)以下であり、一般にインターネット環境では1500Byteである。したがって、ペイロードはそれ以下のサイズであるため、非特許文献1に記載の手法では圧縮率があがらず、通信量の削減効果が低い。   In the technique described in Non-Patent Document 4, compression can be performed only for each IP packet. The size of the IP packet is equal to or smaller than the MTU (Maximum Transmission Unit) of the communication path, and is generally 1500 bytes in the Internet environment. Therefore, since the payload has a size smaller than that, the technique described in Non-Patent Document 1 does not increase the compression rate, and the effect of reducing the communication amount is low.

特許文献1に記載された技術は、単純な演算ではセグメントが既知であるか否かの判定できない。また、持続セグメント・ストアを大容量化することによって通信量削減効果を高めることができるが、持続セグメント・ストアには一般に容量単価の安いHDD(Hard Disk Drive)が用いられるため、データの検索時のI/O速度(HDDのランダムアクセス速度は、100〜200Mbps程度)が通信路のI/O速度(例えば、1Gbps)より低いという問題がある。そのため、特許文献1に記載された技術では、通信量の削減効果を高めることは可能であるが、十分に広い通信帯域を扱うネットワークでは通信速度が低速化するという問題がある。   The technique described in Patent Document 1 cannot determine whether or not a segment is known by a simple calculation. In addition, it is possible to increase the effect of reducing the amount of communication by increasing the capacity of the persistent segment store. However, since the HDD (Hard Disk Drive) having a low capacity unit price is generally used for the persistent segment store, when searching for data The I / O speed (the random access speed of the HDD is about 100 to 200 Mbps) is lower than the I / O speed (for example, 1 Gbps) of the communication path. Therefore, with the technique described in Patent Document 1, it is possible to increase the effect of reducing the amount of communication, but there is a problem that the communication speed decreases in a network that handles a sufficiently wide communication band.

すなわち情報を圧縮して通信するコンピュータシステムの課題は、情報の高圧縮率及び通信速度の高速化を両立させることである。   That is, a problem of a computer system that communicates by compressing information is to achieve both a high compression rate of information and a high communication speed.

上記課題を解決するために、例えば特許請求の範囲に記載の構成を採用する。プロセッサ、前記プロセッサに接続される主記憶装置、及び前記プロセッサに接続されるネットワークインタフェースを備え、複数の計算機間で送受信されるデータを転送する通信装置であって、前記主記憶装置は、通信先毎に、データを圧縮又は伸張するための圧縮伸張情報を複数格納し、任意の通信先との間の通信に用いる圧縮伸張情報の複製である複製圧縮伸張情報を格納する一時領域を含み、前記通信装置は、前記圧縮伸張情報を用いて、受信したデータを圧縮又は伸張する圧縮伸張部を備え、前記圧縮伸張部は、通信先を特定する情報及び使用する圧縮伸張情報の識別情報を対応付けて管理し、第1の通信先からデータを受信した場合、前記第1の通信先との間の通信に用いる複数の圧縮伸張情報の中から、前記第1の通信先を特定する情報と対応付けられた第1の圧縮伸張情報を特定して、前記第1の圧縮伸張情報の複製である第1の複製圧縮伸張情報を前記一時領域に格納し、前記第1の複製圧縮伸張情報を用いて、前記第1の通信先から受信したデータを圧縮又は伸張し、前記圧縮されたデータ又は前記伸張されたデータを送信し、前記第1の通信先から受信したデータの圧縮結果又は伸張結果に基づいて、前記第1の複製圧縮伸張情報を更新し、切替条件を満たすか否かを判定し、前記切替条件を満たさないと判定された場合、前記第1の複製圧縮伸張情報を前記第1の圧縮伸張情報に上書きすることによって、当該第1の圧縮伸張情報を更新し、前記切替条件を満たすと判定された場合、前記第1の通信先との間の通信に用いる複数の圧縮伸張情報の中から第2の圧縮伸張情報を選択し、前記第1の通信先を特定する情報及び前記第2の圧縮伸張情報を対応付けることによって、前記第1の通信先との間の通信に使用する圧縮伸張情報を切り替えることを特徴とする。 In order to solve the above problems, for example, the configuration described in the claims is adopted. A communication device comprising a processor, a main storage device connected to the processor, and a network interface connected to the processor, and transferring data transmitted and received between a plurality of computers, wherein the main storage device is a communication destination Each including a temporary area for storing a plurality of compression / decompression information for compressing or decompressing data, and storing a copy compression / decompression information that is a copy of the compression / decompression information used for communication with an arbitrary communication destination , The communication apparatus includes a compression / decompression unit that compresses or decompresses received data using the compression / decompression information, and the compression / decompression unit associates information for specifying a communication destination with identification information for compression / decompression information to be used. and supervises as, when receiving the data from the first communication destination, from among a plurality of compression and decompression information used for communication between the first communication destination, especially the first communication destination A first decompression information associated with the information to identify the first replication decompression information is a duplicate of the first compression and expansion information stored in the temporary area, the first replication compression Using decompression information , the data received from the first communication destination is compressed or decompressed, the compressed data or the decompressed data is transmitted, and the compression result of the data received from the first communication destination or based on expansion results, the first update the replication compression and decompression information, determines whether it meets the switching condition, when it is determined not to satisfy the switching condition, the first replication decompression information When the first compression / decompression information is updated by overwriting the first compression / decompression information and it is determined that the switching condition is satisfied, a plurality of items are used for communication with the first communication destination. Of the compression / decompression information Select compression and decompression information, by associating the first information and the second decompression information specifying the communication destination, switches the compression and expansion information used for communication between the first communication destination It is characterized by that.

本発明によれば、圧縮伸張部は、データの圧縮率に基づいて、通信先毎の複数の圧縮伸張情報を切り替えることができる。これによって、データの高圧縮率を実現できる。また、圧縮伸張情報は主記憶装置に格納されるためI/O速度の低下を回避し、通信速度の高速化を実現することができる。   According to the present invention, the compression / decompression unit can switch a plurality of pieces of compression / decompression information for each communication destination based on the data compression rate. Thereby, a high compression rate of data can be realized. In addition, since the compression / decompression information is stored in the main storage device, it is possible to avoid a decrease in the I / O speed and increase the communication speed.

上記した以外の課題、構成及び効果は、以下の実施例の説明により明らかにされる。   Problems, configurations, and effects other than those described above will become apparent from the description of the following examples.

本発明の実施例1における計算機システムの構成の一例を示す説明図である。It is explanatory drawing which shows an example of a structure of the computer system in Example 1 of this invention. 本発明の実施例1における圧縮伸張装置の構成例を示すブロック図である。It is a block diagram which shows the structural example of the compression / decompression apparatus in Example 1 of this invention. 本発明の実施例1における通信先−辞書対応情報の一例を示す説明図である。It is explanatory drawing which shows an example of the communication destination-dictionary correspondence information in Example 1 of this invention. 本発明の実施例1における通信先−辞書対応情報の一例を示す説明図である。It is explanatory drawing which shows an example of the communication destination-dictionary correspondence information in Example 1 of this invention. 本発明の実施例1における辞書管理情報の一例を示す説明図である。It is explanatory drawing which shows an example of the dictionary management information in Example 1 of this invention. 本発明の実施例1における圧縮伸張モジュールがIPパケットを受信した場合に実行するIPパケットの転送処理を説明するフローチャートである。It is a flowchart explaining the transfer process of the IP packet performed when the compression / decompression module in Example 1 of this invention receives an IP packet. 本発明の実施例1における圧縮伸張モジュールがIPパケットを受信した場合に実行するIPパケットの転送処理を説明するフローチャートである。It is a flowchart explaining the transfer process of the IP packet performed when the compression / decompression module in Example 1 of this invention receives an IP packet. 本発明の実施例1における圧縮伸張モジュールが実行する辞書管理情報の更新処理を説明するフローチャートである。It is a flowchart explaining the update process of the dictionary management information which the compression / decompression module in Example 1 of this invention performs. 本発明の実施例2における圧縮伸張装置の構成例を示すブロック図である。It is a block diagram which shows the structural example of the compression / decompression apparatus in Example 2 of this invention. 本発明の実施例2における通信先−辞書頻度表対応情報の一例を示す説明図である。It is explanatory drawing which shows an example of the communication destination-dictionary frequency table corresponding | compatible information in Example 2 of this invention. 本発明の実施例2における辞書頻度表管理情報の一例を示す説明図である。It is explanatory drawing which shows an example of the dictionary frequency table management information in Example 2 of this invention. 本発明の実施例2における辞書エントロピー圧縮伸張モジュールがIPパケットを受信した場合に実行するIPパケットの転送処理を説明するフローチャートである。It is a flowchart explaining the transfer process of the IP packet performed when the dictionary entropy compression expansion module in Example 2 of this invention receives an IP packet. 本発明の実施例2における辞書エントロピー圧縮伸張モジュールがIPパケットを受信した場合に実行するIPパケットの転送処理を説明するフローチャートである。It is a flowchart explaining the transfer process of the IP packet performed when the dictionary entropy compression expansion module in Example 2 of this invention receives an IP packet. 本発明の実施例2における辞書エントロピー圧縮伸張モジュールが実行する辞書頻度表管理情報の更新処理を説明するフローチャートである。It is a flowchart explaining the update process of the dictionary frequency table management information which the dictionary entropy compression / decompression module in Example 2 of this invention performs. 本発明の実施例3における辞書管理情報の一例を示す説明図である。It is explanatory drawing which shows an example of the dictionary management information in Example 3 of this invention. 本発明の実施例3における辞書の削除処理を説明するフローチャートである。It is a flowchart explaining the deletion process of the dictionary in Example 3 of this invention. 本発明の実施例3における辞書の削除処理を説明するフローチャートである。It is a flowchart explaining the deletion process of the dictionary in Example 3 of this invention. 従来の辞書式圧縮を用いたデータの圧縮及び伸張の手順を示す説明図である。It is explanatory drawing which shows the procedure of the compression and expansion | extension of data using the conventional lexicographic compression. 従来のハフマン符号を用いた符号化の手順を示す説明図である。It is explanatory drawing which shows the procedure of the encoding using the conventional Huffman code. 従来のハフマン符号を用いた符号化の手順を示す説明図である。It is explanatory drawing which shows the procedure of the encoding using the conventional Huffman code. 従来のハフマン符号を用いた符号化の手順を示す説明図である。It is explanatory drawing which shows the procedure of the encoding using the conventional Huffman code.

以下、実施例を図面を用いて説明する。   Hereinafter, examples will be described with reference to the drawings.

本発明では、データ(IPパケットのペイロード)を圧縮又は伸張する場合に用いられる情報として辞書又は頻度表の少なくともいずれかを用いるものとして説明する。ただし、本発明はこれに限定されず、データを圧縮又は伸張するために用いられる情報であればどのような情報であってもよい。   In the present invention, description will be made assuming that at least one of a dictionary and a frequency table is used as information used when data (IP packet payload) is compressed or expanded. However, the present invention is not limited to this, and any information may be used as long as the information is used for compressing or expanding data.

実施例1では、通信内容に応じて、複数の辞書の中から最も圧縮率の高い辞書を用いて通信内容を圧縮又は伸張する方法、装置及びシステムについて説明する。   In the first embodiment, a method, apparatus, and system for compressing or expanding communication contents using a dictionary having the highest compression rate from among a plurality of dictionaries according to the communication contents will be described.

図1は、本発明の実施例1における計算機システムの構成の一例を示す説明図である。   FIG. 1 is an explanatory diagram illustrating an example of a configuration of a computer system according to the first embodiment of this invention.

図1に示す計算機システムは、クライアント装置101、102、サーバ103、及び圧縮伸張装置111、121、131から構成される。クライアント装置A101及びクライアント装置B102と、サーバ103との間は広域網104を介した接続される。なお、クライアント装置A101及びクライアント装置B102とサーバ103とは、LAN、SAN等の広域網104以外のネットワークを介して接続されてもよい。   The computer system shown in FIG. 1 includes client apparatuses 101 and 102, a server 103, and compression / decompression apparatuses 111, 121, and 131. The client apparatuses A 101 and B 102 and the server 103 are connected via the wide area network 104. Note that the client device A 101, the client device B 102, and the server 103 may be connected via a network other than the wide area network 104 such as a LAN or a SAN.

本実施例では、クライアント装置A101は、「192.168.1.0/24」のサブネット112に属し、IPアドレスは「192.168.1.101」である。また、クライアント装置B102は、「192.168.2.0/24」のサブネット122に属し、IPアドレスは「192.168.2.102」である。また、サーバ103は、「192.168.10.0/24」のサブネット132に属し、IPアドレスは「192.168.10.103」である。   In this embodiment, the client apparatus A 101 belongs to the subnet 112 of “192.168.1.0/24”, and the IP address is “192.168.1.101”. Further, the client apparatus B102 belongs to the subnet 122 of “192.168.2.0/24”, and the IP address is “192.168.2.102”. Further, the server 103 belongs to the subnet 132 of “192.168.10.0/24”, and the IP address is “192.168.10.103”.

クライアント装置A101及びクライアント装置B102は、広域網104を介して、サーバ103との間でデータの送受信を行う。本発明は、送受信されるデータの種別、及び内容等に限定されない。なお、クライアント装置A101、クライアント装置B102、及びサーバ103は、一般的な計算機であって、CPU(図示省略)、メモリ(図示省略)、及びネットワークインタフェース(図示省略)等のハードウェアを備える。   The client apparatus A 101 and the client apparatus B 102 transmit and receive data to and from the server 103 via the wide area network 104. The present invention is not limited to the type and content of data to be transmitted / received. The client device A 101, the client device B 102, and the server 103 are general computers, and include hardware such as a CPU (not shown), a memory (not shown), and a network interface (not shown).

圧縮伸張装置A111、圧縮伸張装置B121、及び圧縮伸張装置C131は、送受信されるデータを圧縮し、また、圧縮されたデータを伸張する。ここで、本発明では、圧縮伸張装置がペアとなるように使用する。例えば、圧縮伸張装置A111及び圧縮伸張装置C131をペアとし、また、圧縮伸張装置B121及び圧縮伸張装置C131をペアとして使用する。   The compression / decompression device A111, the compression / decompression device B121, and the compression / decompression device C131 compress data to be transmitted / received, and decompress the compressed data. Here, in this invention, it uses so that a compression / expansion apparatus may become a pair. For example, the compression / expansion device A111 and the compression / expansion device C131 are used as a pair, and the compression / expansion device B121 and the compression / expansion device C131 are used as a pair.

なお、クライアント装置側の圧縮伸張装置とサーバ側の圧縮伸張装置とは、図1に示すようなn対1(図1では2対1)の構成でもよいし、n対nの構成であってもよい。   It should be noted that the compression / decompression apparatus on the client device side and the compression / decompression apparatus on the server side may have an n-to-one configuration as shown in FIG. 1 (2 to 1 in FIG. 1), or an n-to-n configuration. Also good.

図2は、本発明の実施例1における圧縮伸張装置の構成例を示すブロック図である。図2では、圧縮伸張装置A111の構成例を示す。なお、圧縮伸張装置B121及び圧縮伸張装置C131も同一の構成である。   FIG. 2 is a block diagram illustrating a configuration example of the compression / decompression apparatus according to the first embodiment of the present invention. FIG. 2 shows a configuration example of the compression / decompression apparatus A111. Note that the compression / expansion device B121 and the compression / expansion device C131 have the same configuration.

圧縮伸張装置A111は、CPU201、主記憶装置202、二次記憶装置203、及び二つのネットワークインタフェース(NIC)204、205を備える。   The compression / decompression device A111 includes a CPU 201, a main storage device 202, a secondary storage device 203, and two network interfaces (NICs) 204 and 205.

CPU201は、主記憶装置202に格納されるプログラムを実行する。CPU201がプログラムを実行することによって、圧縮伸張装置A111が備える機能を実現することができる。   The CPU 201 executes a program stored in the main storage device 202. When the CPU 201 executes the program, the function of the compression / decompression apparatus A111 can be realized.

主記憶装置202は、CPU201によって実行されるプログラム及び当該プログラムの実行に必要な情報を格納する。また、主記憶装置202は、プログラムが一時的にデータを格納するワークエリアを提供する。主記憶装置202は、例えば、DIMM等のメモリ等が考えられる。   The main storage device 202 stores a program executed by the CPU 201 and information necessary for executing the program. The main storage device 202 provides a work area where the program temporarily stores data. The main storage device 202 may be a memory such as a DIMM, for example.

本実施例では、主記憶装置202には、圧縮伸張モジュール221、通信先−辞書対応情報222、及び辞書管理情報223が格納される。圧縮伸張モジュール221は、圧縮伸張モジュールプログラム231によって実現されるプログラムモジュールである。通信先−辞書対応情報222の詳細については図3A及び図3Bを用いて後述し、また、辞書管理情報223の詳細については図4を用いて後述する。   In this embodiment, the main storage device 202 stores a compression / decompression module 221, communication destination-dictionary correspondence information 222, and dictionary management information 223. The compression / decompression module 221 is a program module realized by the compression / decompression module program 231. Details of the communication destination-dictionary correspondence information 222 will be described later with reference to FIGS. 3A and 3B, and details of the dictionary management information 223 will be described later with reference to FIG.

CPU201は、圧縮伸張装置A111の起動時に、圧縮伸張モジュールプログラム231を二次記憶装置203から読み出し、主記憶装置202上に当該圧縮伸張モジュールプログラム231を展開する。さらに、CPU201は、展開された圧縮伸張モジュールプログラム231を実行することによって圧縮伸張モジュール221を実現する。圧縮伸張モジュール221は、後述する通信先−辞書対応情報222及び辞書管理情報223を主記憶装置202上に展開する。   The CPU 201 reads the compression / decompression module program 231 from the secondary storage device 203 when the compression / decompression device A 111 is activated, and expands the compression / decompression module program 231 on the main storage device 202. Further, the CPU 201 implements the compression / decompression module 221 by executing the expanded compression / decompression module program 231. The compression / decompression module 221 expands communication destination-dictionary correspondence information 222 and dictionary management information 223 described later on the main storage device 202.

二次記憶装置203は、プログラム及び情報を格納する。二次記憶装置203は、例えば、HDD又はSDD等が考えられる。本実施例では、二次記憶装置203には、圧縮伸張モジュールプログラム231が格納される。   The secondary storage device 203 stores programs and information. The secondary storage device 203 may be, for example, an HDD or an SDD. In this embodiment, the secondary storage device 203 stores a compression / decompression module program 231.

NIC1(204)及びNIC2(205)は、他の装置と接続するためのインタフェースである。本実施例では、NIC1(204)は、拠点側の装置、すなわち、クライアント装置A101と接続され、また、NIC2(205)は、広域網104と接続される。   NIC1 (204) and NIC2 (205) are interfaces for connecting to other devices. In this embodiment, NIC1 (204) is connected to a base-side device, that is, client device A101, and NIC2 (205) is connected to wide area network 104.

ここで、圧縮伸張モジュール221について説明する。   Here, the compression / decompression module 221 will be described.

圧縮伸張モジュール221は、所定の圧縮方式に基づいて、データを圧縮し、また圧縮されたデータを伸張する。本実施例では、LZ78及びLZ78から派生したLZWのような辞書式圧縮方式に基づいて、圧縮処理及び伸張処理が実行されるものとする。   The compression / decompression module 221 compresses data based on a predetermined compression method, and decompresses the compressed data. In the present embodiment, it is assumed that compression processing and decompression processing are executed based on a lexicographic compression method such as LZ78 and LZW derived from LZ78.

本実施例の圧縮伸張モジュール221は、通信先−辞書対応情報222及び辞書管理情報223に基づいて、NIC1(204)から受信したIPパケットのペイロードを圧縮し、NIC2(205)から圧縮されたペイロードを含むIPパケットを通信先の装置に転送する。また、圧縮伸張モジュール221は、通信先−辞書対応情報222及び辞書管理情報223に基づいて、NIC2(205)から受信したIPパケットのペイロードを伸張し、NIC1(204)から伸張されたペイロードを含むIPパケットを通信先の装置に転送する。   The compression / decompression module 221 of this embodiment compresses the payload of the IP packet received from the NIC1 (204) based on the communication destination-dictionary correspondence information 222 and the dictionary management information 223, and the compressed payload from the NIC2 (205). The IP packet including is transferred to the communication destination device. The compression / decompression module 221 expands the payload of the IP packet received from the NIC 2 (205) based on the communication destination-dictionary correspondence information 222 and the dictionary management information 223, and includes the payload expanded from the NIC 1 (204). The IP packet is transferred to the communication destination device.

なお、本発明は、LZ78及びLZWのような辞書式圧縮方式に限定されず、送信側の圧縮伸張モジュール221から受信側の圧縮伸張モジュール221に辞書を別途配信しなくとも、受信側の圧縮伸張モジュール221が伸張処理を実行可能な辞書式圧縮方式であれば、どのような圧縮方式を使用してもよい。   The present invention is not limited to lexicographic compression methods such as LZ78 and LZW, and the compression / decompression on the receiving side can be performed without separately distributing the dictionary from the compression / decompression module 221 on the transmission side to the compression / decompression module 221 on the receiving side. Any compression method may be used as long as the module 221 can execute decompression processing.

図3A及び図3Bは、本発明の実施例1における通信先−辞書対応情報222の一例を示す説明図である。図3Aは圧縮伸張装置C131が保持する通信先−辞書対応情報222を示し、図3Bは圧縮伸張装置A111が保持する通信先−辞書対応情報222を示す。   3A and 3B are explanatory diagrams illustrating an example of the communication destination-dictionary correspondence information 222 according to the first embodiment of this invention. 3A shows the communication destination-dictionary correspondence information 222 held by the compression / decompression device C131, and FIG. 3B shows the communication destination-dictionary correspondence information 222 held by the compression / expansion device A111.

通信先−辞書対応情報222は、通信先の装置のIPアドレスの範囲と、通信先の装置との間の通信に用いる辞書との対応関係を示す情報を保持する。具体的には、通信先−辞書対応情報222は、ID301、通信先302、装置ID303、辞書名304、辞書数305、現辞書番号306、圧縮率短期平均307、及び圧縮率長期平均308から構成される。   The communication destination-dictionary correspondence information 222 holds information indicating a correspondence relationship between the IP address range of the communication destination device and a dictionary used for communication with the communication destination device. Specifically, the communication destination-dictionary correspondence information 222 includes an ID 301, a communication destination 302, a device ID 303, a dictionary name 304, a dictionary number 305, a current dictionary number 306, a compression rate short-term average 307, and a compression rate long-term average 308. Is done.

ID301は、通信先−辞書対応情報222の各行を識別するための識別番号である。   ID 301 is an identification number for identifying each row of the communication destination-dictionary correspondence information 222.

通信先302は、共通の辞書を用いてデータを圧縮又は伸張するIPアドレスの範囲である。より具体的には、通信先302は、IPパケットの送信先の装置が所属するネットワークを指定するIPアドレスの範囲を示すものである。例えば、広域網140を介して、LAN等の複数のネットワークが接続されるネットワークシステムの場合、通信先302には、当該ネットワークを示すIPアドレスの範囲が格納される。   The communication destination 302 is an IP address range in which data is compressed or expanded using a common dictionary. More specifically, the communication destination 302 indicates an IP address range that specifies a network to which a device that is a destination of an IP packet belongs. For example, in the case of a network system in which a plurality of networks such as a LAN are connected via the wide area network 140, the communication destination 302 stores a range of IP addresses indicating the network.

図3Aの行332及び333の通信先302には、IPアドレスの範囲としてサブネットマスクが指定される。また、図3Bの行312の通信先302には、IPアドレスの範囲として個々の装置のIPアドレスが指定される。   A subnet mask is designated as the IP address range for the communication destination 302 in the rows 332 and 333 in FIG. 3A. In addition, the IP address of each device is designated as the IP address range for the communication destination 302 in the row 312 of FIG. 3B.

なお、通信先302に格納される値の表現形式は、共通の辞書を用いてデータを圧縮又は伸張するIPアドレスの範囲を定義できる表現形式であればどのような表現形式であってもよい。また、通信先302に格納される値は、設定ファイルなどの手段によって管理者が設定することを想定しているが、設定方法はどのようなものであってもよい。例えば、通信時に、圧縮伸張装置が互いを自動的に認識し、圧縮伸張装置間で情報を交換することによって、通信先302の値を設定する方法が考えられる。   It should be noted that the expression format of the value stored in the communication destination 302 may be any expression format as long as it can define an IP address range in which data is compressed or expanded using a common dictionary. The value stored in the communication destination 302 is assumed to be set by the administrator by means of a setting file or the like, but any setting method may be used. For example, a method of setting the value of the communication destination 302 by automatically recognizing each other during communication and exchanging information between the compression / decompression apparatuses can be considered.

装置ID303は、通信先302に対応する装置側に配置される圧縮伸張装置のIDである。装置ID303に格納される値は、圧縮伸張装置の起動後に管理者によって入力されることを想定しているが、設定方法はどのようなものであってもよい。例えば、通信時に、圧縮伸張装置が互いを自動的に認識し、圧縮伸張装置間で情報を交換することによって、装置ID303の値を設定する方法が考えられる。   The device ID 303 is an ID of a compression / decompression device arranged on the device side corresponding to the communication destination 302. The value stored in the device ID 303 is assumed to be input by the administrator after the compression / decompression device is started, but any setting method may be used. For example, a method is conceivable in which the compression / decompression device automatically recognizes each other during communication and sets the value of the device ID 303 by exchanging information between the compression / decompression devices.

辞書名304は、通信先302に対応する装置との間の通信において使用される辞書の名前である。辞書名304の値は、圧縮伸張モジュール221によって決定される。   The dictionary name 304 is a name of a dictionary used in communication with a device corresponding to the communication destination 302. The value of the dictionary name 304 is determined by the compression / decompression module 221.

辞書数305は、辞書名304に対応する辞書名で定義された辞書の総数である。本実施例では、一つの辞書名に対し、一つ以上の辞書が生成される。   The number of dictionaries 305 is the total number of dictionaries defined with a dictionary name corresponding to the dictionary name 304. In this embodiment, one or more dictionaries are generated for one dictionary name.

現辞書番号306は、辞書名304に対応する辞書のうち、現在使用している辞書の番号である。   The current dictionary number 306 is the number of the currently used dictionary among the dictionaries corresponding to the dictionary name 304.

圧縮率短期平均307は、通信先302に対応する装置との間の通信におけるデータの圧縮率の、直近短期間の移動平均を表す。   The compression rate short-term average 307 represents a moving average of the data compression rate in the communication with the device corresponding to the communication destination 302 in the latest short-term.

平均を取る期間の長さは、ユーザ定義の値として設定ファイルなどの手段によって管理者が設定することを想定しているが、メーカー定義の値として適当な値を予め装置に設定してもよい。また、期間の表し方として、ここでは100パケットといったパケット数で表す方法を想定しているが、1分といった時間で表す方法を用いてもよい。また、平均の算出方法として、ここでは単純な相加平均を想定しているが、直近の値の影響を大きくする加重平均、又は相乗平均が用いられてもよい。   The length of the averaged period is assumed to be set by the administrator as a user-defined value by means of a setting file or the like. However, an appropriate value may be set in the apparatus in advance as a manufacturer-defined value. . In addition, as a way of expressing the period, a method expressed by the number of packets such as 100 packets is assumed here, but a method expressed by a time such as 1 minute may be used. As a method for calculating the average, a simple arithmetic average is assumed here, but a weighted average or a geometric average that increases the influence of the latest value may be used.

圧縮率長期平均308は、通信先302に対応する装置との間の通信におけるデータの圧縮率の、直近長期間の移動平均を表す。   The compression ratio long-term average 308 represents the moving average of the data compression ratio in the communication with the communication destination 302 over the latest long-term.

平均を取る期間の長さは、ユーザ定義の値として設定ファイルなどの手段によって管理者が与えることを想定しているが、メーカー定義の値として適当な値を予め装置に設定してもよい。また、期間の表し方として、100,000パケットといったパケット数で表す方法を想定しているが、1,000分といった時間で表す方法でもよい。また、平均の取り方として、ここでは単純な相加平均を想定しているが、直近の値の影響を大きくする加重平均、又は相乗平均が用いられてもよい。   The length of the averaged period is assumed to be given by the administrator as a user-defined value by means of a setting file or the like, but an appropriate value may be set in the apparatus in advance as a manufacturer-defined value. In addition, as a method of expressing the period, a method of expressing by the number of packets such as 100,000 packets is assumed, but a method of expressing by a time such as 1,000 minutes may be used. Moreover, as a method of taking the average, a simple arithmetic average is assumed here, but a weighted average or a geometric average that increases the influence of the latest value may be used.

図3Aに示すように、圧縮伸張装置C131の通信先−辞書対応情報222は、クライアント装置A101に対応する行332、及びクライアント装置B102に対応する行333を保持する。一方、図3Bに示すように、圧縮伸張装置A111の通信先−辞書対応情報222は、サーバ103に対応する行312を保持する。   As illustrated in FIG. 3A, the communication destination-dictionary correspondence information 222 of the compression / decompression device C131 holds a row 332 corresponding to the client device A101 and a row 333 corresponding to the client device B102. On the other hand, as illustrated in FIG. 3B, the communication destination-dictionary correspondence information 222 of the compression / decompression device A <b> 111 holds a row 312 corresponding to the server 103.

ここで、行332及び行312は、圧縮伸張装置C131及び圧縮伸張装置A111の間の通信に関する行である。ペアとなっている圧縮伸張装置は、同一の複数の辞書を保持し、同一の辞書を用いてIPパケットを圧縮又は伸張する。したがって、行333及び行312の辞書数305、現辞書番号306、圧縮率短期平均307、及び圧縮率長期平均308の値は同一のものとなる。   Here, line 332 and line 312 are lines relating to communication between the compression / decompression apparatus C131 and the compression / decompression apparatus A111. The paired compression / decompression apparatuses hold the same plurality of dictionaries, and compress or expand IP packets using the same dictionary. Therefore, the values of the number of dictionaries 305, the current dictionary number 306, the compression rate short-term average 307, and the compression rate long-term average 308 in the rows 333 and 312 are the same.

図4は、本発明の実施例1における辞書管理情報223の一例を示す説明図である。図4は、圧縮伸張装置C131が保持する辞書管理情報223を示す。   FIG. 4 is an explanatory diagram illustrating an example of the dictionary management information 223 according to the first embodiment of this invention. FIG. 4 shows dictionary management information 223 held by the compression / decompression apparatus C131.

辞書管理情報223は、圧縮伸張装置が保持する辞書のデータを管理する情報である。具体的には、辞書管理情報223は、ID401、辞書名402、辞書番号403、及び辞書データ404から構成される。   The dictionary management information 223 is information for managing dictionary data held by the compression / decompression apparatus. Specifically, the dictionary management information 223 includes an ID 401, a dictionary name 402, a dictionary number 403, and dictionary data 404.

ID401は、辞書管理情報223の各行を識別するための識別番号である。   ID 401 is an identification number for identifying each row of the dictionary management information 223.

辞書名402は、通信先−辞書対応情報222の辞書名304と同一のものである。   The dictionary name 402 is the same as the dictionary name 304 of the communication destination-dictionary correspondence information 222.

辞書番号403は、辞書名402に対応する辞書名で定義された辞書のうち、現在使用されている辞書の識別番号である。   The dictionary number 403 is an identification number of a currently used dictionary among dictionaries defined by a dictionary name corresponding to the dictionary name 402.

本実施例では、辞書名304に対応する辞書名で定義される辞書には、辞書数305の数だけに識別番号が付与される。そのため、辞書番号403には、現在使用される辞書の識別番号が格納される。例えば、辞書数305が「5」の場合、辞書名304に対応する辞書名で定義される辞書は五つ存在し、それぞれの辞書には「1」から「5」までの番号が付与される。   In the present embodiment, an identification number is assigned only to the number of dictionaries 305 in the dictionary defined by the dictionary name corresponding to the dictionary name 304. Therefore, the dictionary number 403 stores the identification number of the currently used dictionary. For example, when the number of dictionaries 305 is “5”, there are five dictionaries defined by the dictionary name corresponding to the dictionary name 304, and numbers from “1” to “5” are assigned to each dictionary. .

辞書データ404は、辞書名402及び辞書番号403に対応する辞書の辞書データである。本実施例では、辞書データ404には、圧縮伸張モジュール221が操作する内部表現のデータが格納されているものとする。なお、本発明はこれに限定されず、辞書データ404には、図14に示すような表形式の辞書データが格納されてもよい。また、辞書管理情報223とは別に辞書データが管理されている場合、辞書データ404には、当該辞書データにアクセスするためのポインタを格納してもよい。   The dictionary data 404 is dictionary data of a dictionary corresponding to the dictionary name 402 and the dictionary number 403. In this embodiment, it is assumed that the internal data represented by the compression / decompression module 221 is stored in the dictionary data 404. The present invention is not limited to this, and the dictionary data 404 may store dictionary data in a tabular format as shown in FIG. When dictionary data is managed separately from the dictionary management information 223, the dictionary data 404 may store a pointer for accessing the dictionary data.

なお、辞書管理情報223は高速化のため主記憶装置202上に格納する。そのため、個々の辞書データ404のサイズに上限を設ける。辞書データ404のサイズの上限は設定ファイルなどを用いて管理者によって設定される値であり、例えば「4MB」が設定される。前述した辞書データ404のサイズの上限は一例であって、「4MB」より大きい値、又は小さい値であってもよい。なお、辞書データ404のサイズの上限は、圧縮伸張モジュールプログラム231に予め埋め込む等、その他の手段を用いて設定されてもよい。   The dictionary management information 223 is stored on the main storage device 202 for speeding up. Therefore, an upper limit is set for the size of each dictionary data 404. The upper limit of the size of the dictionary data 404 is a value set by the administrator using a setting file or the like. For example, “4 MB” is set. The upper limit of the size of the dictionary data 404 described above is an example, and may be a value larger or smaller than “4 MB”. Note that the upper limit of the size of the dictionary data 404 may be set using other means such as embedding in the compression / decompression module program 231 in advance.

圧縮伸張装置C131は、通信先−辞書対応情報222に示すように、圧縮伸張装置A111を通る通信先「192.168.1.0/24」のサブネット112との間の通信において、辞書名が「辞書A」である辞書を五つ保持し、また、圧縮伸張装置B121を通る通信先「192.168.2.0/24」との間の通信において、辞書名が「辞書B」である辞書を六つ保持する。そのため、辞書管理情報223には、辞書Aの五つ分の行4401〜4405、辞書Bの六つ分の行4406〜4411を含む。   As shown in the communication destination-dictionary correspondence information 222, the compression / expansion device C131 has a dictionary name in communication with the subnet 112 of the communication destination “192.168.1.0/24” that passes through the compression / expansion device A111. In the communication with the communication destination “192.168.2.0/24” passing through the compression / decompression apparatus B121, the dictionary name is “Dictionary B”. Keep six dictionaries. Therefore, the dictionary management information 223 includes five rows 4401 to 4405 of the dictionary A and six rows 4406 to 4411 of the dictionary B.

圧縮伸張モジュール221は、通信先−辞書対応情報222及び辞書管理情報223を用いて、通信先の装置との通信に使用する辞書を一意に取得することができる。例えば、サーバ103がクライアント装置A101に対してIPパケットを送信する場合、圧縮伸張装置C131の圧縮伸張モジュール221は、以下の手順にしたがって辞書を取得する。   Using the communication destination-dictionary correspondence information 222 and the dictionary management information 223, the compression / decompression module 221 can uniquely acquire a dictionary used for communication with the communication destination device. For example, when the server 103 transmits an IP packet to the client apparatus A 101, the compression / expansion module 221 of the compression / expansion apparatus C131 acquires a dictionary according to the following procedure.

圧縮伸張モジュール221は、IPパケットのIPヘッダから通信先の装置(クライアント装置A101)のIPアドレスを取得する。ここでは、IPアドレス「192.168.1.101」が取得される。   The compression / decompression module 221 acquires the IP address of the communication destination device (client device A 101) from the IP header of the IP packet. Here, the IP address “192.168.1.101” is acquired.

次に、圧縮伸張モジュール221は、通信先−辞書対応情報222から、IPパケットから取得されたIPアドレスが通信先302に含まれる行を取得する。ここでは、行332が取得される。   Next, the compression / decompression module 221 acquires a line in which the IP address acquired from the IP packet is included in the communication destination 302 from the communication destination-dictionary correspondence information 222. Here, row 332 is acquired.

次に、圧縮伸張モジュール221は、取得された行332の辞書名304及び現辞書番号306の値を取得する。ここでは、辞書名として「辞書A」、現辞書番号として「5」が取得される。   Next, the compression / decompression module 221 acquires the values of the dictionary name 304 and the current dictionary number 306 in the acquired row 332. Here, “Dictionary A” is acquired as the dictionary name, and “5” is acquired as the current dictionary number.

次に、圧縮伸張モジュール221は、辞書管理情報223を参照し、辞書名402及び辞書番号403が、行332の辞書名304及び現辞書番号306から取得された値と一致する行を検索する。さらに、圧縮伸張モジュール221は、検索された行の辞書データ404から辞書データを取得する。ここでは、行4405が検索される。   Next, the compression / decompression module 221 refers to the dictionary management information 223 and searches for a row in which the dictionary name 402 and the dictionary number 403 match the values acquired from the dictionary name 304 and the current dictionary number 306 in the row 332. Further, the compression / decompression module 221 acquires dictionary data from the dictionary data 404 of the searched row. Here, row 4405 is retrieved.

次に、圧縮伸張モジュール221が実行する処理の詳細について説明する。   Next, details of processing executed by the compression / decompression module 221 will be described.

図5A及び図5Bは、本発明の実施例1における圧縮伸張モジュール221がIPパケットを受信した場合に実行するIPパケットの転送処理を説明するフローチャートである。   5A and 5B are flowcharts for explaining IP packet transfer processing executed when the compression / decompression module 221 according to the first embodiment of the present invention receives an IP packet.

図5Aは、NIC1(204)からIPパケットを受信した場合に実行される、圧縮処理を伴うIPパケットの転送処理を示す。図5Bは、NIC2(205)からIPパケットを受信した場合に実行される、伸張処理を伴うIPパケットの転送処理を示す。   FIG. 5A shows an IP packet transfer process accompanied by a compression process, which is executed when an IP packet is received from NIC1 (204). FIG. 5B shows an IP packet transfer process accompanied by a decompression process, which is executed when an IP packet is received from the NIC 2 (205).

いずれのIPパケットの転送処理も、圧縮処理又は伸張処理の部分以外の処理は同様の処理であるため、比較しながら説明する。   Any IP packet transfer processing is the same as the processing other than the compression processing or decompression processing, and will be described by comparison.

まず、図5Aを用いて圧縮処理を伴うIPパケットの転送処理について説明する。   First, IP packet transfer processing accompanied with compression processing will be described with reference to FIG. 5A.

圧縮伸張モジュール221は、NIC1(204)からIPパケットを受信すると(ステップS511)、当該IPパケットの送信先の装置に対して適用される辞書を取得する。具体的には、ステップS512からステップS514の手順にしたがって辞書が取得される。   When the compression / decompression module 221 receives an IP packet from the NIC 1 (204) (step S511), the compression / decompression module 221 acquires a dictionary applied to the destination device of the IP packet. Specifically, a dictionary is acquired according to the procedure from step S512 to step S514.

まず、圧縮伸張モジュール221は、受信したIPパケットのIPヘッダから宛先IPアドレス(Destination IP Address)を取得する(ステップS512)。   First, the compression / decompression module 221 obtains a destination IP address (Destination IP Address) from the IP header of the received IP packet (step S512).

次に、圧縮伸張モジュール221は、通信先−辞書対応情報222から、通信先302にステップS512において取得された宛先IPアドレスが含まれる行を検索し、さらに、当該行の辞書名304及び現辞書番号306の値を取得する(ステップS513)。   Next, the compression / decompression module 221 searches the communication destination 302 for a line including the destination IP address acquired in step S512 from the communication destination-dictionary correspondence information 222, and further includes the dictionary name 304 and the current dictionary of the line. The value of number 306 is acquired (step S513).

圧縮伸張モジュール221は、辞書管理情報223を参照し、辞書名402及び辞書番号403が、ステップS513において取得された辞書名304及び現辞書番号306の値と一致する行を検索し、さらに、当該行の辞書データ404に格納される辞書データを取得して一時領域に格納する(ステップS514)。   The compression / decompression module 221 searches the dictionary management information 223, searches for a line in which the dictionary name 402 and the dictionary number 403 match the values of the dictionary name 304 and the current dictionary number 306 acquired in step S513, and further The dictionary data stored in the line dictionary data 404 is acquired and stored in the temporary area (step S514).

圧縮伸張モジュール221は、一時領域に格納される辞書データを用いて、受信したIPパケットのペイロードを圧縮する(ステップS515)。このとき、圧縮伸張モジュール221は、送信される通信内容に基づいて、一時領域に格納される辞書データに新しい単語を追加する。また、圧縮伸張モジュール221は、IPパケットの短期の圧縮率及び長期の圧縮率を算出する。   The compression / decompression module 221 compresses the payload of the received IP packet using the dictionary data stored in the temporary area (step S515). At this time, the compression / decompression module 221 adds a new word to the dictionary data stored in the temporary area based on the transmitted communication content. The compression / decompression module 221 calculates a short-term compression rate and a long-term compression rate of the IP packet.

なお、新たな単語が検出されない場合、辞書データには新たな単語は追加されない。また、新たに単語を追加することによって辞書のサイズが辞書データ404のサイズの上限を超えてしまう場合にも、新たな単語は追加されない。また、新たに単語を追加することによって辞書のサイズが辞書データ404のサイズの上限を超えてしまう場合の別の対処法として、最も使われていない単語を削除する方法も知られている。   When no new word is detected, no new word is added to the dictionary data. Also, when a new word is added and the size of the dictionary exceeds the upper limit of the size of the dictionary data 404, no new word is added. In addition, as another countermeasure for the case where the dictionary size exceeds the upper limit of the size of the dictionary data 404 by adding a new word, a method of deleting the least used word is also known.

圧縮伸張モジュール221は、圧縮されたペイロードを含むIPパケットをNIC2(205)から、宛先IPアドレスに対応する装置に送信する(ステップS516)。   The compression / decompression module 221 transmits the IP packet including the compressed payload from the NIC 2 (205) to the device corresponding to the destination IP address (step S516).

その後、圧縮伸張モジュール221は、辞書管理情報223の更新処理を実行し(ステップS517)、処理を終了する。   Thereafter, the compression / decompression module 221 executes a process for updating the dictionary management information 223 (step S517), and ends the process.

なお、辞書管理情報223の更新処理の詳細は、図8を用いて後述するが、ステップS515において更新された辞書データは、辞書管理情報223の更新処理において一時領域から辞書管理情報223に書き戻される。   The details of the update process of the dictionary management information 223 will be described later with reference to FIG. 8, but the dictionary data updated in step S515 is written back from the temporary area to the dictionary management information 223 in the update process of the dictionary management information 223. It is.

次に、図7Bを用いて伸張処理を伴うIPパケットの転送処理について説明する。   Next, IP packet transfer processing accompanied with decompression processing will be described with reference to FIG. 7B.

圧縮伸張モジュール221は、NIC2(205)からIPパケットを受信すると(ステップS521)、当該IPパケットの送信先の装置に対して適用される辞書を取得する。具体的には、ステップS523からステップS524の手順にしたがって辞書が取得される。   When the compression / decompression module 221 receives an IP packet from the NIC 2 (205) (step S521), the compression / decompression module 221 acquires a dictionary applied to the transmission destination apparatus of the IP packet. Specifically, a dictionary is acquired according to the procedure from step S523 to step S524.

まず、圧縮伸張モジュール221は、受信したIPパケットのIPヘッダから送信元IPアドレス(Source IP Address)を取得する(ステップS522)。   First, the compression / decompression module 221 acquires a source IP address (Source IP Address) from the IP header of the received IP packet (step S522).

次に、圧縮伸張モジュール221は、ステップS513と同様に、通信先−辞書対応情報222から、通信先302にステップS522において取得された送信元IPアドレスが含まれる行を検索し、さらに、当該行の辞書名304及び現辞書番号306の値を取得する(ステップS523)。   Next, as in step S513, the compression / decompression module 221 searches the communication destination-dictionary correspondence information 222 for a line including the transmission source IP address acquired in step S522 in the communication destination 302, and further, The values of the dictionary name 304 and the current dictionary number 306 are acquired (step S523).

圧縮伸張モジュール221は、ステップS514と同様に、辞書管理情報223を参照し、辞書名402及び辞書番号403が、ステップS523において取得された辞書名304及び現辞書番号306の値と一致する行を検索し、さらに、当該行から辞書データ404に格納される辞書データを取得して一時領域に格納する(ステップS524)。   Similar to step S514, the compression / decompression module 221 refers to the dictionary management information 223, and finds a line in which the dictionary name 402 and the dictionary number 403 match the values of the dictionary name 304 and the current dictionary number 306 acquired in step S523. Further, the dictionary data stored in the dictionary data 404 is acquired from the row and stored in the temporary area (step S524).

圧縮伸張モジュール221は、一時領域に格納される辞書データを用いてIPパケットのペイロードを伸張する(ステップS525)。このとき、圧縮伸張モジュール221は、送信される通信内容に基づいて、一時領域に格納される辞書データに新しい単語を追加する。また、圧縮伸張モジュール221は、IPパケットの短期の圧縮率及び長期の圧縮率を算出する。なお、新たな単語が検出されない場合、辞書データには新たな単語は追加されない。   The compression / decompression module 221 expands the payload of the IP packet using the dictionary data stored in the temporary area (step S525). At this time, the compression / decompression module 221 adds a new word to the dictionary data stored in the temporary area based on the transmitted communication content. The compression / decompression module 221 calculates a short-term compression rate and a long-term compression rate of the IP packet. When no new word is detected, no new word is added to the dictionary data.

圧縮伸張モジュール221は、伸張されたペイロードを含むIPパケットをNIC1(204)から、宛先IPアドレスに対応する装置に送信する(ステップS526)。   The compression / decompression module 221 transmits the IP packet including the decompressed payload from the NIC1 (204) to the device corresponding to the destination IP address (step S526).

その後、圧縮伸張モジュール221は、辞書管理情報223の更新処理を実行し(ステップS527)、処理を終了する。   Thereafter, the compression / decompression module 221 executes a process for updating the dictionary management information 223 (step S527), and ends the process.

なお、辞書管理情報223の更新処理の詳細は、図8を用いて後述するが、ステップS525において更新された辞書データは、辞書管理情報223の更新処理において一時領域から辞書管理情報223に書き戻される。   Details of the updating process of the dictionary management information 223 will be described later with reference to FIG. 8, but the dictionary data updated in step S525 is written back from the temporary area to the dictionary management information 223 in the updating process of the dictionary management information 223. It is.

図6は、本発明の実施例1における圧縮伸張モジュール221が実行する辞書管理情報223の更新処理を説明するフローチャートである。   FIG. 6 is a flowchart illustrating the dictionary management information 223 update process executed by the compression / decompression module 221 according to the first embodiment of this invention.

圧縮伸張モジュール221は、辞書管理情報223の更新処理を開始すると(ステップS601)、サイズ要件が成立し、かつ、圧縮率要件が成立するか否かを判定する。(ステップS602)。ここで、ステップS602の判定処理について説明する。   When the compression / decompression module 221 starts updating the dictionary management information 223 (step S601), the compression / decompression module 221 determines whether the size requirement is satisfied and the compression rate requirement is satisfied. (Step S602). Here, the determination process in step S602 will be described.

サイズ要件は、辞書のサイズが第一の閾値以上であることとする。本実施例では、辞書のサイズは、辞書に登録される単語数を想定しているが、辞書のバイト数を用いてもよい。   The size requirement is that the size of the dictionary is greater than or equal to the first threshold. In this embodiment, the size of the dictionary assumes the number of words registered in the dictionary, but the number of bytes of the dictionary may be used.

第一の閾値は、設定ファイルなどを用いて管理者によって設定される値であり、例えば、単語数として「30,000」が設定される。前述した第一の閾値は一例であって、「30,000」より大きい値、又は小さい値であってもよい。なお、第一の閾値は、圧縮伸張モジュールプログラム231に予め埋め込む等、その他の手段を用いて設定されてもよい。   The first threshold value is a value set by the administrator using a setting file or the like, and for example, “30,000” is set as the number of words. The first threshold value described above is an example, and may be a value greater than “30,000” or a smaller value. The first threshold may be set using other means such as embedding in the compression / decompression module program 231 in advance.

また、圧縮率要件は、圧縮率の短期平均及び圧縮率の長期平均の比率(圧縮率の長期平均に対する圧縮率の短期平均の比率)が第二の閾値以下であることとする。すなわち、圧縮率要件は、現在の辞書を用いた圧縮後のデータ又は現在の辞書を用いて伸張される前のデータが十分小さいサイズに圧縮されたデータであるか否かを判定するものである。なお、圧縮率の短期平均及び圧縮率の長期平均は、通信先−辞書対応情報222の圧縮率短期平均307及び圧縮率長期平均308から取得可能な値である。   The compression ratio requirement is that the ratio of the short-term average compression ratio and the long-term average compression ratio (the ratio of the short-term average compression ratio to the long-term average compression ratio) is equal to or less than the second threshold. That is, the compression rate requirement is to determine whether the data after compression using the current dictionary or the data before being expanded using the current dictionary is data compressed to a sufficiently small size. . The short-term average compression ratio and the long-term average compression ratio are values that can be acquired from the short-term compression ratio average 307 and the long-term compression ratio average 308 of the communication destination-dictionary correspondence information 222.

第二の閾値は、設定ファイルなどを用いて管理者によって設定される値であり、例えば、比率として「0.4(40%)」が設定される。前述した第二の閾値は一例であって、「0.4」より大きい値、又は小さい値であってもよい。なお、第二の閾値は、圧縮伸張モジュールプログラム231に予め埋め込む等、その他の手段を用いて設定されてもよい。   The second threshold is a value set by the administrator using a setting file or the like, and for example, “0.4 (40%)” is set as the ratio. The second threshold value described above is an example, and may be a value greater than “0.4” or a smaller value. Note that the second threshold may be set using other means such as embedding in the compression / decompression module program 231 in advance.

ステップS602の判定処理は、現在の通信内容に対して適切な辞書が使用されているか否かを判定するための処理である。具体的には、以下のような判定がなされる。   The determination process in step S602 is a process for determining whether or not an appropriate dictionary is used for the current communication content. Specifically, the following determination is made.

サイズ要件が成立し、かつ、圧縮率要件が成立する場合、現在の通信内容に対して適切な辞書が使用されていないことを示す。したがって、この場合、圧縮伸張モジュール221は、他の辞書を使用し、又は新たな辞書を生成する必要がある。   If the size requirement is satisfied and the compression rate requirement is satisfied, it indicates that an appropriate dictionary is not used for the current communication content. Therefore, in this case, the compression / decompression module 221 needs to use another dictionary or generate a new dictionary.

サイズ要件は成立するが、圧縮率要件成立しない場合、現在の通信内容に対して適切な辞書が使用されていることを示す。 If the size requirement is satisfied but the compression rate requirement is not satisfied, this indicates that a dictionary appropriate for the current communication content is used.

サイズ要件が成立しない場合、新しく生成された辞書の単語数が十分でないことを示す。後述するステップS631において新しい辞書が生成された直後は、当該辞書の単語数が十分ではないため圧縮率が上がらない。したがって、新しく生成された辞書の単語数が増えるまで、辞書の変更及び新規辞書の生成を行わないようにするためにサイズ要件が成立するか否かが判定される。   If the size requirement is not met, it indicates that the number of words in the newly generated dictionary is not sufficient. Immediately after a new dictionary is generated in step S631 described later, the compression rate does not increase because the number of words in the dictionary is not sufficient. Therefore, it is determined whether or not the size requirement is satisfied so as not to change the dictionary and generate a new dictionary until the number of words in the newly generated dictionary increases.

以上が、ステップS602の判定処理の説明である。   The above is the description of the determination process in step S602.

サイズ要件又は圧縮率要件の少なくともいずれかが成立していないと判定された場合、圧縮伸張モジュール221は、辞書管理情報223の辞書データ404を更新する(ステップS611)。これは、現在の通信内容に対して適切な辞書データが使用されていること、又は新たな辞書データが生成された直後であることを示す。そのため、圧縮伸張モジュール221は、現在の辞書を更新し、当該辞書の使用を継続する。   When it is determined that at least one of the size requirement and the compression rate requirement is not satisfied, the compression / decompression module 221 updates the dictionary data 404 of the dictionary management information 223 (step S611). This indicates that dictionary data appropriate for the current communication content is being used, or that new dictionary data has just been generated. Therefore, the compression / decompression module 221 updates the current dictionary and continues to use the dictionary.

具体的には、圧縮伸張モジュール221は、ステップS515又はステップS525において新たに単語が追加された最新の辞書データを、ステップS514又はステップS524において辞書管理情報223から検索された行の辞書データ404に格納する。   Specifically, the compression / decompression module 221 converts the latest dictionary data in which a word is newly added in step S515 or step S525 into the dictionary data 404 of the line retrieved from the dictionary management information 223 in step S514 or step S524. Store.

圧縮伸張モジュール221は、通信先−辞書対応情報222の圧縮率短期平均307を更新し(ステップS612)、また、通信先−辞書対応情報222の圧縮率長期平均308を更新し(ステップS613)、処理を終了する。具体的には、以下のような処理が実行される。   The compression / decompression module 221 updates the compression rate short-term average 307 of the communication destination-dictionary correspondence information 222 (step S612), and updates the compression rate long-term average 308 of the communication destination-dictionary correspondence information 222 (step S613). The process ends. Specifically, the following processing is executed.

圧縮伸張モジュール221は、ステップS513又はステップS523において、通信先−辞書対応情報222から取得された行の圧縮率短期平均307に、ステップS515又はステップS525において算出されたIPパケットの短期の圧縮率を格納する。   In step S513 or step S523, the compression / decompression module 221 adds the short-term compression rate of the IP packet calculated in step S515 or step S525 to the compression rate short-term average 307 of the row acquired from the communication destination-dictionary correspondence information 222. Store.

また、圧縮伸張モジュール221は、ステップS513又はステップS523において、通信先−辞書対応情報222から取得された行の圧縮率長期平均308に、ステップS515又はステップS525において算出されたIPパケットの長期の圧縮率を格納する。   In addition, the compression / decompression module 221 performs the long-term compression of the IP packet calculated in step S515 or step S525 to the long-term compression ratio long-term average 308 of the row acquired from the communication destination-dictionary correspondence information 222 in step S513 or step S523. Stores the rate.

以上がステップS612及びステップS613の処理の説明である。   The above is description of the process of step S612 and step S613.

ステップS602において、サイズ要件が成立し、かつ、圧縮率要件が成立すると判定された場合、圧縮伸張モジュール221は、辞書管理情報223から現在使用している辞書データとは異なる辞書データを取得し、一時領域に当該辞書データを格納する(ステップS621)。すなわち、圧縮伸張モジュール221は、現在使用されていない辞書を取得する。   In step S602, when it is determined that the size requirement is satisfied and the compression rate requirement is satisfied, the compression / decompression module 221 acquires dictionary data different from the dictionary data currently used from the dictionary management information 223, The dictionary data is stored in the temporary area (step S621). That is, the compression / decompression module 221 acquires a dictionary that is not currently used.

具体的には、圧縮伸張モジュール221は、辞書管理情報223から辞書名402の値がステップS513又はステップS523において取得された辞書名に一致し、かつ辞書番号403の値がステップS513又はステップS523において取得された現辞書番号とは異なる行を全て抽出する。さらに、圧縮伸張モジュール221は、抽出された行の辞書データ404から辞書データを取得し、一時領域に取得された辞書データを格納する。   Specifically, the compression / decompression module 221 determines that the value of the dictionary name 402 from the dictionary management information 223 matches the dictionary name acquired in step S513 or step S523, and the value of the dictionary number 403 is set in step S513 or step S523. All lines different from the obtained current dictionary number are extracted. Further, the compression / decompression module 221 acquires dictionary data from the extracted dictionary data 404 of the row, and stores the acquired dictionary data in the temporary area.

圧縮伸張モジュール221は、ステップS621において取得された辞書データを用いて、IPパケットのペイロードの圧縮率を算出する(ステップS622)。   The compression / decompression module 221 calculates the compression rate of the payload of the IP packet using the dictionary data acquired in step S621 (step S622).

具体的には、圧縮伸張モジュール221は、取得された辞書データを用いて、ステップS511において受信したIPパケット又はステップS526において送信されたIPパケットのペイロードを圧縮する。これによって、圧縮伸張モジュール221は、当該IPパケットのペイロードの圧縮率を算出できる。   Specifically, the compression / decompression module 221 compresses the payload of the IP packet received in step S511 or the IP packet transmitted in step S526, using the acquired dictionary data. Thereby, the compression / decompression module 221 can calculate the compression rate of the payload of the IP packet.

圧縮伸張モジュール221は、他の辞書データを用いたペイロードの圧縮率が、現在使用している辞書を用いたペイロードの圧縮率長期平均より高い辞書データが存在するか否かを判定する(ステップS623)。すなわち、他の辞書を用いた圧縮後のデータが十分小さいサイズに圧縮されたデータであるか否かが判定される。   The compression / decompression module 221 determines whether there is dictionary data in which the payload compression rate using other dictionary data is higher than the long-term average of the payload compression rate using the currently used dictionary (step S623). ). That is, it is determined whether the data after compression using another dictionary is data compressed to a sufficiently small size.

具体的には、圧縮伸張モジュール221は、ステップS622において算出されたペイロードの圧縮率と、ステップS513又はステップS523において取得された行の圧縮率長期平均308の値とを比較し、算出されたペイロードの圧縮率が圧縮率長期平均308の値より大きいか否かを判定する。   Specifically, the compression / decompression module 221 compares the payload compression rate calculated in step S622 with the value of the long-term average compression rate 308 of the row acquired in step S513 or step S523, and calculates the calculated payload. It is determined whether or not the compression ratio is larger than the value of the compression ratio long-term average 308.

他の辞書データを用いたペイロードの圧縮率が、現在使用している辞書を用いたペイロードの圧縮率長期平均より高い辞書データが存在しないと判定された場合、圧縮伸張モジュール221は、辞書管理情報223に新たな辞書データに対応する行を追加する(ステップS631)。   When it is determined that there is no dictionary data whose payload compression rate using other dictionary data is higher than the long-term average of the payload compression rate using the currently used dictionary, the compression / decompression module 221 selects the dictionary management information. A line corresponding to the new dictionary data is added to 223 (step S631).

このとき、圧縮伸張モジュール221は、追加された行のID401に任意の値を設定し、辞書名402にステップS513又はステップS523において取得された辞書名を設定し、辞書番号403にステップS513又はステップS523において取得された行の辞書数305の値に「1」を加算した値を設定する。なお、追加された行の辞書データ404は空の辞書データとする。   At this time, the compression / decompression module 221 sets an arbitrary value for the ID 401 of the added row, sets the dictionary name acquired in step S513 or step S523 for the dictionary name 402, and sets the dictionary number 403 for step S513 or step. A value obtained by adding “1” to the value of the dictionary number 305 in the row acquired in S523 is set. Note that the dictionary data 404 of the added line is empty dictionary data.

圧縮伸張モジュール221は、通信先−辞書対応情報222の辞書数305及び現辞書番号306を更新し(ステップS632)、さらに、圧縮率短期平均307を「0%」に更新し(ステップS633)、その後、ステップS613に進む。   The compression / decompression module 221 updates the dictionary number 305 and the current dictionary number 306 of the communication destination-dictionary correspondence information 222 (step S632), and further updates the compression rate short-term average 307 to “0%” (step S633). Thereafter, the process proceeds to step S613.

具体的には、圧縮伸張モジュール221は、ステップS513又はステップS523において取得された行の辞書数305の値に「1」を加算する。また、圧縮伸張モジュール221は、当該行の現辞書番号306の値に、更新された辞書数305の値を格納する。   Specifically, the compression / decompression module 221 adds “1” to the value of the dictionary number 305 in the row acquired in step S513 or step S523. Further, the compression / decompression module 221 stores the updated value of the number of dictionaries 305 in the value of the current dictionary number 306 of the row.

ステップS623において、他の辞書データを用いたペイロードの圧縮率が、現在使用している辞書を用いたペイロードの圧縮率長期平均より高い辞書データが存在すると判定された場合、圧縮伸張モジュール221は、通信先−辞書対応情報222の現辞書番号306を更新し(ステップS641)、さらに、圧縮率短期平均307を更新し(ステップS642)、その後、ステップS613に進む。これは、過去に似たような通信内容のIPパケットが送信されたことを示す。この場合、他の辞書データに切り替えて通信を行うこととなる。   If it is determined in step S623 that there is dictionary data in which the compression rate of the payload using other dictionary data is higher than the long-term average of the compression rate of the payload using the currently used dictionary, the compression / decompression module 221 The current dictionary number 306 of the communication destination-dictionary correspondence information 222 is updated (step S641), the compression rate short-term average 307 is further updated (step S642), and then the process proceeds to step S613. This indicates that an IP packet having a communication content similar to the past was transmitted. In this case, communication is performed by switching to other dictionary data.

具体的には、圧縮伸張モジュール221は、ステップS513又はステップS523において取得された行の現辞書番号306の値を、現在使用している辞書を用いたペイロードの圧縮率長期平均より大きい圧縮率の辞書データの番号に更新する。また、圧縮伸張モジュール221は、当該行の圧縮率短期平均307の値を、ステップS515又はステップS525において算出されたIPパケットの圧縮率に更新する。   Specifically, the compression / decompression module 221 sets the value of the current dictionary number 306 of the line acquired in step S513 or step S523 to a compression rate larger than the long-term average compression rate of the payload using the currently used dictionary. Update to dictionary data number. Further, the compression / decompression module 221 updates the value of the compression rate short-term average 307 of the row to the compression rate of the IP packet calculated in step S515 or step S525.

なお、ステップS622において、現在使用している辞書を用いたペイロードの圧縮率長期平均より大きい圧縮率の辞書データが複数存在する場合、圧縮伸張モジュール221は、最も圧縮率の高い辞書データを選択するものとする。   If there is a plurality of dictionary data having a compression rate larger than the long-term average of the payload compression rate using the currently used dictionary in step S622, the compression / decompression module 221 selects the dictionary data with the highest compression rate. Shall.

なお、実施例1では、圧縮伸張装置間を接続するネットワーク構成について説明したが本発明はこれに限定されない。例えば、クライアント装置側に圧縮機能のみを備えた圧縮装置を接続し、サーバ側に伸張機能のみを備えた伸張装置を接続するネットワーク構成であってもよい。   In the first embodiment, the network configuration for connecting the compression / decompression apparatuses has been described. However, the present invention is not limited to this. For example, a network configuration may be employed in which a compression device having only a compression function is connected to the client device side, and a decompression device having only the decompression function is connected to the server side.

なお、実施例1では、クライアント装置及びサーバと別の装置として圧縮伸張装置を記載したが本発明はこれに限定されない。例えば、クライアント装置及びサーバが、圧縮伸張装置が備える機能を有してもよい。   In the first embodiment, the compression / decompression apparatus is described as a separate apparatus from the client apparatus and the server, but the present invention is not limited to this. For example, the client device and the server may have a function included in the compression / decompression device.

なお、実施例1では、圧縮率短期平均及び圧縮率長期平均を用いて辞書の切り替え、又は辞書の生成を行うか否かを判定していたが本発明はこれに限定されない。例えば、圧縮率短期平均の絶対値が第二の閾値以下の場合に圧縮率要件が成立すると判定してもよい。   In the first embodiment, it is determined whether to switch the dictionary or to generate the dictionary using the compression ratio short-term average and the compression ratio long-term average. However, the present invention is not limited to this. For example, it may be determined that the compression ratio requirement is satisfied when the absolute value of the compression ratio short-term average is equal to or smaller than the second threshold.

以上で説明したように、実施例1によれば、圧縮伸張装置は、一つの通信先に対して、IPパケットを圧縮又は伸張するための情報である複数の辞書を保持し、通信内容に応じて圧縮率が高い辞書を用いて通信内容を圧縮又は伸張することができる。 As described above, according to the first embodiment, the compression / decompression apparatus holds a plurality of dictionaries, which are information for compressing or expanding IP packets, for one communication destination, and responds to communication contents. Thus, the communication content can be compressed or expanded using a dictionary with a high compression rate.

これによって、各通信先の装置との間で送受信されるデータの圧縮率を高めることができる。また、通信内容に応じて、動的に辞書を切り替え、又は、新たに辞書を生成することによって、最適な圧縮率を実現可能な通信が可能となる。   Thereby, the compression rate of data transmitted / received to / from each communication destination device can be increased. Further, communication that can realize an optimal compression rate is possible by dynamically switching dictionaries or newly generating dictionaries according to communication contents.

さらに、小さいサイズの辞書を用いるため、全ての辞書を主記憶装置202上に格納することができる。したがって、検索時のI/O速度を高速化することができる。   Furthermore, since a small-sized dictionary is used, all the dictionaries can be stored on the main storage device 202. Therefore, the I / O speed at the time of search can be increased.

実施例2では、実施例1の圧縮伸張装置が使用する辞書式圧縮にエントロピー符号を組合せることによって、さらに圧縮率を高めている点が異なる。以下、実施例1との差異を中心に実施例2について説明する。   The second embodiment is different in that the compression rate is further increased by combining the entropy code with the lexicographic compression used by the compression / decompression apparatus according to the first embodiment. Hereinafter, the second embodiment will be described focusing on differences from the first embodiment.

実施例2の計算機システムの構成は、実施例1と同一であるため説明を省略する。ただし、実施例2では、圧縮伸張装置A111、圧縮伸張装置B121、及び圧縮伸張装置C131の構成が異なる。   Since the configuration of the computer system of the second embodiment is the same as that of the first embodiment, description thereof is omitted. However, in the second embodiment, the configurations of the compression / expansion device A111, the compression / expansion device B121, and the compression / expansion device C131 are different.

以下、図7から図10を用いて、実施例2の圧縮伸張装置の構成について説明する。なお、実施例2の圧縮伸張装置は、実施例1の圧縮伸張装置にエントロピー符号に関する機能が追加されている点が異なる。したがって、実施例2の圧縮伸張装置について、実施例1の圧縮伸張装置との差異を中心に説明する。   Hereinafter, the configuration of the compression / decompression apparatus according to the second embodiment will be described with reference to FIGS. The compression / decompression apparatus according to the second embodiment is different from the compression / decompression apparatus according to the first embodiment in that a function related to an entropy code is added. Therefore, the compression / decompression apparatus according to the second embodiment will be described focusing on differences from the compression / decompression apparatus according to the first embodiment.

図7は、本発明の実施例2における圧縮伸張装置の構成例を示すブロック図である。図7では、圧縮伸張装置A111の構成例を示す。なお、圧縮伸張装置B121及び圧縮伸張装置C131も同一の構成である。   FIG. 7 is a block diagram illustrating a configuration example of the compression / decompression apparatus according to the second embodiment of the present invention. FIG. 7 shows a configuration example of the compression / decompression apparatus A111. Note that the compression / expansion device B121 and the compression / expansion device C131 have the same configuration.

圧縮伸張装置A111のハードウェア構成は実施例1と同一であるため説明を省略する。   Since the hardware configuration of the compression / decompression apparatus A111 is the same as that of the first embodiment, the description thereof is omitted.

実施例2の二次記憶装置203には、辞書エントロピー圧縮伸張モジュール721を実現する辞書エントロピー圧縮伸張モジュールプログラム731が格納される。   The secondary storage device 203 according to the second embodiment stores a dictionary entropy compression / expansion module program 731 for realizing the dictionary entropy compression / expansion module 721.

CPU201は、圧縮伸張装置A111の起動時に、辞書エントロピー圧縮伸張モジュールプログラム731を二次記憶装置203から読み出し、主記憶装置202上に展開する。さらに、CPU201は、展開された辞書エントロピー圧縮伸張モジュールプログラム731を実行することによって辞書エントロピー圧縮伸張モジュール721を実現する。辞書エントロピー圧縮伸張モジュール721は、後述する通信先−辞書頻度表対応情報722及び辞書頻度表管理情報723を主記憶装置202上に展開する。   The CPU 201 reads the dictionary entropy compression / expansion module program 731 from the secondary storage device 203 and expands it on the main storage device 202 when the compression / expansion device A111 is activated. Further, the CPU 201 implements the dictionary entropy compression / expansion module 721 by executing the expanded dictionary entropy compression / expansion module program 731. The dictionary entropy compression / decompression module 721 expands communication destination-dictionary frequency table correspondence information 722 and dictionary frequency table management information 723, which will be described later, on the main storage device 202.

辞書エントロピー圧縮伸張モジュール721は、後述する通信先−辞書頻度表対応情報722及び辞書頻度表管理情報723に基づいて、NIC1(204)から受信したIPパケットのペイロードを圧縮し、NIC2(205)から圧縮されたペイロードを含むIPパケットを通信先の装置に転送する。また、圧縮伸張モジュール221は、通信先−辞書頻度表対応情報722及び辞書頻度表管理情報723に基づいて、NIC2(205)から受信したIPパケットのペイロードを伸張し、NIC1(204)から伸張されたペイロードを含むIPパケットを通信先の装置に転送する。   The dictionary entropy compression / decompression module 721 compresses the payload of the IP packet received from the NIC1 (204) based on the communication destination-dictionary frequency table correspondence information 722 and the dictionary frequency table management information 723, which will be described later, and from the NIC2 (205). The IP packet including the compressed payload is transferred to the communication destination device. The compression / decompression module 221 expands the payload of the IP packet received from the NIC2 (205) based on the communication destination-dictionary frequency table correspondence information 722 and the dictionary frequency table management information 723, and expands the NIC1 (204). The IP packet including the payload is transferred to the communication destination device.

図8は、本発明の実施例2における通信先−辞書頻度表対応情報722の一例を示す説明図である。図8は圧縮伸張装置C131が保持する通信先−辞書頻度表対応情報722を示す。   FIG. 8 is an explanatory diagram illustrating an example of the communication destination-dictionary frequency table correspondence information 722 according to the second embodiment of the present invention. FIG. 8 shows communication destination-dictionary frequency table correspondence information 722 held by the compression / decompression apparatus C131.

通信先−辞書頻度表対応情報722は、実施例1の通信先−辞書対応情報222を、通信先の装置と、辞書及び頻度表との対応を管理するように変更したものである。具体的には、通信先−辞書対応情報222の辞書名304、辞書数305、及び現辞書番号306が、辞書頻度表名804、辞書頻度表数805、及び現辞書頻度表番号806に変更される。その他の情報列は実施例1と同一のものである。   The communication destination-dictionary frequency table correspondence information 722 is obtained by changing the communication destination-dictionary correspondence information 222 of the first embodiment so as to manage the correspondence between the communication destination device, the dictionary, and the frequency table. Specifically, the dictionary name 304, dictionary number 305, and current dictionary number 306 of the communication destination-dictionary correspondence information 222 are changed to a dictionary frequency table name 804, a dictionary frequency table number 805, and a current dictionary frequency table number 806. The The other information strings are the same as those in the first embodiment.

なお、実施例2では、辞書の切り替えと同時に、頻度表も切り替えられるため、辞書及び頻度表を同一の行で管理する。しかし、辞書及び頻度表は異なるタイミングで切り替えることも考えられる。この場合、通信先−辞書頻度表対応情報722の情報列には、辞書名及び頻度表名、並びにそれらの番号を管理する辞書数、頻度表数、現辞書番号、及び現頻度表番号が含まれる。   In the second embodiment, since the frequency table is switched simultaneously with the switching of the dictionary, the dictionary and the frequency table are managed on the same line. However, the dictionary and the frequency table may be switched at different timings. In this case, the information column of the communication destination-dictionary frequency table correspondence information 722 includes the dictionary name and the frequency table name, the number of dictionaries for managing those numbers, the number of frequency tables, the current dictionary number, and the current frequency table number. It is.

図9は、本発明の実施例2における辞書頻度表管理情報723の一例を示す説明図である。図9は、圧縮伸張装置C131が保持する辞書頻度表管理情報723を示す。   FIG. 9 is an explanatory diagram illustrating an example of the dictionary frequency table management information 723 according to the second embodiment of this invention. FIG. 9 shows dictionary frequency table management information 723 held by the compression / decompression apparatus C131.

辞書頻度表管理情報723は、頻度表を管理するために、実施例1の辞書管理情報223に頻度表データ905が追加された構造になっている。   The dictionary frequency table management information 723 has a structure in which frequency table data 905 is added to the dictionary management information 223 of the first embodiment in order to manage the frequency table.

また、辞書頻度表管理情報723では、実施例1の辞書管理情報223の辞書名402、及び辞書番号403が辞書頻度表名902及び辞書頻度表番号903に変更される。その他の情報列は実施例1と同一のものである。   In the dictionary frequency table management information 723, the dictionary name 402 and the dictionary number 403 of the dictionary management information 223 of the first embodiment are changed to the dictionary frequency table name 902 and the dictionary frequency table number 903. The other information strings are the same as those in the first embodiment.

圧縮伸張装置C113は、通信先−辞書頻度表対応情報722に示すように、圧縮伸張装置A111を通る通信先「192.168.1.0/24」のサブネット112との間の通信において、辞書頻度表名が「辞書頻度表A」である辞書頻度表管理情報を構成する辞書データ及び頻度表データを五つ保持し、また、圧縮伸張装置B121を通る通信先「192.168.2.0/24」のサブネット122との間の通信において、辞書頻度表名が「辞書頻度表B」である辞書頻度表管理情報を構成する辞書データ及び頻度表データを六つ保持する。そのため、辞書頻度表管理情報723には、辞書頻度表Aの五つ分の行9401〜9405、辞書頻度表Bの六つ分の行9406〜9411を含む。   As shown in communication destination-dictionary frequency table correspondence information 722, the compression / decompression device C113 uses a dictionary in communication with the subnet 112 of the communication destination “192.168.1.0/24” that passes through the compression / decompression device A111. Five dictionary data and five frequency table data constituting the dictionary frequency table management information whose frequency table name is “dictionary frequency table A” are stored, and the communication destination “192.168.2.0” passing through the compression / decompression device B121 is held. / 24 "subnet communication 122 holds six dictionary data and frequency table data constituting dictionary frequency table management information whose dictionary frequency table name is" dictionary frequency table B ". Therefore, the dictionary frequency table management information 723 includes five rows 9401 to 9405 of the dictionary frequency table A and six rows 9406 to 9411 of the dictionary frequency table B.

辞書エントロピー圧縮伸張モジュール721は、通信先−辞書頻度表対応情報722及び辞書頻度表管理情報723を用いて、通信先の装置との通信に使用する辞書及び頻度表を一意に取得することができる。例えば、サーバ103がクライアント装置A101に対してIPパケットを送信する場合、圧縮伸張装置C131の辞書エントロピー圧縮伸張モジュール721は、以下の手順にしたがって辞書データ及び頻度表データを取得する。   The dictionary entropy compression / decompression module 721 can uniquely acquire a dictionary and a frequency table used for communication with a communication destination device using the communication destination-dictionary frequency table correspondence information 722 and the dictionary frequency table management information 723. . For example, when the server 103 transmits an IP packet to the client apparatus A 101, the dictionary entropy compression / expansion module 721 of the compression / expansion apparatus C131 acquires dictionary data and frequency table data according to the following procedure.

辞書エントロピー圧縮伸張モジュール721は、IPパケットのIPヘッダから通信先の装置(クライアント装置A101)のIPアドレスを取得する。ここでは、IPアドレス「192.168.1.101」が取得される。   The dictionary entropy compression / decompression module 721 acquires the IP address of the communication destination device (client device A 101) from the IP header of the IP packet. Here, the IP address “192.168.1.101” is acquired.

次に、辞書エントロピー圧縮伸張モジュール721は、通信先‐辞書頻度表対応情報722から、取得されたIPアドレスが通信先302に含まれる行を取得する。ここでは、行832が取得される。   Next, the dictionary entropy compression / decompression module 721 acquires a line in which the acquired IP address is included in the communication destination 302 from the communication destination-dictionary frequency table correspondence information 722. Here, row 832 is acquired.

次に、辞書エントロピー圧縮伸張モジュール721は、取得された行832の辞書頻度表名804及び現辞書頻度表番号806の値を取得する。ここでは、辞書頻度表名として「辞書頻度表A」、現辞書頻度表番号として「5」が取得される。   Next, the dictionary entropy compression / decompression module 721 acquires the values of the dictionary frequency table name 804 and the current dictionary frequency table number 806 in the acquired row 832. Here, “dictionary frequency table A” is acquired as the dictionary frequency table name, and “5” is acquired as the current dictionary frequency table number.

次に、辞書エントロピー圧縮伸張モジュール721は、辞書頻度表管理情報723を参照し、辞書頻度表名902及び辞書頻度表番号903が、行832から取得された辞書頻度表名804及び現辞書頻度表番号806の値と一致する行を検索する。ここでは、行9405が検索される。   Next, the dictionary entropy compression / decompression module 721 refers to the dictionary frequency table management information 723, and the dictionary frequency table name 902 and the dictionary frequency table number 903 are obtained from the row 832 and the dictionary frequency table name 804 and the current dictionary frequency table. The line that matches the value of the number 806 is searched. Here, line 9405 is searched.

さらに、辞書エントロピー圧縮伸張モジュール721は、検索された行9405の辞書データ404及び頻度表データ905から辞書データ及び頻度表データを取得する。   Further, the dictionary entropy compression / decompression module 721 acquires dictionary data and frequency table data from the dictionary data 404 and frequency table data 905 in the searched row 9405.

次に、辞書エントロピー圧縮伸張モジュール721が実行する処理の詳細について説明する。   Next, details of processing executed by the dictionary entropy compression / expansion module 721 will be described.

図10A及び図10Bは、本発明の実施例2における辞書エントロピー圧縮伸張モジュール721がIPパケットを受信した場合に実行するIPパケットの転送処理を説明するフローチャートである。   FIGS. 10A and 10B are flowcharts illustrating IP packet transfer processing executed when the dictionary entropy compression / expansion module 721 according to the second embodiment of the present invention receives an IP packet.

図10Aは、NIC1(204)からIPパケットを受信した場合に実行される、圧縮処理を伴うIPパケットの転送処理を示す。図10Bは、NIC2(205)からIPパケットを受信した場合に実行される、伸張処理を伴うIPパケットの転送処理を示す。   FIG. 10A shows an IP packet transfer process with a compression process, which is executed when an IP packet is received from NIC1 (204). FIG. 10B shows an IP packet transfer process accompanied by a decompression process, which is executed when an IP packet is received from NIC2 (205).

なお、辞書エントロピー圧縮伸張モジュール721が実行するIPパケットの転送処理は、圧縮伸張モジュール221が実行するIPパケットの転送処理と基本的には同一の手順となるため、以下の説明では差異を中心に説明する。   Note that the IP packet transfer process executed by the dictionary entropy compression / decompression module 721 is basically the same procedure as the IP packet transfer process executed by the compression / decompression module 221. Therefore, the following description focuses on the differences. explain.

辞書エントロピー圧縮伸張モジュール721は、NIC1(204)からIPパケットを受信すると(ステップS511)、当該IPパケットのIPヘッダから宛先IPアドレス(Destination IP Address)を取得する(ステップS512)。   When the dictionary entropy compression / decompression module 721 receives an IP packet from the NIC1 (204) (step S511), the dictionary entropy compression / expansion module 721 acquires a destination IP address (Destination IP Address) from the IP header of the IP packet (step S512).

次に、辞書エントロピー圧縮伸張モジュール721は、通信先−辞書頻度表対応情報722から、通信先302にステップS512において取得された宛先IPアドレスが含まれる行を検索し、さらに、当該行の辞書頻度表名804と現辞書頻度表番号806の値を取得する(ステップS1013)。   Next, the dictionary entropy compression / decompression module 721 searches the communication destination 302 for the line containing the destination IP address acquired in step S512 from the communication destination-dictionary frequency table correspondence information 722, and further, the dictionary frequency of the line. The values of the table name 804 and the current dictionary frequency table number 806 are acquired (step S1013).

辞書エントロピー圧縮伸張モジュール721は、辞書頻度表管理情報723を参照し、辞書頻度表名902及び辞書頻度表番号903が、ステップS1013において取得された辞書頻度表名804及び現辞書頻度表番号806の値と一致する行を検索し、さらに、当該行から辞書データ404及び頻度表データ905に格納される辞書データ及び頻度表データを取得して一時領域に格納する(ステップS1014)。   The dictionary entropy compression / decompression module 721 refers to the dictionary frequency table management information 723, and the dictionary frequency table name 902 and the dictionary frequency table number 903 are stored in the dictionary frequency table name 804 and the current dictionary frequency table number 806 acquired in step S1013. The line that matches the value is searched, and the dictionary data and frequency table data stored in the dictionary data 404 and the frequency table data 905 are acquired from the line and stored in the temporary area (step S1014).

辞書エントロピー圧縮伸張モジュール721は、一時領域に格納される辞書データ及び頻度表データを用いて、受信したIPパケットのペイロードを圧縮する(ステップS1015)。このとき、辞書エントロピー圧縮伸張モジュール721は、送信される通信内容に基づいて、一時領域に格納される辞書データに新しい単語が追加し、また頻度表データの出現頻度を更新する。また、辞書エントロピー圧縮伸張モジュール721は、IPパケットの短期の圧縮率及び長期の圧縮率を算出する。なお、新たな単語が検出されない場合、辞書データには新たな単語は追加されない。   The dictionary entropy compression / decompression module 721 compresses the payload of the received IP packet using the dictionary data and frequency table data stored in the temporary area (step S1015). At this time, the dictionary entropy compression / decompression module 721 adds a new word to the dictionary data stored in the temporary area and updates the appearance frequency of the frequency table data based on the transmitted communication content. The dictionary entropy compression / decompression module 721 calculates a short-term compression rate and a long-term compression rate of the IP packet. When no new word is detected, no new word is added to the dictionary data.

辞書エントロピー圧縮伸張モジュール721は、圧縮されたペイロードを含むIPパケットをNIC2(205)から、宛先IPアドレスに対応する装置に送信する(ステップS516)。   The dictionary entropy compression / decompression module 721 transmits an IP packet including the compressed payload from the NIC 2 (205) to a device corresponding to the destination IP address (step S516).

その後、辞書エントロピー圧縮伸張モジュール721は、辞書頻度表管理情報723の更新処理を実行し(ステップS1017)、処理を終了する。   Thereafter, the dictionary entropy compression / decompression module 721 executes an update process of the dictionary frequency table management information 723 (step S1017), and ends the process.

なお、辞書頻度表管理情報723の更新処理の詳細は図11を用いて後述するが、ステップS1015において更新された辞書データ及び頻度表データは、辞書頻度表管理情報723の更新処理において一時領域から辞書頻度表管理情報723に書き戻される。   Details of the updating process of the dictionary frequency table management information 723 will be described later with reference to FIG. 11, but the dictionary data and the frequency table data updated in step S1015 are stored in the temporary area in the updating process of the dictionary frequency table management information 723. The dictionary frequency table management information 723 is written back.

次に、図10Bを用いて伸張処理を伴うIPパケットの転送処理について説明する。   Next, an IP packet transfer process accompanied by a decompression process will be described with reference to FIG. 10B.

辞書エントロピー圧縮伸張モジュール721は、NIC2(205)からIPパケットを受信すると(ステップS521)、受信したIPパケットのIPヘッダから送信元IPアドレス(Source IP Address)を取得する(ステップS522)。   When the dictionary entropy compression / decompression module 721 receives an IP packet from the NIC 2 (205) (step S521), the dictionary entropy compression / expansion module 721 acquires a source IP address (Source IP Address) from the IP header of the received IP packet (step S522).

次に、辞書エントロピー圧縮伸張モジュール721は、ステップS513と同様に、通信先−辞書頻度表対応情報722から、通信先302にステップS522において取得された送信元IPアドレスが含まれる行を検索し、さらに、当該行の辞書頻度表名804及び現辞書頻度表番号806の値を取得する(ステップS1023)。   Next, as in step S513, the dictionary entropy compression / expansion module 721 searches the communication destination-dictionary frequency table correspondence information 722 for a line including the transmission source IP address acquired in step S522 in the communication destination 302. Further, the values of the dictionary frequency table name 804 and the current dictionary frequency table number 806 in the row are acquired (step S1023).

辞書エントロピー圧縮伸張モジュール721は、ステップS1014と同様に、辞書頻度表管理情報723を参照し、辞書頻度表名902及び辞書頻度表番号903が、ステップS1023において取得された辞書頻度表名804及び現辞書頻度表番号806の値と一致する行を検索し、さらに、当該行から辞書データ404及び頻度表データ905に格納される辞書データ及び頻度表データを取得して一時領域に格納する(ステップS1024)。   Similar to step S1014, the dictionary entropy compression / decompression module 721 refers to the dictionary frequency table management information 723, and the dictionary frequency table name 902 and the dictionary frequency table number 903 are the dictionary frequency table name 804 acquired in step S1023 and the current one. A line that matches the value of the dictionary frequency table number 806 is searched, and the dictionary data and frequency table data stored in the dictionary data 404 and the frequency table data 905 are acquired from the line and stored in the temporary area (step S1024). ).

辞書エントロピー圧縮伸張モジュール721は、ステップS1015と同様に、一時領域に格納される辞書データ及び頻度表データを用いて、受信したIPパケットのペイロードを伸張する(ステップS1025)。このとき、辞書エントロピー圧縮伸張モジュール721は、送信される通信内容に基づいて、一時領域に格納される辞書データに新しい単語を追加し、頻度表データの出現頻度を更新する。また、辞書エントロピー圧縮伸張モジュール721は、IPパケットの短期の圧縮率及び長期の圧縮率を算出する。なお、新たな単語が検出されない場合、辞書データには新たな単語は追加されない。   Similar to step S1015, the dictionary entropy compression / decompression module 721 decompresses the payload of the received IP packet using the dictionary data and frequency table data stored in the temporary area (step S1025). At this time, the dictionary entropy compression / expansion module 721 adds a new word to the dictionary data stored in the temporary area and updates the appearance frequency of the frequency table data based on the transmitted communication content. The dictionary entropy compression / decompression module 721 calculates a short-term compression rate and a long-term compression rate of the IP packet. When no new word is detected, no new word is added to the dictionary data.

辞書エントロピー圧縮伸張モジュール721は、伸張されたペイロードを含むIPパケットをNIC1(204)から、宛先IPアドレスに対応する装置に送信する(ステップS526)。   The dictionary entropy compression / decompression module 721 transmits an IP packet including the decompressed payload from the NIC 1 (204) to a device corresponding to the destination IP address (step S526).

その後、辞書エントロピー圧縮伸張モジュール721は、辞書頻度表管理情報723の更新処理を実行し(ステップS1027)、処理を終了する。   Thereafter, the dictionary entropy compression / decompression module 721 executes an update process of the dictionary frequency table management information 723 (step S1027), and ends the process.

なお、辞書頻度表管理情報723の更新処理は、図11を用いて後述するが、ステップS1025において更新された辞書データ及び頻度表データは、辞書頻度表管理情報723の更新処理において一時領域から辞書頻度表管理情報723に書き戻される。   Note that the updating process of the dictionary frequency table management information 723 will be described later with reference to FIG. 11. However, the dictionary data and the frequency table data updated in step S1025 are updated from the temporary area in the updating process of the dictionary frequency table management information 723. The frequency table management information 723 is written back.

図11は、本発明の実施例2における辞書エントロピー圧縮伸張モジュール721が実行する辞書頻度表管理情報723の更新処理を説明するフローチャートである。   FIG. 11 is a flowchart for explaining the updating process of the dictionary frequency table management information 723 executed by the dictionary entropy compression / expansion module 721 according to the second embodiment of the present invention.

なお、辞書エントロピー圧縮伸張モジュール721が実行する辞書頻度表管理情報723の更新処理は、圧縮伸張モジュール221が実行する辞書管理情報223の更新処理と基本的には同一の手順となるため、以下の説明では差異を中心に説明する。   The update process of the dictionary frequency table management information 723 executed by the dictionary entropy compression / decompression module 721 is basically the same procedure as the update process of the dictionary management information 223 executed by the compression / decompression module 221. The explanation will focus on the differences.

辞書エントロピー圧縮伸張モジュール721は、辞書頻度表管理情報723の更新処理を開始すると(ステップS1101)、サイズ要件が成立し、かつ、圧縮率要件が成立するか否かを判定する(ステップS602)。   When the dictionary entropy compression / decompression module 721 starts updating the dictionary frequency table management information 723 (step S1101), the dictionary entropy compression / decompression module 721 determines whether the size requirement is satisfied and the compression rate requirement is satisfied (step S602).

サイズ要件又は圧縮率要件の少なくともいずれかが成立していないと判定された場合、辞書エントロピー圧縮伸張モジュール721は、辞書頻度表管理情報723の辞書データ404及び頻度表データ905を更新する(ステップS1111)。これは、現在の通信内容に対して適切な辞書データ及び頻度表データが使用されていること、又は新たな辞書データ及び頻度表データが生成された直後であることを示す。そのため、辞書エントロピー圧縮伸張モジュール721は、現在の辞書データ及び頻度表データの使用を継続する。   When it is determined that at least one of the size requirement and the compression rate requirement is not satisfied, the dictionary entropy compression / decompression module 721 updates the dictionary data 404 and the frequency table data 905 of the dictionary frequency table management information 723 (step S1111). ). This indicates that appropriate dictionary data and frequency table data are used for the current communication content, or that new dictionary data and frequency table data have just been generated. Therefore, the dictionary entropy compression / decompression module 721 continues to use the current dictionary data and frequency table data.

具体的には、辞書エントロピー圧縮伸張モジュール721は、ステップS1015又はステップS1025において新たに単語が追加された辞書データ及び頻度が更新された頻度表データを、ステップS1014又はステップS1024において辞書頻度表管理情報723から検索された行の辞書データ404及び頻度表データ905に格納する。   Specifically, the dictionary entropy compression / expansion module 721 generates the dictionary data in which words are newly added in step S1015 or step S1025 and the frequency table data in which the frequency is updated, and the dictionary frequency table management information in step S1014 or step S1024. Stored in the dictionary data 404 and the frequency table data 905 of the row retrieved from 723.

辞書エントロピー圧縮伸張モジュール721は、通信先−辞書頻度表対応情報722の圧縮率短期平均307を更新し(ステップS1112)、また、通信先−辞書頻度表対応情報722の圧縮率長期平均308を更新し(ステップS1113)、処理を終了する。具体的には、以下のような処理が実行される。   The dictionary entropy compression / decompression module 721 updates the compression rate short-term average 307 of the communication destination-dictionary frequency table correspondence information 722 (step S1112), and updates the compression destination long-term average 308 of the communication destination-dictionary frequency table correspondence information 722. (Step S1113) and the process is terminated. Specifically, the following processing is executed.

辞書エントロピー圧縮伸張モジュール721は、ステップS1013又はステップS1023において、通信先−辞書頻度表対応情報722から取得された行の圧縮率短期平均307に、ステップS1015又はステップS1025において算出されたIPパケットの短期の圧縮率を格納する。   In step S1013 or step S1023, the dictionary entropy compression / decompression module 721 sets the short-term average of the IP packet calculated in step S1015 or step S1025 to the line compression rate short-term average 307 acquired from the communication destination-dictionary frequency table correspondence information 722. Stores the compression ratio.

また、辞書エントロピー圧縮伸張モジュール721は、ステップS1013又はステップS1023において、通信先−辞書頻度表対応情報722から取得された行の圧縮率長期平均308に、ステップS1015又はステップS1025において算出されたIPパケットの長期の圧縮率を格納する。   In addition, the dictionary entropy compression / decompression module 721 calculates the IP packet calculated in step S1015 or step S1025 to the long-term average compression rate 308 of the row acquired from the communication destination-dictionary frequency table correspondence information 722 in step S1013 or step S1023. Stores the long-term compression ratio.

以上がステップS1112及びステップS1113の処理の説明である。   The above is the description of the processing in step S1112 and step S1113.

ステップS602において、サイズ要件が成立し、かつ、圧縮率要件が成立すると判定された場合、辞書エントロピー圧縮伸張モジュール721は、辞書頻度表管理情報723から、現在使用している辞書データとは異なる辞書データ、及び、現在使用している頻度表データとは異なる頻度表データを取得し、一時領域に当該辞書データ及び頻度表データを格納する(ステップS1121)。すなわち、辞書エントロピー圧縮伸張モジュール721は、現在使用されていない辞書データ及び頻度表データを取得する。   If it is determined in step S602 that the size requirement is satisfied and the compression rate requirement is satisfied, the dictionary entropy compression / decompression module 721 determines from the dictionary frequency table management information 723 that the dictionary is different from the dictionary data currently used. Data and frequency table data different from the currently used frequency table data are acquired, and the dictionary data and frequency table data are stored in the temporary area (step S1121). That is, the dictionary entropy compression / decompression module 721 acquires dictionary data and frequency table data that are not currently used.

具体的には、辞書エントロピー圧縮伸張モジュール721は、辞書頻度表管理情報723から辞書頻度表名902の値がステップS1013又はステップS1023において取得された辞書頻度表名に一致し、かつ、辞書頻度表番号903の値がステップS1013又はステップS1023において取得された現辞書頻度表番号とは異なる行を全て抽出する。さらに、辞書エントロピー圧縮伸張モジュール721は、抽出された行の辞書データ404及び頻度表データ905から辞書データ及び頻度表データを取得し、一時領域に格納する。   Specifically, the dictionary entropy compression / decompression module 721 determines that the value of the dictionary frequency table name 902 from the dictionary frequency table management information 723 matches the dictionary frequency table name acquired in step S1013 or step S1023, and the dictionary frequency table. All rows in which the value of the number 903 is different from the current dictionary frequency table number acquired in step S1013 or step S1023 are extracted. Further, the dictionary entropy compression / decompression module 721 acquires dictionary data and frequency table data from the extracted dictionary data 404 and frequency table data 905, and stores them in the temporary area.

辞書エントロピー圧縮伸張モジュール721は、ステップS1121において取得された辞書データ及び頻度表データを用いて、IPパケットのペイロードの圧縮率を算出する(ステップS1122)。   The dictionary entropy compression / decompression module 721 calculates the compression rate of the payload of the IP packet using the dictionary data and frequency table data acquired in step S1121 (step S1122).

具体的には、辞書エントロピー圧縮伸張モジュール721は、取得された辞書データ及び頻度表データを用いて、ステップS511において受信したIPパケット又はステップS526において送信されたIPパケットのペイロードを圧縮する。これによって、辞書エントロピー圧縮伸張モジュール721は、当該IPパケットのペイロードの圧縮率を算出できる。   Specifically, the dictionary entropy compression / decompression module 721 compresses the payload of the IP packet received in step S511 or the IP packet transmitted in step S526, using the acquired dictionary data and frequency table data. Thereby, the dictionary entropy compression / decompression module 721 can calculate the compression rate of the payload of the IP packet.

辞書エントロピー圧縮伸張モジュール721は、ステップS1121において取得された辞書データ及び頻度表データを用いて圧縮されたペイロードの圧縮率が、現在使用している辞書データ及び頻度表データを用いたペイロードの圧縮率長期平均より高い辞書データ及び頻度表データが存在するか否かを判定する(ステップS1123)。   The dictionary entropy compression / decompression module 721 determines that the compression rate of the payload compressed using the dictionary data and frequency table data acquired in step S1121 is the payload compression rate using the dictionary data and frequency table data currently used. It is determined whether dictionary data and frequency table data higher than the long-term average exist (step S1123).

具体的には、辞書エントロピー圧縮伸張モジュール721は、ステップS1122において算出されたペイロードの圧縮率と、ステップS1013又はステップS1023において取得された行の圧縮率長期平均308の値と比較し、算出されたペイロードの圧縮率が圧縮率長期平均308の値より大きいか否かを判定する。   Specifically, the dictionary entropy compression / decompression module 721 compares the payload compression rate calculated in step S1122 with the value of the long-term average compression rate 308 of the row acquired in step S1013 or step S1023. It is determined whether or not the compression rate of the payload is larger than the value of the compression rate long-term average 308.

他の辞書データを用いたペイロードの圧縮率が、現在使用している辞書データ及び頻度表データを用いたペイロードの圧縮率長期平均より高い辞書データ及び頻度表データが存在しないと判定された場合、辞書エントロピー圧縮伸張モジュール721は、辞書頻度表管理情報723に新たな辞書データ及び頻度表データに対応する行を追加する(ステップS1131)。   When it is determined that there is no dictionary data and frequency table data whose payload compression rate using other dictionary data is higher than the long-term average of the payload compression rate using the dictionary data and frequency table data currently used, The dictionary entropy compression / decompression module 721 adds new dictionary data and a row corresponding to the frequency table data to the dictionary frequency table management information 723 (step S1131).

このとき、辞書エントロピー圧縮伸張モジュール721は、追加された行のID401に任意の値を格納し、辞書頻度表名902にステップS1013又はステップS1023において取得された辞書頻度表名を格納し、辞書頻度表番号903にステップS1013又はステップS1023において取得された行の辞書頻度表数805の値に「1」を加算した値を格納する。なお、追加された行の辞書データ404には空の辞書データが格納され、頻度表データ905には空の頻度表データが格納される。   At this time, the dictionary entropy compression / decompression module 721 stores an arbitrary value in the ID 401 of the added row, stores the dictionary frequency table name acquired in step S1013 or step S1023 in the dictionary frequency table name 902, and stores the dictionary frequency A value obtained by adding “1” to the value of the dictionary frequency table count 805 in the row acquired in step S1013 or step S1023 is stored in the table number 903. Note that empty dictionary data is stored in the dictionary data 404 of the added row, and empty frequency table data is stored in the frequency table data 905.

辞書エントロピー圧縮伸張モジュール721は、通信先−辞書頻度表対応情報722の辞書頻度表数805及び現辞書頻度表番号806を更新し(ステップS1132)、さらに、圧縮率短期平均307を「0%」に更新し(ステップS1133)、その後、ステップS1113に進む。   The dictionary entropy compression / decompression module 721 updates the dictionary frequency table number 805 and the current dictionary frequency table number 806 of the communication destination-dictionary frequency table correspondence information 722 (step S1132), and further sets the compression rate short-term average 307 to “0%”. (Step S1133), and then the process proceeds to step S1113.

具体的には、辞書エントロピー圧縮伸張モジュール721は、ステップS1013又はステップS1023において取得された行の辞書頻度表数805の値に「1」を加算する。また、辞書エントロピー圧縮伸張モジュール721は、当該行の現辞書頻度表番号806に、更新された辞書頻度表数805の値を格納する。   Specifically, the dictionary entropy compression / decompression module 721 adds “1” to the value of the dictionary frequency table number 805 in the row acquired in step S1013 or step S1023. Further, the dictionary entropy compression / decompression module 721 stores the updated value of the dictionary frequency table number 805 in the current dictionary frequency table number 806 of the row.

ステップS1123において、他の辞書データを用いたペイロードの圧縮率が、現在使用している辞書データ及び頻度表データを用いたペイロードの圧縮率長期平均より高い辞書データ及び頻度表データが存在すると判定された場合、辞書エントロピー圧縮伸張モジュール721は、通信先−辞書頻度表対応情報722の現辞書頻度表番号806を更新し(ステップS1141)、さらに、圧縮率短期平均307を更新し(ステップS1142)、その後、ステップS613に進む。これは、過去に似たような通信内容のIPパケットが送信されたことを示す。この場合、他の辞書データ及び頻度表データに切り替えて通信を行うこととなる。   In step S1123, it is determined that there is dictionary data and frequency table data in which the compression rate of the payload using other dictionary data is higher than the long-term average compression rate of the payload using the dictionary data and frequency table data currently used. In this case, the dictionary entropy compression / decompression module 721 updates the current dictionary frequency table number 806 of the communication destination-dictionary frequency table correspondence information 722 (step S1141), and further updates the compression rate short-term average 307 (step S1142). Thereafter, the process proceeds to step S613. This indicates that an IP packet having a communication content similar to the past was transmitted. In this case, communication is performed by switching to other dictionary data and frequency table data.

具体的には、辞書エントロピー圧縮伸張モジュール721は、ステップS1013又はステップS1023において取得された行の現辞書頻度表番号806の値を、現在使用している辞書データ及び頻度表データを用いたペイロードの圧縮率長期平均より大きい圧縮率の辞書データ及び頻度表データに対応する辞書頻度表番号に更新する。また、辞書エントロピー圧縮伸張モジュール721は、当該行の圧縮率短期平均307の値を、ステップS1015又はステップS1025において算出されたIPパケットの圧縮率に更新する。   Specifically, the dictionary entropy compression / decompression module 721 uses the value of the current dictionary frequency table number 806 of the line acquired in step S1013 or step S1023 as the payload of the dictionary data currently used and the frequency table data. The dictionary frequency table number corresponding to the dictionary data and frequency table data having a compression rate larger than the long-term average compression rate is updated. Further, the dictionary entropy compression / decompression module 721 updates the value of the compression rate short-term average 307 of the row to the compression rate of the IP packet calculated in step S1015 or step S1025.

なお、ステップS1122において、現在使用している辞書データ及び頻度表データを用いたペイロードの圧縮率長期平均より大きい圧縮率の辞書データ及び頻度表データが複数存在する場合、辞書エントロピー圧縮伸張モジュール721は、最も圧縮率が高い辞書データ及び頻度表データを選択する。   In step S1122, if there are a plurality of dictionary data and frequency table data having a compression ratio larger than the long-term average of the payload compression ratio using the dictionary data and frequency table data currently used, the dictionary entropy compression / decompression module 721 The dictionary data and frequency table data with the highest compression rate are selected.

なお、実施例2では、辞書及び頻度表を用いてIPパケットを圧縮又は伸張していたが、頻度表のみを用いてIPパケットを圧縮又は伸張してもよい。すなわち、実施例1における辞書の代わりに頻度表を用いた実施例であってもよい。   In the second embodiment, the IP packet is compressed or expanded using the dictionary and the frequency table. However, the IP packet may be compressed or expanded using only the frequency table. That is, an embodiment using a frequency table instead of the dictionary in the first embodiment may be used.

以上で説明したように、実施例2によれば、圧縮伸張装置は、通信先に対して複数の辞書及び頻度表を保持し、通信内容に応じて圧縮率が高い辞書及び頻度表を用いて通信内容を圧縮することができる。   As described above, according to the second embodiment, the compression / decompression apparatus holds a plurality of dictionaries and a frequency table for a communication destination, and uses a dictionary and a frequency table having a high compression rate according to communication contents. Communication contents can be compressed.

これによって、各通信先に送受信されるデータの圧縮率を高めることができる。また、通信内容に応じて、動的に辞書及び頻度表を切り替え、又は、新たに辞書及び頻度表を生成することによって、最適な圧縮率を実現可能な通信を実現することができる。   Thereby, the compression rate of the data transmitted / received to / from each communication destination can be increased. Further, by dynamically switching the dictionary and the frequency table according to the communication content, or by newly generating the dictionary and the frequency table, it is possible to realize communication capable of realizing the optimum compression rate.

さらに、辞書はIPパケットに含まれる通信内容(ペイロード)から生成されるものであるため小さいサイズに辞書となり、全ての辞書を主記憶装置202上に格納することができる。したがって、検索時のI/O速度を高速化することができる。   Furthermore, since the dictionary is generated from the communication content (payload) included in the IP packet, the dictionary becomes a small size, and all the dictionaries can be stored on the main storage device 202. Therefore, the I / O speed at the time of search can be increased.

実施例3では、圧縮伸張装置のメモリの記憶容量には上限があるため、運用中に必要性の低い辞書を削除することによって、辞書を格納する記憶容量を確保する点が実施例1と異なる。以下、実施例1との差異を中心に実施例3について説明する。なお、本実施例は実施例1のシステムを拡張したものだが、実施例2のシステムを同様に拡張することによって辞書及び頻度表を格納する記憶容量に上限がある場合にも対応可能である。   The third embodiment is different from the first embodiment in that the storage capacity of the memory of the compression / decompression apparatus has an upper limit, so that a storage capacity for storing the dictionary is secured by deleting a dictionary that is less necessary during operation. . Hereinafter, the third embodiment will be described focusing on differences from the first embodiment. Although the present embodiment is an extension of the system of the first embodiment, the system of the second embodiment can be expanded in the same manner to cope with a case where there is an upper limit in the storage capacity for storing the dictionary and the frequency table.

辞書を格納する記憶容量に上限がある場合、圧縮伸張モジュール221は、辞書管理情報223の更新処理において、記憶容量の不足から新しい辞書が生成できない可能性又は新たな辞書を格納できない可能性がある。   When there is an upper limit on the storage capacity for storing the dictionary, the compression / decompression module 221 may not be able to generate a new dictionary or store a new dictionary due to insufficient storage capacity in the update processing of the dictionary management information 223. .

そのため、圧縮伸張モジュール221は、適切なタイミングで、辞書管理情報223の辞書名402に対応する辞書毎に、必要性の低い辞書を削除する。   Therefore, the compression / decompression module 221 deletes a dictionary with low necessity for each dictionary corresponding to the dictionary name 402 of the dictionary management information 223 at an appropriate timing.

なお、辞書を削除するタイミングとしては、例えば、1日単位等、周期的なタイミングが考えられる。また、辞書を削除するタイミングの他の例としては、通信先−辞書対応情報222に新たな行が追加されたタイミング、新しい辞書が生成されるタイミングなどが考えられる。   In addition, as a timing which deletes a dictionary, periodic timing, such as a day unit, can be considered, for example. Other examples of timing for deleting a dictionary include timing when a new line is added to the communication destination-dictionary correspondence information 222, timing when a new dictionary is generated, and the like.

また、本実施例では、非特許文献5に開示されたキャッシュメモリのページ置換アルゴリズムであるLRU−k方式を用いて必要性の低い辞書を特定する。なお、本実施例では簡単のためLRU−kのパラメータkを「k=1」として説明するが、kは「2」以上であってもよい。また、LRU以外に、FIFO及び2Q等の他のページ置換アルゴリズムを用いることも可能である。   Further, in this embodiment, a low-necessity dictionary is specified using the LRU-k method, which is a cache memory page replacement algorithm disclosed in Non-Patent Document 5. In this embodiment, for simplicity, the parameter k of LRU-k is described as “k = 1”, but k may be “2” or more. In addition to LRU, other page replacement algorithms such as FIFO and 2Q can be used.

図12は、本発明の実施例3における辞書管理情報223の一例を示す説明図である。図12に示す辞書管理情報223は、前述のようにパラメータkが1のLRU−1に対応したものである。   FIG. 12 is an explanatory diagram illustrating an example of the dictionary management information 223 according to the third embodiment of this invention. The dictionary management information 223 shown in FIG. 12 corresponds to LRU-1 having the parameter k = 1 as described above.

実施例3の辞書管理情報223は、新たに、最終アクセス時刻1205の情報列が追加される。最終アクセス時刻1205には、辞書データが更新された時刻を格納する。例えば、ステップS611において辞書データが更新された時刻、ステップS631において、辞書管理情報223に新たな辞書データに対応する行が追加された時刻が格納される。   In the dictionary management information 223 of the third embodiment, an information string of the last access time 1205 is newly added. The last access time 1205 stores the time when the dictionary data was updated. For example, the time when the dictionary data is updated in step S611 is stored, and the time when the line corresponding to the new dictionary data is added to the dictionary management information 223 is stored in step S631.

なお、最終アクセス時刻1205の他に、最終アクセス時刻の一つ前のアクセス時刻を管理する情報列を追加することによって、LRU−2に対応した辞書管理情報223になる。また、最終アクセス時刻1205の代わりに、仮想的にキューを想定し、当該キュー内での順序を表す番号を管理する情報列を追加することによってFIFOに対応した辞書管理情報223になる。さらに、仮想的なキューを2本又は3本想定し、それらの中での順序を表す番号を管理する列も2つ又は3つ追加することによって2Qに対応した辞書管理情報223になる。   In addition to the last access time 1205, the dictionary management information 223 corresponding to LRU-2 is obtained by adding an information string for managing the access time immediately before the last access time. Further, instead of the last access time 1205, a queue is virtually assumed, and an information string for managing the number representing the order in the queue is added, whereby the dictionary management information 223 corresponding to the FIFO is obtained. Furthermore, assuming two or three virtual queues, and adding two or three columns for managing numbers representing the order of them, dictionary management information 223 corresponding to 2Q is obtained.

図13A及び図13Bは、本発明の実施例3における辞書の削除処理を説明するフローチャートである。   FIGS. 13A and 13B are flowcharts illustrating dictionary deletion processing according to the third embodiment of the present invention.

以下の説明では、LRU−1に対応した辞書管理情報223の辞書名402の値を「a」と指定するものとする。なお、辞書名402の値「a」には、通信先−辞書対応情報222の辞書名304の値のいずれか一つが代入される。そのため、通信先−辞書対応情報222から辞書名304の値の一覧を取得し、それらに対して繰り返し、辞書名が「a」である辞書の削除処理を実行することによって、各通信先の辞書から必要性の低い辞書が削除される。   In the following description, it is assumed that the value of the dictionary name 402 of the dictionary management information 223 corresponding to LRU-1 is designated as “a”. Note that any one of the values of the dictionary name 304 of the communication destination-dictionary correspondence information 222 is assigned to the value “a” of the dictionary name 402. Therefore, a list of values of the dictionary name 304 is acquired from the communication destination-dictionary correspondence information 222, and a dictionary having the dictionary name “a” is repeatedly executed on the list, whereby a dictionary for each communication destination is obtained. Dictionaries that are less needed are deleted.

圧縮伸張モジュール221は、辞書の削除処理を開始すると(ステップS1301)、LRU−1に対応した辞書管理情報223から辞書名402が「a」である行を取得する(ステップS1302)。例えば、「a=辞書A」である行が取得される。   When the compression / decompression module 221 starts the deletion process of the dictionary (step S1301), the compression / decompression module 221 acquires a line whose dictionary name 402 is “a” from the dictionary management information 223 corresponding to LRU-1 (step S1302). For example, the line “a = dictionary A” is acquired.

圧縮伸張モジュール221は、取得された行の最終アクセス時刻1205を参照し、最終アクセス時刻1205が最も古い行を辞書管理情報223から削除する(ステップS1303)。ここで、FIFO又は2Q等、LRU−1以外の方式を用いて必要性の低い辞書を特定する場合には、各方式に対応した処理内容に変更される。   The compression / decompression module 221 refers to the last access time 1205 of the acquired row, and deletes the row with the oldest last access time 1205 from the dictionary management information 223 (step S1303). Here, when specifying a dictionary with low necessity using a method other than LRU-1, such as FIFO or 2Q, the processing contents are changed to correspond to each method.

圧縮伸張モジュール221は、通信先−辞書対応情報222の辞書名304が「a」である行の辞書数305及び現辞書番号306を更新する(ステップS1304)。   The compression / decompression module 221 updates the number of dictionaries 305 and the current dictionary number 306 in the row where the dictionary name 304 of the communication destination-dictionary correspondence information 222 is “a” (step S1304).

具体的には、圧縮伸張モジュール221は、辞書名304が「a」である行の辞書数305の値を「1」減算する。当該行の現辞書番号306の値については、削除された辞書が現辞書番号306の値に一致する辞書である場合、現辞書番号306の値が「1」減算され、削除された辞書が現辞書番号306の値に一致しない辞書である場合、現辞書番号306は特に更新されない。   Specifically, the compression / decompression module 221 subtracts “1” from the value of the number of dictionaries 305 in the row whose dictionary name 304 is “a”. With respect to the value of the current dictionary number 306 in the row, if the deleted dictionary is a dictionary that matches the value of the current dictionary number 306, the value of the current dictionary number 306 is subtracted by “1”, and the deleted dictionary becomes the current dictionary number. When the dictionary does not match the value of the dictionary number 306, the current dictionary number 306 is not particularly updated.

次に、圧縮伸張モジュール221は、削除された辞書を保持する対向装置を特定する(ステップS1305)。ここで、対向装置とは、削除された辞書を用いて通信を行う送信先の圧縮伸張装置のことを示す。   Next, the compression / decompression module 221 identifies the opposing device that holds the deleted dictionary (step S1305). Here, the opposite device indicates a destination compression / decompression device that performs communication using the deleted dictionary.

具体的には、圧縮伸張モジュール221は、通信先−辞書対応情報222の辞書名304が「a」である行を参照し、当該行の装置ID303から対向装置の装置IDを取得する。   Specifically, the compression / decompression module 221 refers to the row where the dictionary name 304 of the communication destination-dictionary correspondence information 222 is “a”, and acquires the device ID of the opposite device from the device ID 303 of the row.

圧縮伸張モジュール221は、対向装置に対して、辞書管理情報223から削除された行の情報を含むメッセージを送信する(ステップS1306)。削除された行の情報としては、辞書名402及び辞書番号403がペアとなった(a、辞書番号)のような情報が考えられる。   The compression / decompression module 221 transmits a message including information on the row deleted from the dictionary management information 223 to the opposite device (step S1306). As information of the deleted line, information such as a dictionary name 402 and dictionary number 403 paired (a, dictionary number) can be considered.

メッセージを受信した対向装置の圧縮伸張モジュール221は、辞書の削除処理を開始する(ステップS1311)。   The compression / decompression module 221 of the opposite device that has received the message starts a dictionary deletion process (step S1311).

圧縮伸張モジュール221は、LRU−1に対応した辞書管理情報223から、辞書名402及び辞書番号403が、メッセージに含まれる(a、辞書番号)に一致する行を削除する(ステップS1312)。   The compression / decompression module 221 deletes the line in which the dictionary name 402 and the dictionary number 403 match (a, dictionary number) included in the message from the dictionary management information 223 corresponding to LRU-1 (step S1312).

圧縮伸張モジュール221は、通信先−辞書対応情報222の辞書名304が「a」である行の辞書数305及び現辞書番号306を更新する(ステップS1313)。   The compression / decompression module 221 updates the number of dictionaries 305 and the current dictionary number 306 in the row where the dictionary name 304 of the communication destination-dictionary correspondence information 222 is “a” (step S1313).

具体的には、圧縮伸張モジュール221は、辞書名304が「a」である行の辞書数305の値を「1」減算する。当該行の現辞書番号306の値については、削除された辞書が現辞書番号306の値に一致する辞書である場合、現辞書番号306の値が「1」減算され、削除された辞書が現辞書番号306の値に一致しない辞書である場合、現辞書番号306は特に更新されない。   Specifically, the compression / decompression module 221 subtracts “1” from the value of the number of dictionaries 305 in the row whose dictionary name 304 is “a”. With respect to the value of the current dictionary number 306 in the row, if the deleted dictionary is a dictionary that matches the value of the current dictionary number 306, the value of the current dictionary number 306 is subtracted by “1”, and the deleted dictionary becomes the current dictionary number. When the dictionary does not match the value of the dictionary number 306, the current dictionary number 306 is not particularly updated.

以上で説明したように、実施例3によれば、圧縮伸張モジュール221は、辞書を格納する記憶容量が上限を超えないように、運用中に必要性の低い辞書を削除することによって、記憶容量の上限にあわせた辞書の管理を行うことが可能となる。   As described above, according to the third embodiment, the compression / decompression module 221 deletes a dictionary that is less necessary during operation so that the storage capacity for storing the dictionary does not exceed the upper limit, thereby increasing the storage capacity. It is possible to manage the dictionary according to the upper limit of.

各実施例では、ソフトウェアによる制御を用いた例について説明したが、その一部をハードウェアによって実現することも可能である。   In each embodiment, an example using control by software has been described. However, part of the control can be realized by hardware.

以上、本発明を添付の図面を参照して詳細に説明したが、本発明はこのような具体的構成に限定されるものではなく、添付した請求の範囲の趣旨内における様々な変更及び同等の構成を含むものである。   Although the present invention has been described in detail with reference to the accompanying drawings, the present invention is not limited to such specific configurations, and various modifications and equivalents within the spirit of the appended claims Includes configuration.

101、102 クライアント装置
103 サーバ
104 広域網
111、121、131 圧縮伸張装置
112、122 サブネット
201 CPU
202 主記憶装置
203 二次記憶装置
221 圧縮伸張モジュール
222 通信先−辞書対応情報
223 辞書管理情報
231 圧縮伸張モジュールプログラム
721 辞書エントロピー圧縮伸張モジュール
722 辞書頻度表対応情報
723 辞書頻度表管理情報
731 辞書エントロピー圧縮伸張モジュールプログラム
804 辞書頻度表名
805 辞書頻度表数
806 現辞書頻度表番号
905 頻度表データ
905 辞書頻度表番号
101, 102 Client device 103 Server 104 Wide area network 111, 121, 131 Compression / decompression device 112, 122 Subnet 201 CPU
202 Main storage device 203 Secondary storage device 221 Compression / decompression module 222 Communication destination-dictionary correspondence information 223 Dictionary management information 231 Compression / decompression module program 721 Dictionary entropy Compression / decompression module 722 Dictionary frequency table correspondence information 723 Dictionary frequency table management information 731 Dictionary entropy Compression / decompression module program 804 Dictionary frequency table name 805 Dictionary frequency table number 806 Current dictionary frequency table number 905 Frequency table data 905 Dictionary frequency table number

Claims (10)

プロセッサ、前記プロセッサに接続される主記憶装置、及び前記プロセッサに接続されるネットワークインタフェースを備え、複数の計算機間で送受信されるデータを転送する通信装置であって、
前記主記憶装置は、
通信先毎に、データを圧縮又は伸張するための圧縮伸張情報を複数格納し、
任意の通信先との間の通信に用いる圧縮伸張情報の複製である複製圧縮伸張情報を格納する一時領域を含み、
前記通信装置は、前記圧縮伸張情報を用いて、受信したデータを圧縮又は伸張する圧縮伸張部を備え、
前記圧縮伸張部は、
通信先を特定する情報及び使用する圧縮伸張情報の識別情報を対応付けて管理し、
第1の通信先からデータを受信した場合、前記第1の通信先との間の通信に用いる複数の圧縮伸張情報の中から、前記第1の通信先を特定する情報と対応付けられた第1の圧縮伸張情報を特定して、前記第1の圧縮伸張情報の複製である第1の複製圧縮伸張情報を前記一時領域に格納し、
前記第1の複製圧縮伸張情報を用いて、前記第1の通信先から受信したデータを圧縮又は伸張し、
前記圧縮されたデータ又は前記伸張されたデータを送信し、
前記第1の通信先から受信したデータの圧縮結果又は伸張結果に基づいて、前記第1の複製圧縮伸張情報を更新し、
切替条件を満たすか否かを判定し、
前記切替条件を満たさないと判定された場合、前記第1の複製圧縮伸張情報を前記第1の圧縮伸張情報に上書きすることによって、当該第1の圧縮伸張情報を更新し、
前記切替条件を満たすと判定された場合、前記第1の通信先との間の通信に用いる複数の圧縮伸張情報の中から第2の圧縮伸張情報を選択し、前記第1の通信先を特定する情報及び前記第2の圧縮伸張情報を対応付けることによって、前記第1の通信先との間の通信に使用する圧縮伸張情報を切り替えることを特徴とする通信装置。
A communication device comprising a processor, a main storage device connected to the processor, and a network interface connected to the processor, and transferring data transmitted and received between a plurality of computers,
The main storage device
Stores multiple compression / decompression information for compressing or decompressing data for each communication destination,
Including a temporary area for storing duplicate compression / decompression information, which is a copy of the compression / decompression information used for communication with an arbitrary communication destination ,
The communication device includes a compression / decompression unit that compresses or decompresses received data using the compression / decompression information,
The compression / decompression unit
Manage the information identifying the communication destination and the identification information of the compression / decompression information to be used ,
When data is received from the first communication destination, the first information associated with the information specifying the first communication destination is selected from among a plurality of compression / decompression information used for communication with the first communication destination . 1 compression / decompression information is specified, and first copy compression / decompression information that is a copy of the first compression / decompression information is stored in the temporary area,
Using the first copy compression / decompression information , compress or decompress the data received from the first communication destination ,
Sending the compressed data or the decompressed data;
Updating the first copy compression / decompression information based on the compression result or decompression result of the data received from the first communication destination;
Determines whether satisfies the switching condition,
When it is determined that the switching condition is not satisfied, the first compression / decompression information is updated by overwriting the first compression / decompression information on the first compression / decompression information,
When it is determined that the switching condition is satisfied, second compression / decompression information is selected from a plurality of compression / decompression information used for communication with the first communication destination, and the first communication destination is specified. The communication apparatus switches the compression / decompression information used for communication with the first communication destination by associating the information to be performed with the second compression / decompression information .
請求項1に記載の通信装置であって、
前記圧縮伸張部は、
前記第1の複製圧縮伸張情報を用いたデータの圧縮率を算出し、当該圧縮率に基づいて前記第1の圧縮伸張情報を用いて圧縮されたデータのサイズを評価する指標を算出し、
前記第1の圧縮伸張情報のサイズが第1の閾値以上、かつ、前記指標が第2の閾値以下であるか否かを判定し、
前記第1の圧縮伸張情報のサイズが第1の閾値以上、かつ、前記指標が第2の閾値以下である場合、前記切替条件を満たすと判定することを特徴とする通信装置。
The communication device according to claim 1,
The compression / decompression unit
Calculating a compression rate of data using the first copy compression / decompression information , calculating an index for evaluating a size of data compressed using the first compression / decompression information based on the compression rate;
Determining whether the size of the first compression / decompression information is equal to or larger than a first threshold and the index is equal to or smaller than a second threshold ;
A communication apparatus , wherein when the size of the first compression / decompression information is equal to or larger than a first threshold and the index is equal to or smaller than a second threshold, it is determined that the switching condition is satisfied .
請求項2に記載の通信装置であって、  The communication device according to claim 2,
前記圧縮伸張部は、  The compression / decompression unit
前記切替条件を満たすと判定された場合、前記主記憶装置に格納され、かつ、前記第1の通信先との間の通信に用いる複数の圧縮伸張情報の各々を用いて圧縮されたデータの圧縮率を算出して、当該圧縮率が第3の閾値より大きい圧縮伸張情報を前記第2の圧縮伸張情報として選択することを特徴とする通信装置。  When it is determined that the switching condition is satisfied, compression of data stored in the main storage device and compressed using each of a plurality of compression / decompression information used for communication with the first communication destination A communication apparatus that calculates a rate and selects compression / decompression information with the compression rate larger than a third threshold as the second compression / decompression information.
請求項3に記載の通信装置であって、  The communication device according to claim 3,
前記圧縮伸張部は、  The compression / decompression unit
前記算出された圧縮率が第3の閾値より大きい圧縮伸張情報が存在しない場合、新たに第3の圧縮伸張情報を生成し、  If there is no compression / decompression information for which the calculated compression rate is greater than a third threshold, new third compression / decompression information is generated,
前記第1の通信先を特定する情報、及び前記第3の圧縮伸張情報の識別情報を対応付けることを特徴とする通信装置。  A communication apparatus, characterized in that information for specifying the first communication destination is associated with identification information for the third compression / decompression information.
請求項1に記載の通信装置であって、  The communication device according to claim 1,
前記圧縮伸張部は、  The compression / decompression unit
前記通信先を特定する情報、前記通信先との間の通信に用いる複数の圧縮伸張情報の識別情報、及び前記通信先との間の通信に用いる複数の圧縮伸張情報にアクセスした時間を示すアクセス時間を対応付けて管理し、  Access indicating information for specifying the communication destination, identification information of a plurality of compression / decompression information used for communication with the communication destination, and time when accessing a plurality of compression / decompression information used for communication with the communication destination Manage time in association,
前記第1の通信先との間の通信において、前記第1の通信先に対応付けられた複数の圧縮伸張情報の中から前記アクセス時間が最も古い圧縮伸張情報を選択し、当該圧縮伸張情報を前記主記憶装置から削除し、  In communication with the first communication destination, the compression / decompression information with the oldest access time is selected from the plurality of compression / decompression information associated with the first communication destination, and the compression / decompression information is selected. Deleting from the main storage,
前記複数の通信先の各々に含まれる他の通信装置に、前記削除された圧縮伸張情報に関する情報を通知することを特徴とする通信装置。  A communication apparatus that notifies the communication apparatus included in each of the plurality of communication destinations of information regarding the deleted compression / decompression information.
プロセッサ、前記プロセッサに接続される主記憶装置、及び前記プロセッサに接続されるネットワークインタフェースを備え、複数の計算機間で送受信されるデータを転送する通信装置におけるデータ転送制御方法であって、  A data transfer control method in a communication device that includes a processor, a main storage device connected to the processor, and a network interface connected to the processor, and transfers data transmitted and received between a plurality of computers,
前記主記憶装置は、  The main storage device
通信先毎に、データを圧縮又は伸張するための圧縮伸張情報を複数格納し、  Stores multiple compression / decompression information for compressing or decompressing data for each communication destination,
任意の通信先との間の通信に用いる圧縮伸張情報の複製である複製圧縮伸張情報を格納する一時領域を含み、  Including a temporary area for storing duplicate compression / decompression information, which is a copy of the compression / decompression information used for communication with an arbitrary communication destination,
前記通信装置は、前記圧縮伸張情報を用いて、受信したデータを圧縮又は伸張する圧縮伸張部を備え、  The communication device includes a compression / decompression unit that compresses or decompresses received data using the compression / decompression information,
前記圧縮伸張部は、通信先を特定する情報及び使用する圧縮伸張情報の識別情報を対応付けて管理し、  The compression / decompression unit manages information specifying a communication destination and identification information of compression / decompression information to be used in association with each other,
前記データ転送制御方法は、  The data transfer control method includes:
前記圧縮伸張部が、第1の通信先からデータを受信した場合、前記第1の通信先との間の通信に用いる複数の圧縮伸張情報の中から、前記第1の通信先を特定する情報と対応付けられた第1の圧縮伸張情報を特定して、前記第1の圧縮伸張情報の複製である第1の複製圧縮伸張情報を前記一時領域に格納する第1のステップと、  When the compression / decompression unit receives data from the first communication destination, information for specifying the first communication destination from among a plurality of compression / decompression information used for communication with the first communication destination A first step of specifying the first compression / decompression information associated with the first compression / decompression information, which is a copy of the first compression / decompression information, in the temporary area;
前記圧縮伸張部が、前記第1の複製圧縮伸張情報を用いて、前記第1の通信先から受信したデータを圧縮又は伸張する第2のステップと、  A second step in which the compression / decompression unit compresses or decompresses data received from the first communication destination using the first copy compression / decompression information;
前記圧縮伸張部が、前記圧縮されたデータ又は前記伸張されたデータを送信する第3のステップと、  A third step in which the compression / decompression unit transmits the compressed data or the decompressed data;
前記圧縮伸張部が、前記第1の通信先から受信したデータの圧縮結果又は伸張結果に基づいて、前記第1の複製圧縮伸張情報を更新する第4のステップと、  A fourth step in which the compression / decompression unit updates the first copy compression / decompression information based on a compression result or a decompression result of data received from the first communication destination;
前記圧縮伸張部が、切替条件を満たすか否かを判定する第5のステップと、  A fifth step of determining whether or not the compression / decompression unit satisfies a switching condition;
前記圧縮伸張部が、前記切替条件を満たさないと判定された場合、前記第1の複製圧縮伸張情報を前記第1の圧縮伸張情報に上書きすることによって、当該第1の圧縮伸張情報を更新する第6のステップと、  When the compression / decompression unit determines that the switching condition is not satisfied, the first compression / decompression information is updated by overwriting the first compression / decompression information on the first compression / decompression information. A sixth step;
前記圧縮伸張部が、前記切替条件を満たすと判定された場合、前記第1の通信先との間の通信に用いる複数の圧縮伸張情報の中から第2の圧縮伸張情報を選択し、前記第1の通信先を特定する情報及び前記第2の圧縮伸張情報を対応付けることによって、前記第1の通信先との間の通信に使用する圧縮伸張情報を切り替える第7のステップと、  When it is determined that the compression / decompression unit satisfies the switching condition, second compression / decompression information is selected from a plurality of compression / decompression information used for communication with the first communication destination, and the first A seventh step of switching compression / decompression information used for communication with the first communication destination by associating information specifying one communication destination with the second compression / decompression information;
を含むことを特徴とするデータ転送制御方法。  A data transfer control method comprising:
請求項6に記載のデータ転送制御方法であって、  The data transfer control method according to claim 6,
前記第5のステップは、  The fifth step includes
前記圧縮伸張部が、前記第1の複製圧縮伸張情報を用いたデータの圧縮率を算出し、当該圧縮率に基づいて前記第1の圧縮伸張情報を用いて圧縮されたデータのサイズを評価する指標を算出するステップと、  The compression / decompression unit calculates a compression rate of data using the first copy compression / decompression information, and evaluates a size of data compressed using the first compression / decompression information based on the compression rate. Calculating a metric,
前記圧縮伸張部が、前記第1の圧縮伸張情報のサイズが第1の閾値以上、かつ、前記指標が第2の閾値以下であるか否かを判定するステップと、  The compression / decompression unit determines whether the size of the first compression / decompression information is equal to or greater than a first threshold and the index is equal to or smaller than a second threshold;
前記第1の圧縮伸張情報のサイズが第1の閾値以上、かつ、前記指標が第2の閾値以下である場合、前記圧縮伸張部が、前記切替条件を満たすと判定するステップと、を含むことを特徴とするデータ転送制御方法。  Determining that the compression / decompression unit satisfies the switching condition when the size of the first compression / decompression information is equal to or larger than a first threshold and the index is equal to or smaller than a second threshold. A data transfer control method characterized by the above.
請求項7に記載のデータ転送制御方法であって、  The data transfer control method according to claim 7,
前記第7のステップは、前記圧縮伸張部が、前記主記憶装置に格納され、かつ、前記第1の通信先との間の通信に用いる複数の圧縮伸張情報の各々を用いて圧縮されたデータの圧縮率を算出して、当該圧縮率が第3の閾値より大きい圧縮伸張情報を前記第2の圧縮伸張情報として選択するステップを含むことを特徴とするデータ転送制御方法。  In the seventh step, the compression / decompression unit stores data stored in the main storage device and compressed using each of a plurality of compression / decompression information used for communication with the first communication destination. And a step of selecting the compression / decompression information with the compression ratio larger than a third threshold as the second compression / decompression information.
請求項8に記載のデータ転送制御方法であって、  The data transfer control method according to claim 8, wherein
前記第7のステップは、  The seventh step includes
前記算出された圧縮率が第3の閾値より大きい圧縮伸張情報が存在しない場合、前記圧縮伸張部が、新たに第3の圧縮伸張情報を生成するステップと、  When there is no compression / decompression information for which the calculated compression ratio is greater than a third threshold, the compression / decompression unit newly generates third compression / decompression information; and
前記圧縮伸張部が、前記第1の通信先を特定する情報及び前記第3の圧縮伸張情報の識別情報を対応付けるステップと、を含むことを特徴とするデータ転送制御方法。  A data transfer control method comprising: a step in which the compression / decompression unit associates information specifying the first communication destination with identification information of the third compression / decompression information.
請求項6に記載のデータ転送制御方法であって、  The data transfer control method according to claim 6,
前記圧縮伸張部が、前記通信先を特定する情報、前記通信先との間の通信に用いる複数の圧縮伸張情報の識別情報、及び前記通信先との間の通信に用いる複数の圧縮伸張情報にアクセスした時間を示すアクセス時間を対応付けて管理するステップと、  The compression / decompression unit includes information identifying the communication destination, identification information of a plurality of compression / decompression information used for communication with the communication destination, and a plurality of compression / decompression information used for communication with the communication destination. Associating and managing access times indicating access times;
前記圧縮伸張部が、前記第1の通信先との間の通信において、前記第1の通信先に対応付けられた複数の圧縮伸張情報の中から前記アクセス時間が最も古い圧縮伸張情報を選択し、当該圧縮伸張情報を前記主記憶装置から削除するステップと、  In the communication with the first communication destination, the compression / decompression unit selects the compression / decompression information with the oldest access time from among a plurality of compression / decompression information associated with the first communication destination. Deleting the compression / decompression information from the main storage device;
前記圧縮伸張部が、前記複数の通信先の各々に含まれる他の通信装置に、前記削除された圧縮伸張情報に関する情報を通知するステップと、を含むことを特徴とするデータ転送制御方法。  A data transfer control method comprising: a step in which the compression / decompression unit notifies another communication device included in each of the plurality of communication destinations of information regarding the deleted compression / decompression information.
JP2013174543A 2013-08-26 2013-08-26 Communication apparatus and data transfer control method Expired - Fee Related JP6257221B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013174543A JP6257221B2 (en) 2013-08-26 2013-08-26 Communication apparatus and data transfer control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013174543A JP6257221B2 (en) 2013-08-26 2013-08-26 Communication apparatus and data transfer control method

Publications (3)

Publication Number Publication Date
JP2015043502A JP2015043502A (en) 2015-03-05
JP2015043502A5 JP2015043502A5 (en) 2016-08-25
JP6257221B2 true JP6257221B2 (en) 2018-01-10

Family

ID=52696848

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013174543A Expired - Fee Related JP6257221B2 (en) 2013-08-26 2013-08-26 Communication apparatus and data transfer control method

Country Status (1)

Country Link
JP (1) JP6257221B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116566396A (en) * 2022-01-28 2023-08-08 华为云计算技术有限公司 Data compression method, device, storage medium, device cluster and program product

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3008635B2 (en) * 1992-02-13 2000-02-14 松下電器産業株式会社 Data communication device
JP3231105B2 (en) * 1992-11-30 2001-11-19 富士通株式会社 Data encoding method and data restoration method
JP2000332832A (en) * 1999-05-17 2000-11-30 Matsushita Electric Ind Co Ltd Internet telephone gateway device
JP2002229886A (en) * 2001-02-01 2002-08-16 Hitachi Ltd Data transmission / reception method
JP2005204138A (en) * 2004-01-16 2005-07-28 Sony Corp Data communication system, data transmission terminal, data reception terminal, program
JP2005333430A (en) * 2004-05-20 2005-12-02 Victor Co Of Japan Ltd Two-way communication device
JP4405419B2 (en) * 2005-03-31 2010-01-27 株式会社東芝 Screen transmitter
JP2009100149A (en) * 2007-10-16 2009-05-07 Brother Ind Ltd Data file compression apparatus and data file compression method
JP5032419B2 (en) * 2008-08-27 2012-09-26 株式会社東芝 Server, screen transmission method and computer program

Also Published As

Publication number Publication date
JP2015043502A (en) 2015-03-05

Similar Documents

Publication Publication Date Title
JP5566888B2 (en) Optimized data stream compression using data-dependent chunking
CN110268394B (en) Methods, systems and machine-readable storage media for storing and operating key-value data
CN102684827B (en) Data processing method and data processing equipment
US9753937B2 (en) File aware block level deduplication
CN107948334B (en) Data processing method based on distributed memory system
CN103870514B (en) Data de-duplication method and device
TW201837720A (en) Stream selection for multi-stream storage devices
US10459642B2 (en) Method and device for data replication
US10637969B2 (en) Data transmission method and data transmission device
TW201841123A (en) Merge tree modifications for maintenance operations
WO2015058633A1 (en) Efficient one-pass cache-aware compression
US20150326248A1 (en) Deflate compression algorithm
US10339124B2 (en) Data fingerprint strengthening
CN107046812A (en) A kind of data save method and device
CN104123102B (en) A kind of IP hard disks and its data processing method
EP4154406B1 (en) Compression/decompression using index correlating uncompressed/compressed content
CN103152430A (en) Cloud storage method for reducing data-occupied space
US10423596B2 (en) Efficient caching of Huffman dictionaries
CN105917304A (en) Apparatus and method for data de-duplication
EP3195481B1 (en) Adaptive rate compression hash processing device
JP6257221B2 (en) Communication apparatus and data transfer control method
Vestergaard et al. Enabling random access in universal compressors
CN107688439A (en) Deflate-based generation method and device of unassociated compressed block
JPH10261969A (en) Data compression method and apparatus
CN110226153A (en) Garbage collection system and process

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160707

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160707

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170314

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170425

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170612

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: 20171121

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20171205

R150 Certificate of patent or registration of utility model

Ref document number: 6257221

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees