JP6257221B2 - Communication apparatus and data transfer control method - Google Patents
Communication apparatus and data transfer control method Download PDFInfo
- 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
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
図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
ここで辞書とは、データ列中に現れるアルファベットの並びと、それに対する見出しとの対を集めたものを指す。さらにデータ列中に現れるアルファベットの並びのことを単語という。 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
図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
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,
特許文献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.
非特許文献4に記載された技術では、IPパケット毎にしか圧縮を行えない。IPパケットのサイズは通信路のMTU(Maximum Transmission Unit)以下であり、一般にインターネット環境では1500Byteである。したがって、ペイロードはそれ以下のサイズであるため、非特許文献1に記載の手法では圧縮率があがらず、通信量の削減効果が低い。
In the technique described in Non-Patent
特許文献1に記載された技術は、単純な演算ではセグメントが既知であるか否かの判定できない。また、持続セグメント・ストアを大容量化することによって通信量削減効果を高めることができるが、持続セグメント・ストアには一般に容量単価の安いHDD(Hard Disk Drive)が用いられるため、データの検索時のI/O速度(HDDのランダムアクセス速度は、100〜200Mbps程度)が通信路のI/O速度(例えば、1Gbps)より低いという問題がある。そのため、特許文献1に記載された技術では、通信量の削減効果を高めることは可能であるが、十分に広い通信帯域を扱うネットワークでは通信速度が低速化するという問題がある。
The technique described in
すなわち情報を圧縮して通信するコンピュータシステムの課題は、情報の高圧縮率及び通信速度の高速化を両立させることである。 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.
以下、実施例を図面を用いて説明する。 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
本実施例では、クライアント装置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
クライアント装置A101及びクライアント装置B102は、広域網104を介して、サーバ103との間でデータの送受信を行う。本発明は、送受信されるデータの種別、及び内容等に限定されない。なお、クライアント装置A101、クライアント装置B102、及びサーバ103は、一般的な計算機であって、CPU(図示省略)、メモリ(図示省略)、及びネットワークインタフェース(図示省略)等のハードウェアを備える。
The
圧縮伸張装置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
CPU201は、主記憶装置202に格納されるプログラムを実行する。CPU201がプログラムを実行することによって、圧縮伸張装置A111が備える機能を実現することができる。
The
主記憶装置202は、CPU201によって実行されるプログラム及び当該プログラムの実行に必要な情報を格納する。また、主記憶装置202は、プログラムが一時的にデータを格納するワークエリアを提供する。主記憶装置202は、例えば、DIMM等のメモリ等が考えられる。
The
本実施例では、主記憶装置202には、圧縮伸張モジュール221、通信先−辞書対応情報222、及び辞書管理情報223が格納される。圧縮伸張モジュール221は、圧縮伸張モジュールプログラム231によって実現されるプログラムモジュールである。通信先−辞書対応情報222の詳細については図3A及び図3Bを用いて後述し、また、辞書管理情報223の詳細については図4を用いて後述する。
In this embodiment, the
CPU201は、圧縮伸張装置A111の起動時に、圧縮伸張モジュールプログラム231を二次記憶装置203から読み出し、主記憶装置202上に当該圧縮伸張モジュールプログラム231を展開する。さらに、CPU201は、展開された圧縮伸張モジュールプログラム231を実行することによって圧縮伸張モジュール221を実現する。圧縮伸張モジュール221は、後述する通信先−辞書対応情報222及び辞書管理情報223を主記憶装置202上に展開する。
The
二次記憶装置203は、プログラム及び情報を格納する。二次記憶装置203は、例えば、HDD又はSDD等が考えられる。本実施例では、二次記憶装置203には、圧縮伸張モジュールプログラム231が格納される。
The
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
ここで、圧縮伸張モジュール221について説明する。
Here, the compression /
圧縮伸張モジュール221は、所定の圧縮方式に基づいて、データを圧縮し、また圧縮されたデータを伸張する。本実施例では、LZ78及びLZ78から派生したLZWのような辞書式圧縮方式に基づいて、圧縮処理及び伸張処理が実行されるものとする。
The compression /
本実施例の圧縮伸張モジュール221は、通信先−辞書対応情報222及び辞書管理情報223に基づいて、NIC1(204)から受信したIPパケットのペイロードを圧縮し、NIC2(205)から圧縮されたペイロードを含むIPパケットを通信先の装置に転送する。また、圧縮伸張モジュール221は、通信先−辞書対応情報222及び辞書管理情報223に基づいて、NIC2(205)から受信したIPパケットのペイロードを伸張し、NIC1(204)から伸張されたペイロードを含むIPパケットを通信先の装置に転送する。
The compression /
なお、本発明は、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 /
図3A及び図3Bは、本発明の実施例1における通信先−辞書対応情報222の一例を示す説明図である。図3Aは圧縮伸張装置C131が保持する通信先−辞書対応情報222を示し、図3Bは圧縮伸張装置A111が保持する通信先−辞書対応情報222を示す。
3A and 3B are explanatory diagrams illustrating an example of the communication destination-
通信先−辞書対応情報222は、通信先の装置のIPアドレスの範囲と、通信先の装置との間の通信に用いる辞書との対応関係を示す情報を保持する。具体的には、通信先−辞書対応情報222は、ID301、通信先302、装置ID303、辞書名304、辞書数305、現辞書番号306、圧縮率短期平均307、及び圧縮率長期平均308から構成される。
The communication destination-
ID301は、通信先−辞書対応情報222の各行を識別するための識別番号である。
通信先302は、共通の辞書を用いてデータを圧縮又は伸張するIPアドレスの範囲である。より具体的には、通信先302は、IPパケットの送信先の装置が所属するネットワークを指定するIPアドレスの範囲を示すものである。例えば、広域網140を介して、LAN等の複数のネットワークが接続されるネットワークシステムの場合、通信先302には、当該ネットワークを示すIPアドレスの範囲が格納される。
The
図3Aの行332及び333の通信先302には、IPアドレスの範囲としてサブネットマスクが指定される。また、図3Bの行312の通信先302には、IPアドレスの範囲として個々の装置のIPアドレスが指定される。
A subnet mask is designated as the IP address range for the
なお、通信先302に格納される値の表現形式は、共通の辞書を用いてデータを圧縮又は伸張するIPアドレスの範囲を定義できる表現形式であればどのような表現形式であってもよい。また、通信先302に格納される値は、設定ファイルなどの手段によって管理者が設定することを想定しているが、設定方法はどのようなものであってもよい。例えば、通信時に、圧縮伸張装置が互いを自動的に認識し、圧縮伸張装置間で情報を交換することによって、通信先302の値を設定する方法が考えられる。
It should be noted that the expression format of the value stored in the
装置ID303は、通信先302に対応する装置側に配置される圧縮伸張装置のIDである。装置ID303に格納される値は、圧縮伸張装置の起動後に管理者によって入力されることを想定しているが、設定方法はどのようなものであってもよい。例えば、通信時に、圧縮伸張装置が互いを自動的に認識し、圧縮伸張装置間で情報を交換することによって、装置ID303の値を設定する方法が考えられる。
The
辞書名304は、通信先302に対応する装置との間の通信において使用される辞書の名前である。辞書名304の値は、圧縮伸張モジュール221によって決定される。
The
辞書数305は、辞書名304に対応する辞書名で定義された辞書の総数である。本実施例では、一つの辞書名に対し、一つ以上の辞書が生成される。
The number of
現辞書番号306は、辞書名304に対応する辞書のうち、現在使用している辞書の番号である。
The
圧縮率短期平均307は、通信先302に対応する装置との間の通信におけるデータの圧縮率の、直近短期間の移動平均を表す。
The compression rate short-
平均を取る期間の長さは、ユーザ定義の値として設定ファイルなどの手段によって管理者が設定することを想定しているが、メーカー定義の値として適当な値を予め装置に設定してもよい。また、期間の表し方として、ここでは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-
平均を取る期間の長さは、ユーザ定義の値として設定ファイルなどの手段によって管理者が与えることを想定しているが、メーカー定義の値として適当な値を予め装置に設定してもよい。また、期間の表し方として、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-
ここで、行332及び行312は、圧縮伸張装置C131及び圧縮伸張装置A111の間の通信に関する行である。ペアとなっている圧縮伸張装置は、同一の複数の辞書を保持し、同一の辞書を用いてIPパケットを圧縮又は伸張する。したがって、行333及び行312の辞書数305、現辞書番号306、圧縮率短期平均307、及び圧縮率長期平均308の値は同一のものとなる。
Here,
図4は、本発明の実施例1における辞書管理情報223の一例を示す説明図である。図4は、圧縮伸張装置C131が保持する辞書管理情報223を示す。
FIG. 4 is an explanatory diagram illustrating an example of the
辞書管理情報223は、圧縮伸張装置が保持する辞書のデータを管理する情報である。具体的には、辞書管理情報223は、ID401、辞書名402、辞書番号403、及び辞書データ404から構成される。
The
ID401は、辞書管理情報223の各行を識別するための識別番号である。
辞書名402は、通信先−辞書対応情報222の辞書名304と同一のものである。
The
辞書番号403は、辞書名402に対応する辞書名で定義された辞書のうち、現在使用されている辞書の識別番号である。
The
本実施例では、辞書名304に対応する辞書名で定義される辞書には、辞書数305の数だけに識別番号が付与される。そのため、辞書番号403には、現在使用される辞書の識別番号が格納される。例えば、辞書数305が「5」の場合、辞書名304に対応する辞書名で定義される辞書は五つ存在し、それぞれの辞書には「1」から「5」までの番号が付与される。
In the present embodiment, an identification number is assigned only to the number of
辞書データ404は、辞書名402及び辞書番号403に対応する辞書の辞書データである。本実施例では、辞書データ404には、圧縮伸張モジュール221が操作する内部表現のデータが格納されているものとする。なお、本発明はこれに限定されず、辞書データ404には、図14に示すような表形式の辞書データが格納されてもよい。また、辞書管理情報223とは別に辞書データが管理されている場合、辞書データ404には、当該辞書データにアクセスするためのポインタを格納してもよい。
The
なお、辞書管理情報223は高速化のため主記憶装置202上に格納する。そのため、個々の辞書データ404のサイズに上限を設ける。辞書データ404のサイズの上限は設定ファイルなどを用いて管理者によって設定される値であり、例えば「4MB」が設定される。前述した辞書データ404のサイズの上限は一例であって、「4MB」より大きい値、又は小さい値であってもよい。なお、辞書データ404のサイズの上限は、圧縮伸張モジュールプログラム231に予め埋め込む等、その他の手段を用いて設定されてもよい。
The
圧縮伸張装置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-
圧縮伸張モジュール221は、通信先−辞書対応情報222及び辞書管理情報223を用いて、通信先の装置との通信に使用する辞書を一意に取得することができる。例えば、サーバ103がクライアント装置A101に対してIPパケットを送信する場合、圧縮伸張装置C131の圧縮伸張モジュール221は、以下の手順にしたがって辞書を取得する。
Using the communication destination-
圧縮伸張モジュール221は、IPパケットのIPヘッダから通信先の装置(クライアント装置A101)のIPアドレスを取得する。ここでは、IPアドレス「192.168.1.101」が取得される。
The compression /
次に、圧縮伸張モジュール221は、通信先−辞書対応情報222から、IPパケットから取得されたIPアドレスが通信先302に含まれる行を取得する。ここでは、行332が取得される。
Next, the compression /
次に、圧縮伸張モジュール221は、取得された行332の辞書名304及び現辞書番号306の値を取得する。ここでは、辞書名として「辞書A」、現辞書番号として「5」が取得される。
Next, the compression /
次に、圧縮伸張モジュール221は、辞書管理情報223を参照し、辞書名402及び辞書番号403が、行332の辞書名304及び現辞書番号306から取得された値と一致する行を検索する。さらに、圧縮伸張モジュール221は、検索された行の辞書データ404から辞書データを取得する。ここでは、行4405が検索される。
Next, the compression /
次に、圧縮伸張モジュール221が実行する処理の詳細について説明する。
Next, details of processing executed by the compression /
図5A及び図5Bは、本発明の実施例1における圧縮伸張モジュール221がIPパケットを受信した場合に実行するIPパケットの転送処理を説明するフローチャートである。
5A and 5B are flowcharts for explaining IP packet transfer processing executed when the compression /
図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 /
まず、圧縮伸張モジュール221は、受信したIPパケットのIPヘッダから宛先IPアドレス(Destination IP Address)を取得する(ステップS512)。
First, the compression /
次に、圧縮伸張モジュール221は、通信先−辞書対応情報222から、通信先302にステップS512において取得された宛先IPアドレスが含まれる行を検索し、さらに、当該行の辞書名304及び現辞書番号306の値を取得する(ステップS513)。
Next, the compression /
圧縮伸張モジュール221は、辞書管理情報223を参照し、辞書名402及び辞書番号403が、ステップS513において取得された辞書名304及び現辞書番号306の値と一致する行を検索し、さらに、当該行の辞書データ404に格納される辞書データを取得して一時領域に格納する(ステップS514)。
The compression /
圧縮伸張モジュール221は、一時領域に格納される辞書データを用いて、受信したIPパケットのペイロードを圧縮する(ステップS515)。このとき、圧縮伸張モジュール221は、送信される通信内容に基づいて、一時領域に格納される辞書データに新しい単語を追加する。また、圧縮伸張モジュール221は、IPパケットの短期の圧縮率及び長期の圧縮率を算出する。
The compression /
なお、新たな単語が検出されない場合、辞書データには新たな単語は追加されない。また、新たに単語を追加することによって辞書のサイズが辞書データ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
圧縮伸張モジュール221は、圧縮されたペイロードを含むIPパケットをNIC2(205)から、宛先IPアドレスに対応する装置に送信する(ステップS516)。
The compression /
その後、圧縮伸張モジュール221は、辞書管理情報223の更新処理を実行し(ステップS517)、処理を終了する。
Thereafter, the compression /
なお、辞書管理情報223の更新処理の詳細は、図8を用いて後述するが、ステップS515において更新された辞書データは、辞書管理情報223の更新処理において一時領域から辞書管理情報223に書き戻される。
The details of the update process of the
次に、図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 /
まず、圧縮伸張モジュール221は、受信したIPパケットのIPヘッダから送信元IPアドレス(Source IP Address)を取得する(ステップS522)。
First, the compression /
次に、圧縮伸張モジュール221は、ステップS513と同様に、通信先−辞書対応情報222から、通信先302にステップS522において取得された送信元IPアドレスが含まれる行を検索し、さらに、当該行の辞書名304及び現辞書番号306の値を取得する(ステップS523)。
Next, as in step S513, the compression /
圧縮伸張モジュール221は、ステップS514と同様に、辞書管理情報223を参照し、辞書名402及び辞書番号403が、ステップS523において取得された辞書名304及び現辞書番号306の値と一致する行を検索し、さらに、当該行から辞書データ404に格納される辞書データを取得して一時領域に格納する(ステップS524)。
Similar to step S514, the compression /
圧縮伸張モジュール221は、一時領域に格納される辞書データを用いてIPパケットのペイロードを伸張する(ステップS525)。このとき、圧縮伸張モジュール221は、送信される通信内容に基づいて、一時領域に格納される辞書データに新しい単語を追加する。また、圧縮伸張モジュール221は、IPパケットの短期の圧縮率及び長期の圧縮率を算出する。なお、新たな単語が検出されない場合、辞書データには新たな単語は追加されない。
The compression /
圧縮伸張モジュール221は、伸張されたペイロードを含むIPパケットをNIC1(204)から、宛先IPアドレスに対応する装置に送信する(ステップS526)。
The compression /
その後、圧縮伸張モジュール221は、辞書管理情報223の更新処理を実行し(ステップS527)、処理を終了する。
Thereafter, the compression /
なお、辞書管理情報223の更新処理の詳細は、図8を用いて後述するが、ステップS525において更新された辞書データは、辞書管理情報223の更新処理において一時領域から辞書管理情報223に書き戻される。
Details of the updating process of the
図6は、本発明の実施例1における圧縮伸張モジュール221が実行する辞書管理情報223の更新処理を説明するフローチャートである。
FIG. 6 is a flowchart illustrating the
圧縮伸張モジュール221は、辞書管理情報223の更新処理を開始すると(ステップS601)、サイズ要件が成立し、かつ、圧縮率要件が成立するか否かを判定する。(ステップS602)。ここで、ステップS602の判定処理について説明する。
When the compression /
サイズ要件は、辞書のサイズが第一の閾値以上であることとする。本実施例では、辞書のサイズは、辞書に登録される単語数を想定しているが、辞書のバイト数を用いてもよい。 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 /
また、圧縮率要件は、圧縮率の短期平均及び圧縮率の長期平均の比率(圧縮率の長期平均に対する圧縮率の短期平均の比率)が第二の閾値以下であることとする。すなわち、圧縮率要件は、現在の辞書を用いた圧縮後のデータ又は現在の辞書を用いて伸張される前のデータが十分小さいサイズに圧縮されたデータであるか否かを判定するものである。なお、圧縮率の短期平均及び圧縮率の長期平均は、通信先−辞書対応情報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
第二の閾値は、設定ファイルなどを用いて管理者によって設定される値であり、例えば、比率として「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 /
ステップ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 /
サイズ要件は成立するが、圧縮率要件が成立しない場合、現在の通信内容に対して適切な辞書が使用されていることを示す。 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 /
具体的には、圧縮伸張モジュール221は、ステップS515又はステップS525において新たに単語が追加された最新の辞書データを、ステップS514又はステップS524において辞書管理情報223から検索された行の辞書データ404に格納する。
Specifically, the compression /
圧縮伸張モジュール221は、通信先−辞書対応情報222の圧縮率短期平均307を更新し(ステップS612)、また、通信先−辞書対応情報222の圧縮率長期平均308を更新し(ステップS613)、処理を終了する。具体的には、以下のような処理が実行される。
The compression /
圧縮伸張モジュール221は、ステップS513又はステップS523において、通信先−辞書対応情報222から取得された行の圧縮率短期平均307に、ステップS515又はステップS525において算出されたIPパケットの短期の圧縮率を格納する。
In step S513 or step S523, the compression /
また、圧縮伸張モジュール221は、ステップS513又はステップS523において、通信先−辞書対応情報222から取得された行の圧縮率長期平均308に、ステップS515又はステップS525において算出されたIPパケットの長期の圧縮率を格納する。
In addition, the compression /
以上がステップ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 /
具体的には、圧縮伸張モジュール221は、辞書管理情報223から辞書名402の値がステップS513又はステップS523において取得された辞書名に一致し、かつ辞書番号403の値がステップS513又はステップS523において取得された現辞書番号とは異なる行を全て抽出する。さらに、圧縮伸張モジュール221は、抽出された行の辞書データ404から辞書データを取得し、一時領域に取得された辞書データを格納する。
Specifically, the compression /
圧縮伸張モジュール221は、ステップS621において取得された辞書データを用いて、IPパケットのペイロードの圧縮率を算出する(ステップS622)。
The compression /
具体的には、圧縮伸張モジュール221は、取得された辞書データを用いて、ステップS511において受信したIPパケット又はステップS526において送信されたIPパケットのペイロードを圧縮する。これによって、圧縮伸張モジュール221は、当該IPパケットのペイロードの圧縮率を算出できる。
Specifically, the compression /
圧縮伸張モジュール221は、他の辞書データを用いたペイロードの圧縮率が、現在使用している辞書を用いたペイロードの圧縮率長期平均より高い辞書データが存在するか否かを判定する(ステップS623)。すなわち、他の辞書を用いた圧縮後のデータが十分小さいサイズに圧縮されたデータであるか否かが判定される。
The compression /
具体的には、圧縮伸張モジュール221は、ステップS622において算出されたペイロードの圧縮率と、ステップS513又はステップS523において取得された行の圧縮率長期平均308の値とを比較し、算出されたペイロードの圧縮率が圧縮率長期平均308の値より大きいか否かを判定する。
Specifically, the compression /
他の辞書データを用いたペイロードの圧縮率が、現在使用している辞書を用いたペイロードの圧縮率長期平均より高い辞書データが存在しないと判定された場合、圧縮伸張モジュール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 /
このとき、圧縮伸張モジュール221は、追加された行のID401に任意の値を設定し、辞書名402にステップS513又はステップS523において取得された辞書名を設定し、辞書番号403にステップS513又はステップS523において取得された行の辞書数305の値に「1」を加算した値を設定する。なお、追加された行の辞書データ404は空の辞書データとする。
At this time, the compression /
圧縮伸張モジュール221は、通信先−辞書対応情報222の辞書数305及び現辞書番号306を更新し(ステップS632)、さらに、圧縮率短期平均307を「0%」に更新し(ステップS633)、その後、ステップS613に進む。
The compression /
具体的には、圧縮伸張モジュール221は、ステップS513又はステップS523において取得された行の辞書数305の値に「1」を加算する。また、圧縮伸張モジュール221は、当該行の現辞書番号306の値に、更新された辞書数305の値を格納する。
Specifically, the compression /
ステップ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 /
具体的には、圧縮伸張モジュール221は、ステップS513又はステップS523において取得された行の現辞書番号306の値を、現在使用している辞書を用いたペイロードの圧縮率長期平均より大きい圧縮率の辞書データの番号に更新する。また、圧縮伸張モジュール221は、当該行の圧縮率短期平均307の値を、ステップS515又はステップS525において算出されたIPパケットの圧縮率に更新する。
Specifically, the compression /
なお、ステップ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 /
なお、実施例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
実施例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
CPU201は、圧縮伸張装置A111の起動時に、辞書エントロピー圧縮伸張モジュールプログラム731を二次記憶装置203から読み出し、主記憶装置202上に展開する。さらに、CPU201は、展開された辞書エントロピー圧縮伸張モジュールプログラム731を実行することによって辞書エントロピー圧縮伸張モジュール721を実現する。辞書エントロピー圧縮伸張モジュール721は、後述する通信先−辞書頻度表対応情報722及び辞書頻度表管理情報723を主記憶装置202上に展開する。
The
辞書エントロピー圧縮伸張モジュール721は、後述する通信先−辞書頻度表対応情報722及び辞書頻度表管理情報723に基づいて、NIC1(204)から受信したIPパケットのペイロードを圧縮し、NIC2(205)から圧縮されたペイロードを含むIPパケットを通信先の装置に転送する。また、圧縮伸張モジュール221は、通信先−辞書頻度表対応情報722及び辞書頻度表管理情報723に基づいて、NIC2(205)から受信したIPパケットのペイロードを伸張し、NIC1(204)から伸張されたペイロードを含むIPパケットを通信先の装置に転送する。
The dictionary entropy compression /
図8は、本発明の実施例2における通信先−辞書頻度表対応情報722の一例を示す説明図である。図8は圧縮伸張装置C131が保持する通信先−辞書頻度表対応情報722を示す。
FIG. 8 is an explanatory diagram illustrating an example of the communication destination-dictionary frequency
通信先−辞書頻度表対応情報722は、実施例1の通信先−辞書対応情報222を、通信先の装置と、辞書及び頻度表との対応を管理するように変更したものである。具体的には、通信先−辞書対応情報222の辞書名304、辞書数305、及び現辞書番号306が、辞書頻度表名804、辞書頻度表数805、及び現辞書頻度表番号806に変更される。その他の情報列は実施例1と同一のものである。
The communication destination-dictionary frequency
なお、実施例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
図9は、本発明の実施例2における辞書頻度表管理情報723の一例を示す説明図である。図9は、圧縮伸張装置C131が保持する辞書頻度表管理情報723を示す。
FIG. 9 is an explanatory diagram illustrating an example of the dictionary frequency
辞書頻度表管理情報723は、頻度表を管理するために、実施例1の辞書管理情報223に頻度表データ905が追加された構造になっている。
The dictionary frequency
また、辞書頻度表管理情報723では、実施例1の辞書管理情報223の辞書名402、及び辞書番号403が辞書頻度表名902及び辞書頻度表番号903に変更される。その他の情報列は実施例1と同一のものである。
In the dictionary frequency
圧縮伸張装置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
辞書エントロピー圧縮伸張モジュール721は、通信先−辞書頻度表対応情報722及び辞書頻度表管理情報723を用いて、通信先の装置との通信に使用する辞書及び頻度表を一意に取得することができる。例えば、サーバ103がクライアント装置A101に対してIPパケットを送信する場合、圧縮伸張装置C131の辞書エントロピー圧縮伸張モジュール721は、以下の手順にしたがって辞書データ及び頻度表データを取得する。
The dictionary entropy compression /
辞書エントロピー圧縮伸張モジュール721は、IPパケットのIPヘッダから通信先の装置(クライアント装置A101)のIPアドレスを取得する。ここでは、IPアドレス「192.168.1.101」が取得される。
The dictionary entropy compression /
次に、辞書エントロピー圧縮伸張モジュール721は、通信先‐辞書頻度表対応情報722から、取得されたIPアドレスが通信先302に含まれる行を取得する。ここでは、行832が取得される。
Next, the dictionary entropy compression /
次に、辞書エントロピー圧縮伸張モジュール721は、取得された行832の辞書頻度表名804及び現辞書頻度表番号806の値を取得する。ここでは、辞書頻度表名として「辞書頻度表A」、現辞書頻度表番号として「5」が取得される。
Next, the dictionary entropy compression /
次に、辞書エントロピー圧縮伸張モジュール721は、辞書頻度表管理情報723を参照し、辞書頻度表名902及び辞書頻度表番号903が、行832から取得された辞書頻度表名804及び現辞書頻度表番号806の値と一致する行を検索する。ここでは、行9405が検索される。
Next, the dictionary entropy compression /
さらに、辞書エントロピー圧縮伸張モジュール721は、検索された行9405の辞書データ404及び頻度表データ905から辞書データ及び頻度表データを取得する。
Further, the dictionary entropy compression /
次に、辞書エントロピー圧縮伸張モジュール721が実行する処理の詳細について説明する。
Next, details of processing executed by the dictionary entropy compression /
図10A及び図10Bは、本発明の実施例2における辞書エントロピー圧縮伸張モジュール721がIPパケットを受信した場合に実行するIPパケットの転送処理を説明するフローチャートである。
FIGS. 10A and 10B are flowcharts illustrating IP packet transfer processing executed when the dictionary entropy compression /
図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 /
辞書エントロピー圧縮伸張モジュール721は、NIC1(204)からIPパケットを受信すると(ステップS511)、当該IPパケットのIPヘッダから宛先IPアドレス(Destination IP Address)を取得する(ステップS512)。
When the dictionary entropy compression /
次に、辞書エントロピー圧縮伸張モジュール721は、通信先−辞書頻度表対応情報722から、通信先302にステップS512において取得された宛先IPアドレスが含まれる行を検索し、さらに、当該行の辞書頻度表名804と現辞書頻度表番号806の値を取得する(ステップS1013)。
Next, the dictionary entropy compression /
辞書エントロピー圧縮伸張モジュール721は、辞書頻度表管理情報723を参照し、辞書頻度表名902及び辞書頻度表番号903が、ステップS1013において取得された辞書頻度表名804及び現辞書頻度表番号806の値と一致する行を検索し、さらに、当該行から辞書データ404及び頻度表データ905に格納される辞書データ及び頻度表データを取得して一時領域に格納する(ステップS1014)。
The dictionary entropy compression /
辞書エントロピー圧縮伸張モジュール721は、一時領域に格納される辞書データ及び頻度表データを用いて、受信したIPパケットのペイロードを圧縮する(ステップS1015)。このとき、辞書エントロピー圧縮伸張モジュール721は、送信される通信内容に基づいて、一時領域に格納される辞書データに新しい単語が追加し、また頻度表データの出現頻度を更新する。また、辞書エントロピー圧縮伸張モジュール721は、IPパケットの短期の圧縮率及び長期の圧縮率を算出する。なお、新たな単語が検出されない場合、辞書データには新たな単語は追加されない。
The dictionary entropy compression /
辞書エントロピー圧縮伸張モジュール721は、圧縮されたペイロードを含むIPパケットをNIC2(205)から、宛先IPアドレスに対応する装置に送信する(ステップS516)。
The dictionary entropy compression /
その後、辞書エントロピー圧縮伸張モジュール721は、辞書頻度表管理情報723の更新処理を実行し(ステップS1017)、処理を終了する。
Thereafter, the dictionary entropy compression /
なお、辞書頻度表管理情報723の更新処理の詳細は図11を用いて後述するが、ステップS1015において更新された辞書データ及び頻度表データは、辞書頻度表管理情報723の更新処理において一時領域から辞書頻度表管理情報723に書き戻される。
Details of the updating process of the dictionary frequency
次に、図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 /
次に、辞書エントロピー圧縮伸張モジュール721は、ステップS513と同様に、通信先−辞書頻度表対応情報722から、通信先302にステップS522において取得された送信元IPアドレスが含まれる行を検索し、さらに、当該行の辞書頻度表名804及び現辞書頻度表番号806の値を取得する(ステップS1023)。
Next, as in step S513, the dictionary entropy compression /
辞書エントロピー圧縮伸張モジュール721は、ステップS1014と同様に、辞書頻度表管理情報723を参照し、辞書頻度表名902及び辞書頻度表番号903が、ステップS1023において取得された辞書頻度表名804及び現辞書頻度表番号806の値と一致する行を検索し、さらに、当該行から辞書データ404及び頻度表データ905に格納される辞書データ及び頻度表データを取得して一時領域に格納する(ステップS1024)。
Similar to step S1014, the dictionary entropy compression /
辞書エントロピー圧縮伸張モジュール721は、ステップS1015と同様に、一時領域に格納される辞書データ及び頻度表データを用いて、受信したIPパケットのペイロードを伸張する(ステップS1025)。このとき、辞書エントロピー圧縮伸張モジュール721は、送信される通信内容に基づいて、一時領域に格納される辞書データに新しい単語を追加し、頻度表データの出現頻度を更新する。また、辞書エントロピー圧縮伸張モジュール721は、IPパケットの短期の圧縮率及び長期の圧縮率を算出する。なお、新たな単語が検出されない場合、辞書データには新たな単語は追加されない。
Similar to step S1015, the dictionary entropy compression /
辞書エントロピー圧縮伸張モジュール721は、伸張されたペイロードを含むIPパケットをNIC1(204)から、宛先IPアドレスに対応する装置に送信する(ステップS526)。
The dictionary entropy compression /
その後、辞書エントロピー圧縮伸張モジュール721は、辞書頻度表管理情報723の更新処理を実行し(ステップS1027)、処理を終了する。
Thereafter, the dictionary entropy compression /
なお、辞書頻度表管理情報723の更新処理は、図11を用いて後述するが、ステップS1025において更新された辞書データ及び頻度表データは、辞書頻度表管理情報723の更新処理において一時領域から辞書頻度表管理情報723に書き戻される。
Note that the updating process of the dictionary frequency
図11は、本発明の実施例2における辞書エントロピー圧縮伸張モジュール721が実行する辞書頻度表管理情報723の更新処理を説明するフローチャートである。
FIG. 11 is a flowchart for explaining the updating process of the dictionary frequency
なお、辞書エントロピー圧縮伸張モジュール721が実行する辞書頻度表管理情報723の更新処理は、圧縮伸張モジュール221が実行する辞書管理情報223の更新処理と基本的には同一の手順となるため、以下の説明では差異を中心に説明する。
The update process of the dictionary frequency
辞書エントロピー圧縮伸張モジュール721は、辞書頻度表管理情報723の更新処理を開始すると(ステップS1101)、サイズ要件が成立し、かつ、圧縮率要件が成立するか否かを判定する(ステップS602)。
When the dictionary entropy compression /
サイズ要件又は圧縮率要件の少なくともいずれかが成立していないと判定された場合、辞書エントロピー圧縮伸張モジュール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 /
具体的には、辞書エントロピー圧縮伸張モジュール721は、ステップS1015又はステップS1025において新たに単語が追加された辞書データ及び頻度が更新された頻度表データを、ステップS1014又はステップS1024において辞書頻度表管理情報723から検索された行の辞書データ404及び頻度表データ905に格納する。
Specifically, the dictionary entropy compression /
辞書エントロピー圧縮伸張モジュール721は、通信先−辞書頻度表対応情報722の圧縮率短期平均307を更新し(ステップS1112)、また、通信先−辞書頻度表対応情報722の圧縮率長期平均308を更新し(ステップS1113)、処理を終了する。具体的には、以下のような処理が実行される。
The dictionary entropy compression /
辞書エントロピー圧縮伸張モジュール721は、ステップS1013又はステップS1023において、通信先−辞書頻度表対応情報722から取得された行の圧縮率短期平均307に、ステップS1015又はステップS1025において算出されたIPパケットの短期の圧縮率を格納する。
In step S1013 or step S1023, the dictionary entropy compression /
また、辞書エントロピー圧縮伸張モジュール721は、ステップS1013又はステップS1023において、通信先−辞書頻度表対応情報722から取得された行の圧縮率長期平均308に、ステップS1015又はステップS1025において算出されたIPパケットの長期の圧縮率を格納する。
In addition, the dictionary entropy compression /
以上がステップ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 /
具体的には、辞書エントロピー圧縮伸張モジュール721は、辞書頻度表管理情報723から辞書頻度表名902の値がステップS1013又はステップS1023において取得された辞書頻度表名に一致し、かつ、辞書頻度表番号903の値がステップS1013又はステップS1023において取得された現辞書頻度表番号とは異なる行を全て抽出する。さらに、辞書エントロピー圧縮伸張モジュール721は、抽出された行の辞書データ404及び頻度表データ905から辞書データ及び頻度表データを取得し、一時領域に格納する。
Specifically, the dictionary entropy compression /
辞書エントロピー圧縮伸張モジュール721は、ステップS1121において取得された辞書データ及び頻度表データを用いて、IPパケットのペイロードの圧縮率を算出する(ステップS1122)。
The dictionary entropy compression /
具体的には、辞書エントロピー圧縮伸張モジュール721は、取得された辞書データ及び頻度表データを用いて、ステップS511において受信したIPパケット又はステップS526において送信されたIPパケットのペイロードを圧縮する。これによって、辞書エントロピー圧縮伸張モジュール721は、当該IPパケットのペイロードの圧縮率を算出できる。
Specifically, the dictionary entropy compression /
辞書エントロピー圧縮伸張モジュール721は、ステップS1121において取得された辞書データ及び頻度表データを用いて圧縮されたペイロードの圧縮率が、現在使用している辞書データ及び頻度表データを用いたペイロードの圧縮率長期平均より高い辞書データ及び頻度表データが存在するか否かを判定する(ステップS1123)。
The dictionary entropy compression /
具体的には、辞書エントロピー圧縮伸張モジュール721は、ステップS1122において算出されたペイロードの圧縮率と、ステップS1013又はステップS1023において取得された行の圧縮率長期平均308の値と比較し、算出されたペイロードの圧縮率が圧縮率長期平均308の値より大きいか否かを判定する。
Specifically, the dictionary entropy compression /
他の辞書データを用いたペイロードの圧縮率が、現在使用している辞書データ及び頻度表データを用いたペイロードの圧縮率長期平均より高い辞書データ及び頻度表データが存在しないと判定された場合、辞書エントロピー圧縮伸張モジュール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 /
このとき、辞書エントロピー圧縮伸張モジュール721は、追加された行のID401に任意の値を格納し、辞書頻度表名902にステップS1013又はステップS1023において取得された辞書頻度表名を格納し、辞書頻度表番号903にステップS1013又はステップS1023において取得された行の辞書頻度表数805の値に「1」を加算した値を格納する。なお、追加された行の辞書データ404には空の辞書データが格納され、頻度表データ905には空の頻度表データが格納される。
At this time, the dictionary entropy compression /
辞書エントロピー圧縮伸張モジュール721は、通信先−辞書頻度表対応情報722の辞書頻度表数805及び現辞書頻度表番号806を更新し(ステップS1132)、さらに、圧縮率短期平均307を「0%」に更新し(ステップS1133)、その後、ステップS1113に進む。
The dictionary entropy compression /
具体的には、辞書エントロピー圧縮伸張モジュール721は、ステップS1013又はステップS1023において取得された行の辞書頻度表数805の値に「1」を加算する。また、辞書エントロピー圧縮伸張モジュール721は、当該行の現辞書頻度表番号806に、更新された辞書頻度表数805の値を格納する。
Specifically, the dictionary entropy compression /
ステップ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 /
具体的には、辞書エントロピー圧縮伸張モジュール721は、ステップS1013又はステップS1023において取得された行の現辞書頻度表番号806の値を、現在使用している辞書データ及び頻度表データを用いたペイロードの圧縮率長期平均より大きい圧縮率の辞書データ及び頻度表データに対応する辞書頻度表番号に更新する。また、辞書エントロピー圧縮伸張モジュール721は、当該行の圧縮率短期平均307の値を、ステップS1015又はステップS1025において算出されたIPパケットの圧縮率に更新する。
Specifically, the dictionary entropy compression /
なお、ステップ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 /
なお、実施例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
実施例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 /
そのため、圧縮伸張モジュール221は、適切なタイミングで、辞書管理情報223の辞書名402に対応する辞書毎に、必要性の低い辞書を削除する。
Therefore, the compression /
なお、辞書を削除するタイミングとしては、例えば、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-
また、本実施例では、非特許文献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
図12は、本発明の実施例3における辞書管理情報223の一例を示す説明図である。図12に示す辞書管理情報223は、前述のようにパラメータkが1のLRU−1に対応したものである。
FIG. 12 is an explanatory diagram illustrating an example of the
実施例3の辞書管理情報223は、新たに、最終アクセス時刻1205の情報列が追加される。最終アクセス時刻1205には、辞書データが更新された時刻を格納する。例えば、ステップS611において辞書データが更新された時刻、ステップS631において、辞書管理情報223に新たな辞書データに対応する行が追加された時刻が格納される。
In the
なお、最終アクセス時刻1205の他に、最終アクセス時刻の一つ前のアクセス時刻を管理する情報列を追加することによって、LRU−2に対応した辞書管理情報223になる。また、最終アクセス時刻1205の代わりに、仮想的にキューを想定し、当該キュー内での順序を表す番号を管理する情報列を追加することによってFIFOに対応した辞書管理情報223になる。さらに、仮想的なキューを2本又は3本想定し、それらの中での順序を表す番号を管理する列も2つ又は3つ追加することによって2Qに対応した辞書管理情報223になる。
In addition to the
図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
圧縮伸張モジュール221は、辞書の削除処理を開始すると(ステップS1301)、LRU−1に対応した辞書管理情報223から辞書名402が「a」である行を取得する(ステップS1302)。例えば、「a=辞書A」である行が取得される。
When the compression /
圧縮伸張モジュール221は、取得された行の最終アクセス時刻1205を参照し、最終アクセス時刻1205が最も古い行を辞書管理情報223から削除する(ステップS1303)。ここで、FIFO又は2Q等、LRU−1以外の方式を用いて必要性の低い辞書を特定する場合には、各方式に対応した処理内容に変更される。
The compression /
圧縮伸張モジュール221は、通信先−辞書対応情報222の辞書名304が「a」である行の辞書数305及び現辞書番号306を更新する(ステップS1304)。
The compression /
具体的には、圧縮伸張モジュール221は、辞書名304が「a」である行の辞書数305の値を「1」減算する。当該行の現辞書番号306の値については、削除された辞書が現辞書番号306の値に一致する辞書である場合、現辞書番号306の値が「1」減算され、削除された辞書が現辞書番号306の値に一致しない辞書である場合、現辞書番号306は特に更新されない。
Specifically, the compression /
次に、圧縮伸張モジュール221は、削除された辞書を保持する対向装置を特定する(ステップS1305)。ここで、対向装置とは、削除された辞書を用いて通信を行う送信先の圧縮伸張装置のことを示す。
Next, the compression /
具体的には、圧縮伸張モジュール221は、通信先−辞書対応情報222の辞書名304が「a」である行を参照し、当該行の装置ID303から対向装置の装置IDを取得する。
Specifically, the compression /
圧縮伸張モジュール221は、対向装置に対して、辞書管理情報223から削除された行の情報を含むメッセージを送信する(ステップS1306)。削除された行の情報としては、辞書名402及び辞書番号403がペアとなった(a、辞書番号)のような情報が考えられる。
The compression /
メッセージを受信した対向装置の圧縮伸張モジュール221は、辞書の削除処理を開始する(ステップS1311)。
The compression /
圧縮伸張モジュール221は、LRU−1に対応した辞書管理情報223から、辞書名402及び辞書番号403が、メッセージに含まれる(a、辞書番号)に一致する行を削除する(ステップS1312)。
The compression /
圧縮伸張モジュール221は、通信先−辞書対応情報222の辞書名304が「a」である行の辞書数305及び現辞書番号306を更新する(ステップS1313)。
The compression /
具体的には、圧縮伸張モジュール221は、辞書名304が「a」である行の辞書数305の値を「1」減算する。当該行の現辞書番号306の値については、削除された辞書が現辞書番号306の値に一致する辞書である場合、現辞書番号306の値が「1」減算され、削除された辞書が現辞書番号306の値に一致しない辞書である場合、現辞書番号306は特に更新されない。
Specifically, the compression /
以上で説明したように、実施例3によれば、圧縮伸張モジュール221は、辞書を格納する記憶容量が上限を超えないように、運用中に必要性の低い辞書を削除することによって、記憶容量の上限にあわせた辞書の管理を行うことが可能となる。
As described above, according to the third embodiment, the compression /
各実施例では、ソフトウェアによる制御を用いた例について説明したが、その一部をハードウェアによって実現することも可能である。 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
202
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の閾値以上、かつ、前記指標が第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 .
前記圧縮伸張部は、 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.
前記圧縮伸張部は、 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.
前記圧縮伸張部は、 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.
前記主記憶装置は、 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:
前記第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のステップは、前記圧縮伸張部が、前記主記憶装置に格納され、かつ、前記第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.
前記第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.
前記圧縮伸張部が、前記通信先を特定する情報、前記通信先との間の通信に用いる複数の圧縮伸張情報の識別情報、及び前記通信先との間の通信に用いる複数の圧縮伸張情報にアクセスした時間を示すアクセス時間を対応付けて管理するステップと、 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.
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)
| 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)
| 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 |
-
2013
- 2013-08-26 JP JP2013174543A patent/JP6257221B2/en not_active Expired - Fee Related
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 |